Package org.apache.wiki.auth.permissions

# Class WikiPermission

java.lang.Object
java.security.Permission
org.apache.wiki.auth.permissions.WikiPermission

All Implemented Interfaces:
  `Serializable`, `Guard`

public final class WikiPermission extends Permission implements 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 final WikiPermission`
`CREATE_GROUPS`
A static instance of the createGroups permission.
`static final String`
`CREATE_GROUPS_ACTION`
Name of the action for createGroups permission.
`static final WikiPermission`
`CREATE_PAGES`
A static instance of the createPages permission.
`static final String`
`CREATE_PAGES_ACTION`
Name of the action for createPages permission.
`static final WikiPermission`
`EDIT_PREFERENCES`
A static instance of the editPreferences permission.
`static final String`
`EDIT_PREFERENCES_ACTION`
Name of the action for editPreferences permission.
`static final WikiPermission`
`EDIT_PROFILE`
A static instance of the editProfile permission.
`static final String`
`EDIT_PROFILE_ACTION`
Name of the action for editProfile permission.
`static final WikiPermission`
`LOGIN`
A static instance of the login permission.
`static final String`
`LOGIN_ACTION`
Name of the action for login permission.
`static final String`
`WILDCARD`
Value for a generic wildcard.

## Constructor Summary

Constructors
Constructor
Description
`WikiPermission(String wiki, String actions)`
Creates a new WikiPermission for a specified set of actions.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Two WikiPermission objects are considered equal if their wikis and actions (after normalization) are equal.
`String`
`getActions()`
Returns the actions for this permission: "createGroups", "createPages", "editPreferences", "editProfile", or "login".
`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.
`boolean`
`implies(Permission permission)`
WikiPermission can only imply other WikiPermissions; no other permission types are implied.
`PermissionCollection`
`newPermissionCollection()`
Returns a new `AllPermissionCollection`.
`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

### CREATE_GROUPS_ACTION

public static final String CREATE_GROUPS_ACTION
Name of the action for createGroups permission.

See Also:
  - Constant Field Values

### CREATE_PAGES_ACTION

public static final String CREATE_PAGES_ACTION
Name of the action for createPages permission.

See Also:
  - Constant Field Values

### LOGIN_ACTION

public static final String LOGIN_ACTION
Name of the action for login permission.

See Also:
  - Constant Field Values

### EDIT_PREFERENCES_ACTION

public static final String EDIT_PREFERENCES_ACTION
Name of the action for editPreferences permission.

See Also:
  - Constant Field Values

### EDIT_PROFILE_ACTION

public static final String EDIT_PROFILE_ACTION
Name of the action for editProfile permission.

See Also:
  - Constant Field Values

### WILDCARD

public static final String WILDCARD
Value for a generic wildcard.

See Also:
  - Constant Field Values

### CREATE_GROUPS

public static final WikiPermission CREATE_GROUPS
A static instance of the createGroups permission.

### CREATE_PAGES

public static final WikiPermission CREATE_PAGES
A static instance of the createPages permission.

### LOGIN

public static final WikiPermission LOGIN
A static instance of the login permission.

### EDIT_PREFERENCES

public static final WikiPermission EDIT_PREFERENCES
A static instance of the editPreferences permission.

### EDIT_PROFILE

public static final WikiPermission EDIT_PROFILE
A static instance of the editProfile permission.

## Constructor Details

### WikiPermission

public WikiPermission(String wiki, 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(Object obj)
Two WikiPermission objects are considered equal if their wikis and actions (after normalization) are equal.

Specified by:
  `equals` in class `Permission`
Parameters:
  `obj` - the object to test
Returns:
  the result
See Also:
  - `Object.equals(java.lang.Object)`

### getActions

public 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 `Permission`
Returns:
  the actions
See Also:
  - `Permission.getActions()`

### getWiki

public 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 `Permission`
Returns:

### implies

public boolean implies(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 `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 PermissionCollection newPermissionCollection()
Returns a new `AllPermissionCollection`.

Overrides:
  `newPermissionCollection` in class `Permission`
Returns:

### toString

public String toString()
Prints a human-readable representation of this permission.

Overrides:
  `toString` in class `Permission`
Returns: