public abstract class SNIMatcher extends Object
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.
SNIServerName
,
SNIHostName
,
SSLParameters.getSNIMatchers()
,
SSLParameters.setSNIMatchers(Collection)
Modifier | Constructor and Description |
---|---|
protected |
SNIMatcher(int type)
Creates an
SNIMatcher using the specified server name type. |
Modifier and Type | Method and Description |
---|---|
int |
getType()
Returns the server name type of this
SNIMatcher object. |
abstract boolean |
matches(SNIServerName serverName)
Attempts to match the given
SNIServerName . |
protected SNIMatcher(int type)
SNIMatcher
using the specified server name type.type
- the type of the server name that this matcher performs onIllegalArgumentException
- if type
is not in the range
of 0 to 255, inclusive.public final int getType()
SNIMatcher
object.SNIMatcher
object.SNIServerName
public abstract boolean matches(SNIServerName serverName)
SNIServerName
.serverName
- the SNIServerName
instance on which this matcher
performs match operationstrue
if, and only if, the matcher matches the
given serverName
NullPointerException
- if serverName
is null
IllegalArgumentException
- if serverName
is
not of the given server name type of this matcherSNIServerName
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2021, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.