public class Group
extends java.lang.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 GroupPrincipal
s. 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.
Modifier | Constructor and Description |
---|---|
protected |
Group(java.lang.String name,
java.lang.String wiki)
Protected constructor to prevent direct instantiation except by other
package members.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(java.security.Principal user)
Adds a Principal to the group.
|
void |
clear()
Clears all Principals from the group list.
|
boolean |
equals(java.lang.Object o)
Two DefaultGroups are equal if they contain identical member Principals
and have the same name.
|
java.util.Date |
getCreated()
Returns the creation date.
|
java.lang.String |
getCreator()
Returns the creator of this Group.
|
java.util.Date |
getLastModified()
Returns the last-modified date.
|
java.lang.String |
getModifier()
Returns the name of the user who last modified this group.
|
java.lang.String |
getName()
The name of the group.
|
java.security.Principal |
getPrincipal()
Returns the GroupPrincipal that represents this Group.
|
java.lang.String |
getWiki()
Returns the wiki name.
|
int |
hashCode()
The hashcode is calculated as a XOR sum over all members of
the Group.
|
boolean |
isMember(java.security.Principal principal)
Returns
true if a Principal is a member of the group. |
java.security.Principal[] |
members()
Returns the members of the group as an array of Principal objects.
|
boolean |
remove(java.security.Principal user)
Removes a Principal from the group.
|
void |
setCreated(java.util.Date date)
Sets the created date.
|
void |
setCreator(java.lang.String creator)
Sets the creator of this Group.
|
void |
setLastModified(java.util.Date date)
Sets the last-modified date
|
void |
setModifier(java.lang.String modifier)
Sets the name of the user who last modified this group.
|
java.lang.String |
toString()
Returns a string representation of the Group.
|
protected Group(java.lang.String name, java.lang.String wiki)
GroupManager.parseGroup(String, String, boolean)
or
GroupManager.parseGroup(com.ecyrd.jspwiki.WikiContext, boolean)
.
instead.name
- the name of the groupwiki
- the wiki the group belongs topublic boolean add(java.security.Principal user)
user
- the principal to addtrue
if the operation was successfulpublic void clear()
@CheckReturnValue public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
o
- the object to compare@CheckReturnValue public int hashCode()
hashCode
in class java.lang.Object
public java.util.Date getCreated()
public final java.lang.String getCreator()
public java.util.Date getLastModified()
public final java.lang.String getModifier()
public java.lang.String getName()
public java.security.Principal getPrincipal()
public java.lang.String getWiki()
public boolean isMember(java.security.Principal principal)
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.principal
- the principal about whom membeship status is soughtpublic java.security.Principal[] members()
public boolean remove(java.security.Principal user)
user
- the principal to removetrue
if the operation was successfulpublic void setCreated(java.util.Date date)
date
- the creation datepublic final void setCreator(java.lang.String creator)
creator
- the creatorpublic void setLastModified(java.util.Date date)
date
- the last-modified datepublic final void setModifier(java.lang.String modifier)
modifier
- the modifier@CheckReturnValue @Nonnull public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
stSoftware Copyright © 2001-2014 stSoftware All Rights Reserved.