org.osgi.service.wireadmin
Class WirePermission

java.lang.Object
  extended by java.security.Permission
      extended by java.security.BasicPermission
          extended by org.osgi.service.wireadmin.WirePermission
All Implemented Interfaces:
java.io.Serializable, java.security.Guard

public final class WirePermission
extends java.security.BasicPermission

Permission for the scope of a Wire object. When a Envelope object is used for communication with the poll or update method, and the scope is set, then the Wire object must verify that the Consumer service has WirePermission[name,CONSUME] and the Producer service has WirePermission[name,PRODUCE] for all names in the scope.

The names are compared with the normal rules for permission names. This means that they may end with a "*" to indicate wildcards. E.g. Door.* indicates all scope names starting with the string "Door". The last period is required due to the implementations of the BasicPermission class.

Version:
$Revision: 6381 $
See Also:
Serialized Form
ThreadSafe

Field Summary
private static int ACTION_ALL
           
private static int ACTION_CONSUME
           
private  int action_mask
          The actions mask.
private static int ACTION_NONE
           
private static int ACTION_PRODUCE
           
private  java.lang.String actions
          The actions in canonical form.
static java.lang.String CONSUME
          The action string for the consume action.
static java.lang.String PRODUCE
          The action string for the produce action.
(package private) static long serialVersionUID
           
 
Constructor Summary
WirePermission(java.lang.String name, int mask)
          Package private constructor used by WirePermissionCollection.
WirePermission(java.lang.String name, java.lang.String actions)
          Create a new WirePermission with the given name (may be wildcard) and actions.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Determines the equalty of two WirePermission objects.
 java.lang.String getActions()
          Returns the canonical string representation of the actions.
(package private)  int getActionsMask()
          Returns the current action mask.
 int hashCode()
          Returns the hash code value for this object.
 boolean implies(java.security.Permission p)
          Checks if this WirePermission object implies the specified permission.
 java.security.PermissionCollection newPermissionCollection()
          Returns a new PermissionCollection object for storing WirePermission objects.
private static int parseActions(java.lang.String actions)
          Parse action string into action mask.
private  void readObject(java.io.ObjectInputStream s)
          readObject is called to restore the state of the ServicePermission from a stream.
private  void setTransients(int mask)
          Called by constructors and when deserialized.
 java.lang.String toString()
          Returns a string describing this WirePermission.
private  void writeObject(java.io.ObjectOutputStream s)
          WriteObject is called to save the state of the ServicePermission to a stream.
 
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

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

PRODUCE

public static final java.lang.String PRODUCE
The action string for the produce action.

See Also:
Constant Field Values

CONSUME

public static final java.lang.String CONSUME
The action string for the consume action.

See Also:
Constant Field Values

ACTION_PRODUCE

private static final int ACTION_PRODUCE
See Also:
Constant Field Values

ACTION_CONSUME

private static final int ACTION_CONSUME
See Also:
Constant Field Values

ACTION_ALL

private static final int ACTION_ALL
See Also:
Constant Field Values

ACTION_NONE

private static final int ACTION_NONE
See Also:
Constant Field Values

action_mask

private transient int action_mask
The actions mask.


actions

private volatile java.lang.String actions
The actions in canonical form.

Constructor Detail

WirePermission

public WirePermission(java.lang.String name,
                      java.lang.String actions)
Create a new WirePermission with the given name (may be wildcard) and actions.

Parameters:
name - Wire name.
actions - produce, consume (canonical order).

WirePermission

WirePermission(java.lang.String name,
               int mask)
Package private constructor used by WirePermissionCollection.

Parameters:
name - class name
mask - action mask
Method Detail

setTransients

private void setTransients(int mask)
Called by constructors and when deserialized.

Parameters:
mask - action mask

getActionsMask

int getActionsMask()
Returns the current action mask. Used by the WirePermissionCollection object.

Returns:
The actions mask.

parseActions

private static int parseActions(java.lang.String actions)
Parse action string into action mask.

Parameters:
actions - Action string.
Returns:
action mask.

implies

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

More specifically, this method returns true if:

Overrides:
implies in class java.security.BasicPermission
Parameters:
p - The permission to check against.
Returns:
true if the specified permission is implied by this object; false otherwise.

getActions

public java.lang.String getActions()
Returns the canonical string representation of the actions. Always returns present actions in the following order: produce, consume.

Overrides:
getActions in class java.security.BasicPermission
Returns:
The canonical string representation of the actions.

newPermissionCollection

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

Overrides:
newPermissionCollection in class java.security.BasicPermission
Returns:
A new PermissionCollection object suitable for storing WirePermission objects.

equals

public boolean equals(java.lang.Object obj)
Determines the equalty of two WirePermission objects. Checks that specified object has the same name and actions as this WirePermission object.

Overrides:
equals in class java.security.BasicPermission
Parameters:
obj - The object to test for equality.
Returns:
true if obj is a WirePermission, and has the same name and actions as this WirePermission object; false otherwise.

hashCode

public int hashCode()
Returns the hash code value for this object.

Overrides:
hashCode in class java.security.BasicPermission
Returns:
Hash code value for this object.

toString

public java.lang.String toString()
Returns a string describing this WirePermission. The convention is to specify the class name, the permission name, and the actions in the following format: '(org.osgi.service.wireadmin.WirePermission "name" "actions")'.

Overrides:
toString in class java.security.Permission
Returns:
information about this Permission object.

writeObject

private void writeObject(java.io.ObjectOutputStream s)
                  throws java.io.IOException
WriteObject is called to save the state of the ServicePermission to a stream. The actions are serialized, and the superclass takes care of the name.

Throws:
java.io.IOException

readObject

private void readObject(java.io.ObjectInputStream s)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException
readObject is called to restore the state of the ServicePermission from a stream.

Throws:
java.io.IOException
java.lang.ClassNotFoundException


Copyright © 2001-2010 Eclipse Foundation. All Rights Reserved.