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 publish 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 © OSGi Alliance (2000, 2015). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0