Module java.base
Package java.security

Interface Principal

All Known Subinterfaces:
GroupPrincipal, UserPrincipal
All Known Implementing Classes:
HttpPrincipal, Identity, IdentityScope, JMXPrincipal, KerberosPrincipal, LdapPrincipal, NTDomainPrincipal, NTSid, NTSidDomainPrincipal, NTSidGroupPrincipal, NTSidPrimaryGroupPrincipal, NTSidUserPrincipal, NTUserPrincipal, Signer, UnixNumericGroupPrincipal, UnixNumericUserPrincipal, UnixPrincipal, UserPrincipal, 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:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals(Object another)
    Compares this Principal to the specified object.
    Returns the name of this Principal.
    int
    Returns a hashcode for this Principal.
    default boolean
    implies(Subject subject)
    Returns true if the specified subject is implied by this Principal.
    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:
    • 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:
    • 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