public abstract class SNIServerName extends Object
The SNI extension is a feature that extends the SSL/TLS protocols to indicate what server name the client is attempting to connect to during handshaking. See section 3, "Server Name Indication", of TLS Extensions (RFC 6066).
 SNIServerName objects are immutable.  Subclasses should not provide
 methods that can change the state of an instance once it has been created.
SSLParameters.getServerNames(), 
SSLParameters.setServerNames(List)| Modifier | Constructor | Description | 
|---|---|---|
| protected  | SNIServerName(int type,
             byte[] encoded) | Creates an  SNIServerNameusing the specified name type and
 encoded value. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| boolean | equals(Object other) | Indicates whether some other object is "equal to" this server name. | 
| byte[] | getEncoded() | Returns a copy of the encoded server name value of this server name. | 
| int | getType() | Returns the name type of this server name. | 
| int | hashCode() | Returns a hash code value for this server name. | 
| String | toString() | Returns a string representation of this server name, including the server
 name type and the encoded server name value in this
  SNIServerNameobject. | 
protected SNIServerName(int type,
                        byte[] encoded)
SNIServerName using the specified name type and
 encoded value.
 
 Note that the encoded byte array is cloned to protect against
 subsequent modification.
type - the type of the server nameencoded - the encoded value of the server nameIllegalArgumentException - if type is not in the range
         of 0 to 255, inclusive.NullPointerException - if encoded is nullpublic final int getType()
public final byte[] getEncoded()
public boolean equals(Object other)
equals in class Objectother - the reference object with which to compare.other is of the same class
         of this object, and has the same name type and
         encoded value as this server name.Object.hashCode(), 
HashMappublic int hashCode()
The hash code value is generated using the name type and encoded value of this server name.
hashCode in class ObjectObject.equals(java.lang.Object), 
System.identityHashCode(java.lang.Object)public String toString()
SNIServerName object.
 The exact details of the representation are unspecified and subject to change, but the following may be regarded as typical:
     "type= <name type>, value= <name value>"
 
 In this class, the format of "<name type>" is "[LITERAL] (INTEGER)", where the optional "LITERAL" is the literal name, and INTEGER is the integer value of the name type. The format of "<name value>" is "XX:...:XX", where "XX" is the hexadecimal digit representation of a byte value. For example, a returned value of an pseudo server name may look like:
     "type=(31), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"
 
 or
 
     "type=host_name (0), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"
 
 Please NOTE that the exact details of the representation are unspecified and subject to change, and subclasses may override the method with their own formats.
 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, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.