org.apache.wiki.auth.authorize
Class Group

java.lang.Object
  extended by org.apache.wiki.auth.authorize.Group

public class Group
extends Object

Groups are a specialized type of ad-hoc role used by the wiki system. Unlike externally-provided roles (such as those provided by an LDAP server or web container), JSPWiki groups can be created dynamically by wiki users, without requiring special container privileges or administrator intervention. They are designed to provide a lightweight role-based access control system that complements existing role systems.

Group names are case-insensitive, and have a few naming restrictions, which are enforced by the GroupManager:

Note: prior to JSPWiki 2.4.19, Group was an interface; it is now a concrete, final class.

Groups are related to GroupPrincipals. A GroupPrincipal, when injected into the Principal set of a WikiSession's Subject, means that the user is a member of a Group of the same name -- it is, in essence, an "authorization token." GroupPrincipals, unlike Groups, are thread-safe, lightweight and immutable. That's why we use them in Subjects rather than the Groups themselves.

Since:
2.3

Constructor Summary
protected Group(String name, String wiki)
          Protected constructor to prevent direct instantiation except by other package members.
 
Method Summary
 boolean add(Principal user)
          Adds a Principal to the group.
 void clear()
          Clears all Principals from the group list.
 boolean equals(Object o)
          Two DefaultGroups are equal if they contain identical member Principals and have the same name.
 Date getCreated()
          Returns the creation date.
 String getCreator()
          Returns the creator of this Group.
 Date getLastModified()
          Returns the last-modified date.
 String getModifier()
          Returns the name of the user who last modified this group.
 String getName()
          The name of the group.
 Principal getPrincipal()
          Returns the GroupPrincipal that represents this Group.
 String getWiki()
          Returns the wiki name.
 int hashCode()
          The hashcode is calculated as a XOR sum over all members of the Group.
 boolean isMember(Principal principal)
          Returns true if a Principal is a member of the group.
 Principal[] members()
          Returns the members of the group as an array of Principal objects.
 boolean remove(Principal user)
          Removes a Principal from the group.
 void setCreated(Date date)
          Sets the created date.
 void setCreator(String creator)
          Sets the creator of this Group.
 void setLastModified(Date date)
          Sets the last-modified date
 void setModifier(String modifier)
          Sets the name of the user who last modified this group.
 String toString()
          Returns a string representation of the Group.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Group

protected Group(String name,
                String wiki)
Protected constructor to prevent direct instantiation except by other package members. Callers should use GroupManager.parseGroup(String, String, boolean) or GroupManager.parseGroup(org.apache.wiki.WikiContext, boolean). instead.

Parameters:
name - the name of the group
wiki - the wiki the group belongs to
Method Detail

add

public boolean add(Principal user)
Adds a Principal to the group.

Parameters:
user - the principal to add
Returns:
true if the operation was successful

clear

public void clear()
Clears all Principals from the group list.


equals

public boolean equals(Object o)
Two DefaultGroups are equal if they contain identical member Principals and have the same name.

Overrides:
equals in class Object
Parameters:
o - the object to compare
Returns:
the comparison

hashCode

public int hashCode()
The hashcode is calculated as a XOR sum over all members of the Group.

Overrides:
hashCode in class Object
Returns:
the hash code

getCreated

public Date getCreated()
Returns the creation date.

Returns:
the creation date

getCreator

public final String getCreator()
Returns the creator of this Group.

Returns:
the creator

getLastModified

public Date getLastModified()
Returns the last-modified date.

Returns:
the date and time of last modification

getModifier

public final String getModifier()
Returns the name of the user who last modified this group.

Returns:
the modifier

getName

public String getName()
The name of the group. This is set in the class constructor.

Returns:
the name of the Group

getPrincipal

public Principal getPrincipal()
Returns the GroupPrincipal that represents this Group.

Returns:
the group principal

getWiki

public String getWiki()
Returns the wiki name.

Returns:
the wiki name

isMember

public boolean isMember(Principal principal)
Returns true if a Principal is a member of the group. Specifically, the Principal's getName() method must return the same value as one of the Principals in the group member list. The Principal's type does not need to match.

Parameters:
principal - the principal about whom membeship status is sought
Returns:
the result of the operation

members

public Principal[] members()
Returns the members of the group as an array of Principal objects.

Returns:
the members

remove

public boolean remove(Principal user)
Removes a Principal from the group.

Parameters:
user - the principal to remove
Returns:
true if the operation was successful

setCreated

public void setCreated(Date date)
Sets the created date.

Parameters:
date - the creation date

setCreator

public final void setCreator(String creator)
Sets the creator of this Group.

Parameters:
creator - the creator

setLastModified

public void setLastModified(Date date)
Sets the last-modified date

Parameters:
date - the last-modified date

setModifier

public final void setModifier(String modifier)
Sets the name of the user who last modified this group.

Parameters:
modifier - the modifier

toString

public String toString()
Returns a string representation of the Group.

Overrides:
toString in class Object
Returns:
the string
See Also:
Object.toString()


Copyright © {inceptionYear}-2014 The Apache Software Foundation. All rights reserved.