Class PagePermission
- java.lang.Object
-
- java.security.Permission
-
- org.apache.wiki.auth.permissions.PagePermission
-
- All Implemented Interfaces:
java.io.Serializable,java.security.Guard
public final class PagePermission extends java.security.Permission implements java.io.Serializable
Permission to perform an operation on a single page or collection of pages in a given wiki. Permission actions include:
view,edit(edit the text of a wiki page),comment,upload,modify(edit text and upload attachments),deleteandrename.The target of a permission is a single page or collection in a given wiki. The syntax for the target is the wiki name, followed by a colon (:) and the name of the page. "All wikis" can be specified using a wildcard (*). Page collections may also be specified using a wildcard. For pages, the wildcard may be a prefix, suffix, or all by itself. Examples of targets include:
*:*
*:JanneJalkanen
*:Jalkanen
*:Janne*
mywiki:JanneJalkanen
mywiki:*Jalkanen
mywiki:Janne*For a given target, certain permissions imply others:
deleteandrenameimplyeditmodifyimplieseditanduploadeditimpliescommentandviewcommentanduploadimplyview
Targets that do not include a wiki prefix never imply others.
- Since:
- 2.3
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static PagePermissionCOMMENTA static instance of the comment permission.static java.lang.StringCOMMENT_ACTIONAction name for the comment permission.static PagePermissionDELETEA static instance of the delete permission.static java.lang.StringDELETE_ACTIONAction name for the delete permission.static PagePermissionEDITA static instance of the edit permission.static java.lang.StringEDIT_ACTIONAction name for the edit permission.static PagePermissionMODIFYA static instance of the modify permission.static java.lang.StringMODIFY_ACTIONAction name for the modify permission.static PagePermissionRENAMEA static instance of the rename permission.static java.lang.StringRENAME_ACTIONAction name for the rename permission.static PagePermissionUPLOADA static instance of the upload permission.static java.lang.StringUPLOAD_ACTIONAction name for the upload permission.static PagePermissionVIEWA static instance of the view permission.static java.lang.StringVIEW_ACTIONAction name for the view permission.
-
Constructor Summary
Constructors Constructor Description PagePermission(java.lang.String page, java.lang.String actions)Creates a new PagePermission for a specified page name and set of actions.PagePermission(Page page, java.lang.String actions)Creates a new PagePermission for a specified page and set of actions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Two PagePermission objects are considered equal if their actions (after normalization), wiki and target are equal.java.lang.StringgetActions()Returns the actions for this permission: "view", "edit", "comment", "modify", "upload" or "delete".java.lang.StringgetPage()Returns the name of the wiki page represented by this permission.java.lang.StringgetWiki()Returns the name of the wiki containing the page represented by this permission; may return the wildcard string.inthashCode()Returns the hash code for this PagePermission.booleanimplies(java.security.Permission permission)PagePermission can only imply other PagePermissions; no other permission types are implied.java.security.PermissionCollectionnewPermissionCollection()Returns a newAllPermissionCollection.java.lang.StringtoString()Prints a human-readable representation of this permission.
-
-
-
Field Detail
-
COMMENT_ACTION
public static final java.lang.String COMMENT_ACTION
Action name for the comment permission.- See Also:
- Constant Field Values
-
DELETE_ACTION
public static final java.lang.String DELETE_ACTION
Action name for the delete permission.- See Also:
- Constant Field Values
-
EDIT_ACTION
public static final java.lang.String EDIT_ACTION
Action name for the edit permission.- See Also:
- Constant Field Values
-
MODIFY_ACTION
public static final java.lang.String MODIFY_ACTION
Action name for the modify permission.- See Also:
- Constant Field Values
-
RENAME_ACTION
public static final java.lang.String RENAME_ACTION
Action name for the rename permission.- See Also:
- Constant Field Values
-
UPLOAD_ACTION
public static final java.lang.String UPLOAD_ACTION
Action name for the upload permission.- See Also:
- Constant Field Values
-
VIEW_ACTION
public static final java.lang.String VIEW_ACTION
Action name for the view permission.- See Also:
- Constant Field Values
-
COMMENT
public static final PagePermission COMMENT
A static instance of the comment permission.
-
DELETE
public static final PagePermission DELETE
A static instance of the delete permission.
-
EDIT
public static final PagePermission EDIT
A static instance of the edit permission.
-
RENAME
public static final PagePermission RENAME
A static instance of the rename permission.
-
MODIFY
public static final PagePermission MODIFY
A static instance of the modify permission.
-
UPLOAD
public static final PagePermission UPLOAD
A static instance of the upload permission.
-
VIEW
public static final PagePermission VIEW
A static instance of the view permission.
-
-
Constructor Detail
-
PagePermission
public PagePermission(java.lang.String page, java.lang.String actions)
Creates a new PagePermission for a specified page name and set of actions. Page should include a prepended wiki name followed by a colon (:). If the wiki name is not supplied or starts with a colon, the page refers to no wiki in particular, and will never imply any other PagePermission.- Parameters:
page- the wiki pageactions- the allowed actions for this page
-
PagePermission
public PagePermission(Page page, java.lang.String actions)
Creates a new PagePermission for a specified page and set of actions.- Parameters:
page- The wikipage.actions- A set of actions; a comma-separated list of actions.
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj)
Two PagePermission objects are considered equal if their actions (after normalization), wiki and target are equal.- Specified by:
equalsin classjava.security.Permission- Parameters:
obj-- Returns:
-
getActions
public java.lang.String getActions()
Returns the actions for this permission: "view", "edit", "comment", "modify", "upload" or "delete". The actions will always be sorted in alphabetic order, and will always appear in lower case.- Specified by:
getActionsin classjava.security.Permission- Returns:
-
getPage
public java.lang.String getPage()
Returns the name of the wiki page represented by this permission.- Returns:
- the page name
-
getWiki
public java.lang.String getWiki()
Returns the name of the wiki containing the page represented by this permission; may return the wildcard string.- Returns:
- the wiki
-
hashCode
public int hashCode()
Returns the hash code for this PagePermission.- Specified by:
hashCodein classjava.security.Permission- Returns:
-
implies
public boolean implies(java.security.Permission permission)
PagePermission can only imply other PagePermissions; no other permission types are implied. One PagePermission implies another if its actions if three conditions are met:
- The other PagePermission's wiki is equal to, or a subset of, that of this permission. This permission's wiki is considered a superset of the other if it contains a matching prefix plus a wildcard, or a wildcard followed by a matching suffix.
- The other PagePermission's target is equal to, or a subset of, the target specified by this permission. This permission's target is considered a superset of the other if it contains a matching prefix plus a wildcard, or a wildcard followed by a matching suffix.
- All of other PagePermission's actions are equal to, or a subset of, those of this permission
- Specified by:
impliesin classjava.security.Permission- Parameters:
permission-- Returns:
- See Also:
Permission.implies(java.security.Permission)
-
newPermissionCollection
public java.security.PermissionCollection newPermissionCollection()
Returns a newAllPermissionCollection.- Overrides:
newPermissionCollectionin classjava.security.Permission- Returns:
- See Also:
Permission.newPermissionCollection()
-
toString
public java.lang.String toString()
Prints a human-readable representation of this permission.- Overrides:
toStringin classjava.security.Permission- Returns:
- Something human-readable
- See Also:
Object.toString()
-
-