public final class KerberosPrincipal extends Object implements Serializable, Principal
| Modifier and Type | Field and Description |
|---|---|
static int |
KRB_NT_PRINCIPAL
Constant from the RFC: "Just the name of the principal as in DCE, or
for users".
|
static int |
KRB_NT_SRV_HST
Constant from the RFC: "Service and other unique instance (krbtgt)".
|
static int |
KRB_NT_SRV_INST
Constant from the RFC: "Service with host name as instance (telnet,
rcommands)".
|
static int |
KRB_NT_SRV_XHST
Constant from the RFC: "Service with host as remaining components".
|
static int |
KRB_NT_UID
Constant from the RFC: "Unique ID".
|
static int |
KRB_NT_UNKNOWN
Constant from the RFC: "Name type not known".
|
| Constructor and Description |
|---|
KerberosPrincipal(String name)
Create a new instance with the given name and a type of
KRB_NT_PRINCIPAL. |
KerberosPrincipal(String name,
int type)
Create a new instance with the given name and type.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object other)
Determine whether this Object is semantically equal
to another Object.
|
String |
getName()
Return the name of this principal.
|
int |
getNameType()
Return the type of this principal.
|
String |
getRealm()
Return the realm of this principal.
|
int |
hashCode()
Get a value that represents this Object, as uniquely as
possible within the confines of an int.
|
String |
toString()
Convert this Object to a human-readable String.
|
public static final int KRB_NT_PRINCIPAL
public static final int KRB_NT_SRV_HST
public static final int KRB_NT_SRV_INST
public static final int KRB_NT_SRV_XHST
public static final int KRB_NT_UID
public static final int KRB_NT_UNKNOWN
public KerberosPrincipal(String name)
KRB_NT_PRINCIPAL.name - the principal's namepublic KerberosPrincipal(String name, int type) throws NotImplementedException
name - the principal's nametype - the principal's typeNotImplementedExceptionpublic int getNameType()
public int hashCode()
ObjectThere are some requirements on this method which
subclasses must follow:
a.equals(b) is true, then
a.hashCode() == b.hashCode() must be as well.
However, the reverse is not necessarily true, and two
objects may have the same hashcode without being equal.Notice that since hashCode is used in
Hashtable and other hashing classes,
a poor implementation will degrade the performance of hashing
(so don't blindly implement it as returning a constant!). Also,
if calculating the hash is time-consuming, a class may consider
caching the results.
The default implementation returns
System.identityHashCode(this)
hashCode in interface PrincipalhashCode in class ObjectObject.equals(Object),
System.identityHashCode(Object)public boolean equals(Object other)
ObjectThere are some fairly strict requirements on this
method which subclasses must follow:
a.equals(b) and
b.equals(c), then a.equals(c)
must be true as well.a.equals(b) and
b.equals(a) must have the same value.a.equals(a) must
always be true.a.equals(null) must be false.a.equals(b) must imply
a.hashCode() == b.hashCode().
The reverse is not true; two objects that are not
equal may have the same hashcode, but that has
the potential to harm hashing performance.This is typically overridden to throw a ClassCastException
if the argument is not comparable to the class performing
the comparison, but that is not a requirement. It is legal
for a.equals(b) to be true even though
a.getClass() != b.getClass(). Also, it
is typical to never cause a NullPointerException.
In general, the Collections API (java.util) use the
equals method rather than the ==
operator to compare objects. However, IdentityHashMap
is an exception to this rule, for its own good reasons.
The default implementation returns this == o.
equals in interface Principalequals in class Objectother - the Object to compare toObject.hashCode()public String toString()
ObjectSystem.out.println()
and such.
It is typical, but not required, to ensure that this method
never completes abruptly with a RuntimeException.
This method will be called when performing string
concatenation with this object. If the result is
null, string concatenation will instead
use "null".
The default implementation returns
getClass().getName() + "@" +
Integer.toHexString(hashCode()).
toString in interface PrincipaltoString in class ObjectObject.getClass(),
Object.hashCode(),
Class.getName(),
Integer.toHexString(int)