Module java.base
Package java.security

Interface Principal

All Known Subinterfaces:
GroupPrincipal, UserPrincipal
All Known Implementing Classes:
Identity, IdentityScope, JMXPrincipal, KerberosPrincipal, Signer, X500Principal

public interface Principal
This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
Since:
1.1
See Also:
X509Certificate
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(Object another)
    Compares this principal to the specified object.
    String getName()
    Returns the name of this principal.
    int hashCode()
    Returns a hashcode for this principal.
    default boolean implies​(Subject subject)
    Returns true if the specified subject is implied by this principal.
    String toString()
    Returns a string representation of this principal.
  • Method Details

    • equals

      boolean equals​(Object another)
      Compares this principal to the specified object. Returns true if the object passed in matches the principal represented by the implementation of this interface.
      Overrides:
      equals in class Object
      Parameters:
      another - principal to compare with.
      Returns:
      true if the principal passed in is the same as that encapsulated by this principal, and false otherwise.
      See Also:
      Object.hashCode(), HashMap
    • toString

      String toString()
      Returns a string representation of this principal.
      Overrides:
      toString in class Object
      Returns:
      a string representation of this principal.
    • hashCode

      int hashCode()
      Returns a hashcode for this principal.
      Overrides:
      hashCode in class Object
      Returns:
      a hashcode for this principal.
      See Also:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • getName

      String getName()
      Returns the name of this principal.
      Returns:
      the name of this principal.
    • implies

      default boolean implies​(Subject subject)
      Returns true if the specified subject is implied by this principal.
      Implementation Requirements:
      The default implementation of this method returns true if subject is non-null and contains at least one principal that is equal to this principal.

      Subclasses may override this with a different implementation, if necessary.

      Parameters:
      subject - the Subject
      Returns:
      true if subject is non-null and is implied by this principal, or false otherwise.
      Since:
      1.8