public final class TopicPermission extends Permission
A topic is a slash-separated string that defines a topic.
For example:
org / osgi / service / foo / FooEvent / ACTION
TopicPermission
has two actions: publish
and
subscribe
.
Modifier and Type | Field and Description |
---|---|
static String |
PUBLISH
The action string
publish . |
static String |
SUBSCRIBE
The action string
subscribe . |
Constructor and Description |
---|
TopicPermission(String name,
String actions)
Defines the authority to publich and/or subscribe to a topic within the
EventAdmin service.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Determines the equality of two
TopicPermission objects. |
String |
getActions()
Returns the canonical string representation of the
TopicPermission actions. |
int |
hashCode()
Returns the hash code value for this object.
|
boolean |
implies(Permission p)
Determines if the specified permission is implied by this object.
|
PermissionCollection |
newPermissionCollection()
Returns a new
PermissionCollection object suitable for
storing TopicPermission objects. |
checkGuard, getName, toString
public static final String PUBLISH
publish
.public static final String SUBSCRIBE
subscribe
.public TopicPermission(String name, String actions)
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 TopicPermission
for that topic; similarly, a
bundle that needs to subscribe to events on a topic must have the
appropriate TopicPermssion
for that topic.
name
- Topic name.actions
- publish
,subscribe
(canonical
order).public boolean implies(Permission p)
This method checks that the topic name of the target is implied by the
topic name of this object. The list of TopicPermission
actions must either match or allow for the list of the target object to
imply the target TopicPermission
action.
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
implies
in class Permission
p
- The target permission to interrogate.true
if the specified TopicPermission
action is implied by this object; false
otherwise.public String getActions()
TopicPermission
actions.
Always returns present TopicPermission
actions in the
following order: publish
,subscribe
.
getActions
in class Permission
TopicPermission
actions.public PermissionCollection newPermissionCollection()
PermissionCollection
object suitable for
storing TopicPermission
objects.newPermissionCollection
in class Permission
PermissionCollection
object.public boolean equals(Object obj)
TopicPermission
objects.
This method checks that specified TopicPermission
has the
same topic name and actions as this TopicPermission
object.equals
in class Permission
obj
- The object to test for equality with this
TopicPermission
object.true
if obj
is a
TopicPermission
, and has the same topic name and
actions as this TopicPermission
object;
false
otherwise.public int hashCode()
hashCode
in class Permission
Copyright © 2006–2017 OSGi Alliance. All rights reserved.