public final class CoordinationPermission
extends java.security.BasicPermission
Coordination.
CoordinationPermission has three actions: initiate,
participate and admin.
| Modifier and Type | Field and Description |
|---|---|
private static int |
ACTION_ADMIN |
private static int |
ACTION_ALL |
private static int |
ACTION_INITIATE |
(package private) int |
action_mask
The actions mask.
|
(package private) static int |
ACTION_NONE |
private static int |
ACTION_PARTICIPATE |
private java.lang.String |
actions
The actions in canonical form.
|
static java.lang.String |
ADMIN
The action string
admin. |
(package private) org.osgi.framework.Bundle |
bundle
The bundle used by this CoordinationPermission.
|
(package private) org.osgi.framework.Filter |
filter
If this CoordinationPermission was constructed with a filter, this holds
a Filter matching object used to evaluate the filter in implies.
|
static java.lang.String |
INITIATE
The action string
initiate. |
static java.lang.String |
PARTICIPATE
The action string
participate. |
private java.util.Map<java.lang.String,java.lang.Object> |
properties
This map holds the properties of the permission, used to match a filter
in implies.
|
private static long |
serialVersionUID |
| Constructor and Description |
|---|
CoordinationPermission(org.osgi.framework.Filter filter,
int mask)
Package private constructor used by CoordinationPermissionCollection.
|
CoordinationPermission(java.lang.String coordinationName,
org.osgi.framework.Bundle coordinationBundle,
java.lang.String actions)
Creates a new requested
CoordinationPermission object to be used
by the code that must perform checkPermission. |
CoordinationPermission(java.lang.String filter,
java.lang.String actions)
Creates a new granted
CoordinationPermission object. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj)
Determines the equality of two
CoordinationPermission objects. |
java.lang.String |
getActions()
Returns the canonical string representation of the
CoordinationPermission actions. |
private java.util.Map<java.lang.String,java.lang.Object> |
getProperties()
Called by
implies(Permission). |
int |
hashCode()
Returns the hash code value for this object.
|
boolean |
implies(java.security.Permission p)
Determines if the specified permission is implied by this object.
|
(package private) boolean |
implies0(CoordinationPermission requested,
int effective)
Internal implies method.
|
java.security.PermissionCollection |
newPermissionCollection()
Returns a new
PermissionCollection object suitable for storing
CoordinationPermission objects. |
private static int |
parseActions(java.lang.String actions)
Parse action string into action mask.
|
private static org.osgi.framework.Filter |
parseFilter(java.lang.String filterString)
Parse filter string into a Filter object.
|
private void |
readObject(java.io.ObjectInputStream s)
readObject is called to restore the state of this permission from a
stream.
|
private void |
setTransients(org.osgi.framework.Filter filter,
int mask)
Called by constructors and when deserialized.
|
private void |
writeObject(java.io.ObjectOutputStream s)
WriteObject is called to save the state of this permission object to a
stream.
|
private static final long serialVersionUID
public static final java.lang.String INITIATE
initiate.public static final java.lang.String PARTICIPATE
participate.public static final java.lang.String ADMIN
admin.private static final int ACTION_INITIATE
private static final int ACTION_PARTICIPATE
private static final int ACTION_ADMIN
private static final int ACTION_ALL
static final int ACTION_NONE
transient int action_mask
private volatile java.lang.String actions
final transient org.osgi.framework.Bundle bundle
transient org.osgi.framework.Filter filter
private transient volatile java.util.Map<java.lang.String,java.lang.Object> properties
public CoordinationPermission(java.lang.String filter,
java.lang.String actions)
CoordinationPermission object.
This constructor must only be used to create a permission that is going
to be checked.
Examples:
(coordination.name=com.acme.*) (&(signer=\*,o=ACME,c=US)(coordination.name=com.acme.*)) (signer=\*,o=ACME,c=US)
When a signer key is used within the filter expression the signer value must escape the special filter chars ('*', '(', ')').
The name is specified as a filter expression. The filter gives access to the following attributes:
filter - A filter expression. Filter attribute names are processed
in a case sensitive manner. A special value of "*" can be
used to match all coordinations.actions - admin, initiate or participate
(canonical order).java.lang.IllegalArgumentException - If the filter has an invalid syntax.public CoordinationPermission(java.lang.String coordinationName,
org.osgi.framework.Bundle coordinationBundle,
java.lang.String actions)
CoordinationPermission object to be used
by the code that must perform checkPermission.
CoordinationPermission objects created with this constructor
cannot be added to an CoordinationPermission permission
collection.coordinationName - The name of the requested Coordination.coordinationBundle - The bundle which
created the requested
Coordination.actions - admin, initiate or participate
(canonical order).CoordinationPermission(org.osgi.framework.Filter filter,
int mask)
filter - name filtermask - action maskprivate void setTransients(org.osgi.framework.Filter filter,
int mask)
filter - Permission's filter or null for wildcard.mask - action maskprivate static int parseActions(java.lang.String actions)
actions - Action string.private static org.osgi.framework.Filter parseFilter(java.lang.String filterString)
filterString - The filter string to parse.java.lang.IllegalArgumentException - If the filter syntax is invalid.public boolean implies(java.security.Permission p)
This method checks that the filter of the target is implied by the
coordination name of this object. The list of
CoordinationPermission actions must either match or allow for the
list of the target object to imply the target
CoordinationPermission action.
implies in class java.security.BasicPermissionp - The requested permission.true if the specified permission is implied by this
object; false otherwise.boolean implies0(CoordinationPermission requested, int effective)
requested - The requested CoordinationPermission which has already
be validated as a proper argument. The requested
CoordinationPermission must not have a filter expression.effective - The effective actions with which to start.true if the specified permission is implied by this
object; false otherwise.public java.lang.String getActions()
CoordinationPermission actions.
Always returns present CoordinationPermission actions in the
following order: admin, initiate, participate.
getActions in class java.security.BasicPermissionCoordinationPermission actions.public java.security.PermissionCollection newPermissionCollection()
PermissionCollection object suitable for storing
CoordinationPermission objects.newPermissionCollection in class java.security.BasicPermissionPermissionCollection object.public boolean equals(java.lang.Object obj)
CoordinationPermission objects.
This method checks that specified permission has the same name and
CoordinationPermission actions as this
CoordinationPermission object.equals in class java.security.BasicPermissionobj - The object to test for equality with this
CoordinationPermission object.true if obj is a CoordinationPermission,
and has the same name and actions as this
CoordinationPermission object; false otherwise.public int hashCode()
hashCode in class java.security.BasicPermissionprivate void writeObject(java.io.ObjectOutputStream s)
throws java.io.IOException
java.io.IOExceptionprivate void readObject(java.io.ObjectInputStream s)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionprivate java.util.Map<java.lang.String,java.lang.Object> getProperties()
implies(Permission). This method
is only called on a requested permission which cannot have a filter set.