Class SNIMatcher

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:
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    SNIMatcher(int type)
    Creates an SNIMatcher using the specified server name type.
  • Method Summary

    Modifier and Type
    Method
    Description
    final int
    Returns the server name type of this SNIMatcher object.
    abstract boolean
    matches(SNIServerName serverName)
    Attempts to match the given SNIServerName.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • 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 - if type is not in the range of 0 to 255, inclusive.
  • Method Details

    • 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:
    • matches

      public abstract boolean matches(SNIServerName serverName)
      Attempts to match the given SNIServerName.
      Parameters:
      serverName - the SNIServerName instance on which this matcher performs match operations
      Returns:
      true if, and only if, the matcher matches the given serverName
      Throws:
      NullPointerException - if serverName is null
      IllegalArgumentException - if serverName is not of the given server name type of this matcher
      See Also: