- java.lang.Object
-
- javax.net.ssl.SNIMatcher
-
public abstract class SNIMatcher extends Object
Instances of this class represent a matcher that performs match operations on anSNIServerName
instance.Servers can use Server Name Indication (SNI) information to decide if specific
SSLSocket
orSSLEngine
instances should accept a connection. For example, when multiple "virtual" or "name-based" servers are hosted on a single underlying network address, the server application can use SNI information to determine whether this server is the exact server that the client wants to access. Instances of this class can be used by a server to verify the acceptable server names of a particular type, such as host names.SNIMatcher
objects are immutable. Subclasses should not provide methods that can change the state of an instance once it has been created.- Since:
- 1.8
- See Also:
SNIServerName
,SNIHostName
,SSLParameters.getSNIMatchers()
,SSLParameters.setSNIMatchers(Collection)
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SNIMatcher(int type)
Creates anSNIMatcher
using the specified server name type.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
getType()
Returns the server name type of thisSNIMatcher
object.abstract boolean
matches(SNIServerName serverName)
Attempts to match the givenSNIServerName
.
-
-
-
Constructor Detail
-
SNIMatcher
protected SNIMatcher(int type)
Creates anSNIMatcher
using the specified server name type.- Parameters:
type
- the type of the server name that this matcher performs on- Throws:
IllegalArgumentException
- iftype
is not in the range of 0 to 255, inclusive.
-
-
Method Detail
-
getType
public final int getType()
Returns the server name type of thisSNIMatcher
object.- Returns:
- the server name type of this
SNIMatcher
object. - See Also:
SNIServerName
-
matches
public abstract boolean matches(SNIServerName serverName)
Attempts to match the givenSNIServerName
.- Parameters:
serverName
- theSNIServerName
instance on which this matcher performs match operations- Returns:
true
if, and only if, the matcher matches the givenserverName
- Throws:
NullPointerException
- ifserverName
isnull
IllegalArgumentException
- ifserverName
is not of the given server name type of this matcher- See Also:
SNIServerName
-
-