Class Role

  • All Implemented Interfaces:
    java.io.Serializable, java.security.Principal

    public final class Role
    extends java.lang.Object
    implements java.security.Principal, java.io.Serializable
    A lightweight, immutable Principal that represents a built-in wiki role such as Anonymous, Asserted and Authenticated. It can also represent dynamic roles used by an external Authorizer, such as a web container.
    Since:
    2.3
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Role ALL
      All users, regardless of authentication status
      static Role ANONYMOUS
      If the user hasn't supplied a name
      static Role ASSERTED
      If the user has supplied a cookie with a username
      static Role AUTHENTICATED
      If the user has authenticated with the Container or UserDatabase
    • Constructor Summary

      Constructors 
      Constructor Description
      Role​(java.lang.String name)
      Constructs a new Role with a given name.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Two Role objects are considered equal if their names are identical.
      java.lang.String getName()
      Returns the name of the Principal.
      int hashCode()
      Returns a unique hashcode for the Role.
      static boolean isBuiltInRole​(Role role)
      Returns true if a supplied Role is a built-in Role: ALL, ANONYMOUS, ASSERTED, or AUTHENTICATED.
      static boolean isReservedName​(java.lang.String name)
      Returns true if the supplied name is identical to the name of a built-in Role; that is, the value returned by getName() for built-in Roles ALL, ANONYMOUS, ASSERTED, or AUTHENTICATED.
      java.lang.String toString()
      Returns a String representation of the role
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.security.Principal

        implies
    • Field Detail

      • ALL

        public static final Role ALL
        All users, regardless of authentication status
      • ANONYMOUS

        public static final Role ANONYMOUS
        If the user hasn't supplied a name
      • ASSERTED

        public static final Role ASSERTED
        If the user has supplied a cookie with a username
      • AUTHENTICATED

        public static final Role AUTHENTICATED
        If the user has authenticated with the Container or UserDatabase
    • Constructor Detail

      • Role

        public Role​(java.lang.String name)
        Constructs a new Role with a given name.
        Parameters:
        name - the name of the Role
    • Method Detail

      • isReservedName

        public static boolean isReservedName​(java.lang.String name)
        Returns true if the supplied name is identical to the name of a built-in Role; that is, the value returned by getName() for built-in Roles ALL, ANONYMOUS, ASSERTED, or AUTHENTICATED.
        Parameters:
        name - the name to be tested
        Returns:
        true if the name is reserved; false if not
      • hashCode

        public int hashCode()
        Returns a unique hashcode for the Role.
        Specified by:
        hashCode in interface java.security.Principal
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        the hashcode
      • equals

        public boolean equals​(java.lang.Object obj)
        Two Role objects are considered equal if their names are identical.
        Specified by:
        equals in interface java.security.Principal
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object to test
        Returns:
        true if both objects are of type Role and have identical names
        See Also:
        Object.equals(java.lang.Object)
      • getName

        public java.lang.String getName()
        Returns the name of the Principal.
        Specified by:
        getName in interface java.security.Principal
        Returns:
        the name of the Role
      • toString

        public java.lang.String toString()
        Returns a String representation of the role
        Specified by:
        toString in interface java.security.Principal
        Overrides:
        toString in class java.lang.Object
        Returns:
        the string representation of the role
        See Also:
        Object.toString()