Package org.apache.wiki.auth.authorize

## 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
`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
`Role​(java.lang.String name)` Constructs a new Role with a given name.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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

#### 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()`