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 an
SNIServerName instance.
Servers can use Server Name Indication (SNI) information to decide if
specific SSLSocket or SSLEngine 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 protectedSNIMatcher(int type)Creates anSNIMatcherusing the specified server name type. -
Method Summary
Modifier and Type Method Description intgetType()Returns the server name type of thisSNIMatcherobject.abstract booleanmatches(SNIServerName serverName)Attempts to match the givenSNIServerName.
-
Constructor Details
-
SNIMatcher
protected SNIMatcher(int type)Creates anSNIMatcherusing the specified server name type.- Parameters:
type- the type of the server name that this matcher performs on- Throws:
IllegalArgumentException- iftypeis not in the range of 0 to 255, inclusive.
-
-
Method Details
-
getType
public final int getType()Returns the server name type of thisSNIMatcherobject.- Returns:
- the server name type of this
SNIMatcherobject. - See Also:
SNIServerName
-
matches
Attempts to match the givenSNIServerName.- Parameters:
serverName- theSNIServerNameinstance on which this matcher performs match operations- Returns:
trueif, and only if, the matcher matches the givenserverName- Throws:
NullPointerException- ifserverNameisnullIllegalArgumentException- ifserverNameis not of the given server name type of this matcher- See Also:
SNIServerName
-