org.systinet.security.perm
Class WSStatePermission

java.lang.Object
  extended byjava.security.Permission
      extended byorg.systinet.security.perm.WSManagePermission
          extended byorg.systinet.security.perm.WSStatePermission
All Implemented Interfaces:
java.security.Guard, java.io.Serializable

public final class WSStatePermission
extends WSManagePermission

This class is for service state management permissions.

The name is the name of the service. The name is required, but if you set it to "*", it is handled as a permission all services.

The actions to be granted are passed to the constructor in a string containing a list of zero or more comma-separated keywords. The possible keywords are "disable", "enable", "start", "stop", "get". The action string is optional, if it is not present, all actions are granted. Their meaning is defined as follows:

enable
allows to enable a service
disable
allows to disable a service
get
allows to get service state
start
allows to start a service
stop
allows to stop a service

The actions string is converted to lowercase before processing.

Since:
4.0
See Also:
Serialized Form
Component:
Security-Specific

Field Summary
static int ALL
          All actions (disable, enable, start, stop, get).
static int DISABLE
          Disable action.
static int ENABLE
          Enable action.
static int GET
          Stop action.
static int START
          Start action.
static int STOP
          Stop action.
 
Fields inherited from class org.systinet.security.perm.WSManagePermission
ALL_NAMES, SET
 
Constructor Summary
WSStatePermission(java.lang.String name, int actionMask)
          Creates a new WSStatePermission object with the specified name.
WSStatePermission(java.lang.String name, java.lang.String actions)
          Creates a new WSStatePermission object with the specified name.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Checks two WSStatePermission objects for equality.
 java.lang.String getActions()
          Returns the "canonical string representation" of the actions.
 int hashCode()
          Returns the hash code value for this object.
 boolean implies(java.security.Permission p)
          Checks if this WSStatePermission object "implies" the specified permission.
 java.security.PermissionCollection newPermissionCollection()
          Returns a new PermissionCollection object for storing WSStatePermission objects.
 
Methods inherited from class org.systinet.security.perm.WSManagePermission
toString
 
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 Detail

ENABLE

public static final int ENABLE
Enable action.

See Also:
Constant Field Values

DISABLE

public static final int DISABLE
Disable action.

See Also:
Constant Field Values

GET

public static final int GET
Stop action.

See Also:
Constant Field Values

START

public static final int START
Start action.

See Also:
Constant Field Values

STOP

public static final int STOP
Stop action.

See Also:
Constant Field Values

ALL

public static final int ALL
All actions (disable, enable, start, stop, get).

See Also:
Constant Field Values
Constructor Detail

WSStatePermission

public WSStatePermission(java.lang.String name,
                         java.lang.String actions)
Creates a new WSStatePermission object with the specified name. The name is the name of the service, and actions contains a comma-separated list of the desired actions granted on the service state management. Possible actions are "enable","disable","get","start","stop".

Parameters:
name - the name of the WSStatePermission (name of the service), cannot be null (, but can be WSManagePermission.ALL_NAMES).
actions - the actions string, can be null or empty string , then it means "all actions possible".

WSStatePermission

public WSStatePermission(java.lang.String name,
                         int actionMask)
Creates a new WSStatePermission object with the specified name. The name is the name of the service, and actionsNask is a or-ed flag of public static final int values present herein.

Parameters:
name - the name of the WSStatePermission (name of the service), cannot be null (, but can be WSManagePermission.ALL_NAMES).
actionMask - composed out of
Method Detail

implies

public boolean implies(java.security.Permission p)
Checks if this WSStatePermission object "implies" the specified permission.

More specifically, this method returns true if:

Overrides:
implies in class WSManagePermission
Parameters:
p - the permission to check against.
Returns:
true if the specified permission is implied by this object, false if not.

equals

public boolean equals(java.lang.Object obj)
Checks two WSStatePermission objects for equality. Checks that obj is a WSStatePermission, and has the same name and actions as this object.

Overrides:
equals in class WSManagePermission
Parameters:
obj - the object we are testing for equality with this object.
Returns:
true if obj is a WSStatePermission, and has the same name and actions as this WSStatePermission object.

hashCode

public int hashCode()
Returns the hash code value for this object. The hash code used is the hash code of this permissions name, that is, getName().hashCode(), where getName is from the Permission superclass.

Overrides:
hashCode in class WSManagePermission
Returns:
a hash code value for this object.

getActions

public java.lang.String getActions()
Returns the "canonical string representation" of the actions. That is, this method always returns present actions in the following order: enable, disable, get, start, stop. For example, if this WSStatePermission object allows both stop and disable actions, a call to getActions will return the string "disable,stop".

Overrides:
getActions in class WSManagePermission
Returns:
the canonical string representation of the actions.

newPermissionCollection

public java.security.PermissionCollection newPermissionCollection()
Returns a new PermissionCollection object for storing WSStatePermission objects.

Overrides:
newPermissionCollection in class WSManagePermission
Returns:
a new PermissionCollection object suitable for storing WSStatePermissions.