Class WikiPermission

java.lang.Object
java.security.Permission
org.apache.wiki.auth.permissions.WikiPermission
All Implemented Interfaces:
java.io.Serializable, java.security.Guard

public final class WikiPermission
extends java.security.Permission
implements java.io.Serializable

Permission to perform an global wiki operation, such as self-registering or creating new pages. Permission actions include: createGroups, createPages, editPreferences, editProfile and login.

The target is a given wiki. The syntax for the target is the wiki name. "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.

Certain permissions imply others. Currently, createGroups implies createPages.

Since:
2.3
See Also:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    static WikiPermission CREATE_GROUPS
    A static instance of the createGroups permission.
    static java.lang.String CREATE_GROUPS_ACTION
    Name of the action for createGroups permission.
    protected static int CREATE_GROUPS_MASK  
    static WikiPermission CREATE_PAGES
    A static instance of the createPages permission.
    static java.lang.String CREATE_PAGES_ACTION
    Name of the action for createPages permission.
    protected static int CREATE_PAGES_MASK  
    static WikiPermission EDIT_PREFERENCES
    A static instance of the editPreferences permission.
    static java.lang.String EDIT_PREFERENCES_ACTION
    Name of the action for editPreferences permission.
    protected static int EDIT_PREFERENCES_MASK  
    static WikiPermission EDIT_PROFILE
    A static instance of the editProfile permission.
    static java.lang.String EDIT_PROFILE_ACTION
    Name of the action for editProfile permission.
    protected static int EDIT_PROFILE_MASK  
    static WikiPermission LOGIN
    A static instance of the login permission.
    static java.lang.String LOGIN_ACTION
    Name of the action for login permission.
    protected static int LOGIN_MASK  
    static java.lang.String WILDCARD
    Value for a generic wildcard.
  • Constructor Summary

    Constructors
    Constructor Description
    WikiPermission​(java.lang.String wiki, java.lang.String actions)
    Creates a new WikiPermission for a specified set of actions.
  • Method Summary

    Modifier and Type Method Description
    protected static int createMask​(java.lang.String actions)
    Private method that creates a binary mask based on the actions specified.
    boolean equals​(java.lang.Object obj)
    Two WikiPermission objects are considered equal if their wikis and actions (after normalization) are equal.
    java.lang.String getActions()
    Returns the actions for this permission: "createGroups", "createPages", "editPreferences", "editProfile", or "login".
    java.lang.String getWiki()
    Returns the name of the wiki containing the page represented by this permission; may return the wildcard string.
    int hashCode()
    Returns the hash code for this WikiPermission.
    protected static int impliedMask​(int mask)
    Creates an "implied mask" based on the actions originally assigned: for example, createGroups implies createPages.
    boolean implies​(java.security.Permission permission)
    WikiPermission can only imply other WikiPermissions; no other permission types are implied.
    java.security.PermissionCollection newPermissionCollection()
    java.lang.String toString()
    Prints a human-readable representation of this permission.

    Methods inherited from class java.security.Permission

    checkGuard, getName

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • WikiPermission

      public WikiPermission​(java.lang.String wiki, java.lang.String actions)
      Creates a new WikiPermission for a specified set of actions.
      Parameters:
      actions - the actions for this permission
      wiki - The name of the wiki the permission belongs to.
  • Method Details

    • equals

      public boolean equals​(java.lang.Object obj)
      Two WikiPermission objects are considered equal if their wikis and actions (after normalization) are equal.
      Specified by:
      equals in class java.security.Permission
      Parameters:
      obj - the object to test
      Returns:
      the result
      See Also:
      Object.equals(java.lang.Object)
    • getActions

      public java.lang.String getActions()
      Returns the actions for this permission: "createGroups", "createPages", "editPreferences", "editProfile", or "login". The actions will always be sorted in alphabetic order, and will always appear in lower case.
      Specified by:
      getActions in class java.security.Permission
      Returns:
      the actions
      See Also:
      Permission.getActions()
    • 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 WikiPermission.
      Specified by:
      hashCode in class java.security.Permission
      Returns:
    • implies

      public boolean implies​(java.security.Permission permission)
      WikiPermission can only imply other WikiPermissions; no other permission types are implied. One WikiPermission implies another if all of the other WikiPermission's actions are equal to, or a subset of, those for this permission.
      Specified by:
      implies in class java.security.Permission
      Parameters:
      permission - the permission which may (or may not) be implied by this instance
      Returns:
      true if the permission is implied, false otherwise
      See Also:
      Permission.implies(java.security.Permission)
    • newPermissionCollection

      public java.security.PermissionCollection newPermissionCollection()
      Overrides:
      newPermissionCollection in class java.security.Permission
      Returns:
    • toString

      public java.lang.String toString()
      Prints a human-readable representation of this permission.
      Overrides:
      toString in class java.security.Permission
      Returns:
    • impliedMask

      protected static int impliedMask​(int mask)
      Creates an "implied mask" based on the actions originally assigned: for example, createGroups implies createPages.
      Parameters:
      mask - the initial mask
      Returns:
      the implied mask
    • createMask

      protected static int createMask​(java.lang.String actions)
      Private method that creates a binary mask based on the actions specified. This is used by implies(Permission).
      Parameters:
      actions - the permission actions, separated by commas
      Returns:
      binary mask representing the permissions