SNIMatcher (Java SE 9 & JDK 9 ) (original) (raw)
- 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 protected SNIMatcher(int type) Creates an SNIMatcher 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 this SNIMatcher object. abstract boolean matches(SNIServerName serverName) Attempts to match the given SNIServerName. * ### Methods inherited from class java.lang.[Object](../../../java/lang/Object.html "class in java.lang") `[clone](../../../java/lang/Object.html#clone--), [equals](../../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../../java/lang/Object.html#finalize--), [getClass](../../../java/lang/Object.html#getClass--), [hashCode](../../../java/lang/Object.html#hashCode--), [notify](../../../java/lang/Object.html#notify--), [notifyAll](../../../java/lang/Object.html#notifyAll--), [toString](../../../java/lang/Object.html#toString--), [wait](../../../java/lang/Object.html#wait--), [wait](../../../java/lang/Object.html#wait-long-), [wait](../../../java/lang/Object.html#wait-long-int-)`
Constructor Detail
* #### SNIMatcher protected SNIMatcher(int type) Creates an `SNIMatcher` using the specified server name type. Parameters: `type` \- the type of the server name that this matcher performs on Throws: `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if `type` is not in the range of 0 to 255, inclusive.
Method Detail
* #### getType public final int getType() Returns the server name type of this `SNIMatcher` object. Returns: the server name type of this `SNIMatcher` object. See Also: [SNIServerName](../../../javax/net/ssl/SNIServerName.html "class in javax.net.ssl") * #### matches public abstract boolean matches([SNIServerName](../../../javax/net/ssl/SNIServerName.html "class in javax.net.ssl") serverName) Parameters: `serverName` \- the [SNIServerName](../../../javax/net/ssl/SNIServerName.html "class in javax.net.ssl") instance on which this matcher performs match operations Returns: `true` if, and only if, the matcher matches the given `serverName` Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if `serverName` is `null` `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if `serverName` is not of the given server name type of this matcher See Also: [SNIServerName](../../../javax/net/ssl/SNIServerName.html "class in javax.net.ssl")
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2017, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.