Package org.apache.wiki.auth

## Class GroupPrincipal

- java.lang.Object
- - org.apache.wiki.auth.GroupPrincipal

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

    public final class GroupPrincipal
    extends java.lang.Object
    implements java.security.Principal, java.io.Serializable

Immutable Principal that represents a Group. GroupPrincipals are injected into a Subject's principal list at the time of authentication (login), and serve as proxies for Group objects for the purposes of making Java 2 security policy decisions. We add GroupPrincipals instead of the actual Groups because calling classes should never be able to obtain a mutable object (Group memberships can be changed by callers). Administrators who wish to grant privileges to specific wiki groups via the security policy file should always specify principals of type GroupPrincipal.

Since:
  2.3.79
See Also:
  `Group`, Serialized Form

### Constructor Summary

Constructors
`GroupPrincipal​(java.lang.String group)` Constructs a new GroupPrincipal object with a supplied name.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(java.lang.Object obj)` Two GroupPrincipals are equal if their names are equal.
`java.lang.String` `getName()` Returns the name of the group principal.
`int` `hashCode()` Returns the hashcode for this object.
`java.lang.String` `toString()` Returns a string representation of this object.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.security.Principal

`implies`

### Constructor Detail

#### GroupPrincipal

    public GroupPrincipal​(java.lang.String group)

Constructs a new GroupPrincipal object with a supplied name.

Parameters:
  `group` - the wiki group; cannot be `null`

### Method Detail

#### getName

    public java.lang.String getName()

Returns the name of the group principal.

Specified by:
  `getName` in interface `java.security.Principal`
Returns:
  the name
See Also:
  `Principal.getName()`

#### equals

    public boolean equals​(java.lang.Object obj)

Two GroupPrincipals are equal if their names are equal.

Specified by:
  `equals` in interface `java.security.Principal`
Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `obj` - the object to compare
Returns:
  the result of the equality test
See Also:
  `Object.equals(java.lang.Object)`

#### hashCode

    public int hashCode()

Returns the hashcode for this object.

Specified by:
  `hashCode` in interface `java.security.Principal`
Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  the hash code
See Also:
  `Object.hashCode()`

#### toString

    public java.lang.String toString()

Returns a string representation of this object.

Specified by:
  `toString` in interface `java.security.Principal`
Overrides:
  `toString` in class `java.lang.Object`
Returns:
  the string
See Also:
  `Object.toString()`