Package org.osgi.service.coordinator
Class CoordinationPermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- org.osgi.service.coordinator.CoordinationPermission
-
- All Implemented Interfaces:
java.io.Serializable,java.security.Guard
public final class CoordinationPermission extends java.security.BasicPermissionA bundle's authority to create or use aCoordination.CoordinationPermissionhas three actions:initiate,participateandadmin.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringADMINThe action stringadmin.static java.lang.StringINITIATEThe action stringinitiate.static java.lang.StringPARTICIPATEThe action stringparticipate.
-
Constructor Summary
Constructors Constructor Description CoordinationPermission(java.lang.String filter, java.lang.String actions)Creates a new grantedCoordinationPermissionobject.CoordinationPermission(java.lang.String coordinationName, org.osgi.framework.Bundle coordinationBundle, java.lang.String actions)Creates a new requestedCoordinationPermissionobject to be used by the code that must performcheckPermission.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Determines the equality of twoCoordinationPermissionobjects.java.lang.StringgetActions()Returns the canonical string representation of theCoordinationPermissionactions.inthashCode()Returns the hash code value for this object.booleanimplies(java.security.Permission p)Determines if the specified permission is implied by this object.java.security.PermissionCollectionnewPermissionCollection()Returns a newPermissionCollectionobject suitable for storingCoordinationPermissionobjects.
-
-
-
Field Detail
-
INITIATE
public static final java.lang.String INITIATE
The action stringinitiate.- See Also:
- Constant Field Values
-
PARTICIPATE
public static final java.lang.String PARTICIPATE
The action stringparticipate.- See Also:
- Constant Field Values
-
ADMIN
public static final java.lang.String ADMIN
The action stringadmin.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CoordinationPermission
public CoordinationPermission(java.lang.String filter, java.lang.String actions)Creates a new grantedCoordinationPermissionobject. 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:
- signer - A Distinguished Name chain used to sign the exporting bundle. Wildcards in a DN are not matched according to the filter string rules, but according to the rules defined for a DN chain.
- location - The location of the exporting bundle.
- id - The bundle ID of the exporting bundle.
- name - The symbolic name of the exporting bundle.
- coordination.name - The name of the requested coordination.
- Parameters:
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,initiateorparticipate(canonical order).- Throws:
java.lang.IllegalArgumentException- If the filter has an invalid syntax.
-
CoordinationPermission
public CoordinationPermission(java.lang.String coordinationName, org.osgi.framework.Bundle coordinationBundle, java.lang.String actions)Creates a new requestedCoordinationPermissionobject to be used by the code that must performcheckPermission.CoordinationPermissionobjects created with this constructor cannot be added to anCoordinationPermissionpermission collection.- Parameters:
coordinationName- The name of the requested Coordination.coordinationBundle- The bundle whichcreatedthe requested Coordination.actions-admin,initiateorparticipate(canonical order).
-
-
Method Detail
-
implies
public boolean implies(java.security.Permission p)
Determines if the specified permission is implied by this object.This method checks that the filter of the target is implied by the coordination name of this object. The list of
CoordinationPermissionactions must either match or allow for the list of the target object to imply the targetCoordinationPermissionaction.- Overrides:
impliesin classjava.security.BasicPermission- Parameters:
p- The requested permission.- Returns:
trueif the specified permission is implied by this object;falseotherwise.
-
getActions
public java.lang.String getActions()
Returns the canonical string representation of theCoordinationPermissionactions.Always returns present
CoordinationPermissionactions in the following order:admin,initiate,participate.- Overrides:
getActionsin classjava.security.BasicPermission- Returns:
- Canonical string representation of the
CoordinationPermissionactions.
-
newPermissionCollection
public java.security.PermissionCollection newPermissionCollection()
Returns a newPermissionCollectionobject suitable for storingCoordinationPermissionobjects.- Overrides:
newPermissionCollectionin classjava.security.BasicPermission- Returns:
- A new
PermissionCollectionobject.
-
equals
public boolean equals(java.lang.Object obj)
Determines the equality of twoCoordinationPermissionobjects. This method checks that specified permission has the same name andCoordinationPermissionactions as thisCoordinationPermissionobject.- Overrides:
equalsin classjava.security.BasicPermission- Parameters:
obj- The object to test for equality with thisCoordinationPermissionobject.- Returns:
trueifobjis aCoordinationPermission, and has the same name and actions as thisCoordinationPermissionobject;falseotherwise.
-
hashCode
public int hashCode()
Returns the hash code value for this object.- Overrides:
hashCodein classjava.security.BasicPermission- Returns:
- A hash code value for this object.
-
-