Package org.apache.wiki.auth

# Class GroupPrincipal

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

All Implemented Interfaces:
  `Serializable`, `Principal`

public final class GroupPrincipal extends Object implements Principal, 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
Constructor
Description
`GroupPrincipal(String group)`
Constructs a new GroupPrincipal object with a supplied name.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Two GroupPrincipals are equal if their names are equal.
`String`
`getName()`
Returns the name of the group principal.
`int`
`hashCode()`
Returns the hashcode for this object.
`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 Details

### GroupPrincipal

public GroupPrincipal(String group)
Constructs a new GroupPrincipal object with a supplied name.

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

## Method Details

### getName

public String getName()
Returns the name of the group principal.

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

### equals

public boolean equals(Object obj)
Two GroupPrincipals are equal if their names are equal.

Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `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 `Principal`
Overrides:
  `hashCode` in class `Object`
Returns:
  the hash code
See Also:
  - `Object.hashCode()`

### toString

public String toString()
Returns a string representation of this object.

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