Class Role

java.lang.Object
org.apache.wiki.auth.authorize.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
    Modifier Constructor Description
    protected Role()
    Create an empty Role.
      Role​(java.lang.String name)
    Constructs a new Role with a given name.
  • Method Summary

    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 Details

    • 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 Details

    • Role

      protected Role()
      Create an empty Role.
    • Role

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

    • isBuiltInRole

      public static boolean isBuiltInRole​(Role role)
      Returns true if a supplied Role is a built-in Role: ALL, ANONYMOUS, ASSERTED, or AUTHENTICATED.
      Parameters:
      role - the role to check
      Returns:
      the result of the check
    • 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()