Class TopicPermission
- All Implemented Interfaces:
Serializable,Guard
A topic is a slash-separated string that defines a topic.
For example:
org / osgi / service / foo / FooEvent / ACTION
Topics may also be given a default name based on the event type that is published to the topic. These use the fully qualified class name of the event object as the name of the topic.
For example:
com.acme.foo.event.EventData
TopicPermission has two actions: publish and
subscribe.
- See Also:
- "ThreadSafe"
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTopicPermission(String name, String actions) Defines the authority to publish and/or subscribe to a topic within the Typed Event service specification. -
Method Summary
Modifier and TypeMethodDescriptionbooleanDetermines the equality of twoTopicPermissionobjects.Returns the canonical string representation of theTopicPermissionactions.inthashCode()Returns the hash code value for this object.booleanDetermines if the specified permission is implied by this object.Returns a newPermissionCollectionobject suitable for storingTopicPermissionobjects.Methods inherited from class java.security.Permission
checkGuard, getName, toString
-
Field Details
-
PUBLISH
The action stringpublish.- See Also:
-
SUBSCRIBE
The action stringsubscribe.- See Also:
-
-
Constructor Details
-
TopicPermission
Defines the authority to publish and/or subscribe to a topic within the Typed Event service specification.The name is specified as a slash-separated string. Wildcards may be used. For example:
org/osgi/service/fooFooEvent/ACTION com/isv/* *A bundle that needs to publish events on a topic must have the appropriate
TopicPermissionfor that topic; similarly, a bundle that needs to subscribe to events on a topic must have the appropriateTopicPermssionfor that topic.- Parameters:
name- Topic name.actions-publish,subscribe(canonical order).
-
-
Method Details
-
implies
Determines if the specified permission is implied by this object.This method checks that the topic name of the target is implied by the topic name of this object. The list of
TopicPermissionactions must either match or allow for the list of the target object to imply the targetTopicPermissionaction.x/y/*,"publish" -> x/y/z,"publish" is true *,"subscribe" -> x/y,"subscribe" is true *,"publish" -> x/y,"subscribe" is false x/y,"publish" -> x/y/z,"publish" is false- Specified by:
impliesin classPermission- Parameters:
p- The target permission to interrogate.- Returns:
trueif the specifiedTopicPermissionaction is implied by this object;falseotherwise.
-
getActions
Returns the canonical string representation of theTopicPermissionactions.Always returns present
TopicPermissionactions in the following order:publish,subscribe.- Specified by:
getActionsin classPermission- Returns:
- Canonical string representation of the
TopicPermissionactions.
-
newPermissionCollection
Returns a newPermissionCollectionobject suitable for storingTopicPermissionobjects.- Overrides:
newPermissionCollectionin classPermission- Returns:
- A new
PermissionCollectionobject.
-
equals
Determines the equality of twoTopicPermissionobjects. This method checks that specifiedTopicPermissionhas the same topic name and actions as thisTopicPermissionobject.- Specified by:
equalsin classPermission- Parameters:
obj- The object to test for equality with thisTopicPermissionobject.- Returns:
trueifobjis aTopicPermission, and has the same topic name and actions as thisTopicPermissionobject;falseotherwise.
-
hashCode
public int hashCode()Returns the hash code value for this object.- Specified by:
hashCodein classPermission- Returns:
- A hash code value for this object.
-