Enum Class PathPermission
- All Implemented Interfaces:
Permission,Serializable,Comparable<PathPermission>,Constable
The meaning of the path depends on the permission. Most permissions apply to
topic paths in the topic tree. The SEND_TO_MESSAGE_HANDLER and
SEND_TO_SESSION permissions apply to message
paths. The ACQUIRE_LOCK permission applies to
lock names.
- Since:
- 6.5
- Author:
- DiffusionData Limited
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionAcquire a session lock.Submit edits to time series topic events which have an author which is the same as the principal of the calling session.Submit edits to time series topic events.Expose a branch of the topic tree as a virtual session tree.Add a topic or remove a topic.Evaluate queries that return a non-current view of a time series topic.Required to receive information from a topic.Use a topic selector that selects a topic path.Send a message to a handler registered with the server for a particular message path.Send a message to a client session for a particular message path.A permission that is unsupported by the session.Update a topic. -
Method Summary
Modifier and TypeMethodDescriptionstatic PathPermissionReturns the enum constant of this class with the specified name.static PathPermission[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
SELECT_TOPIC
Use a topic selector that selects a topic path.To fetch or subscribe using a topic selector, a session must have SELECT_TOPIC permission for each individual path that the selector may match. This allows SELECT_TOPIC to be granted to a branch of the topic tree and explicitly revoked for specific sub-branches.
For full path pattern topic selectors, the model is even more restrictive: SELECT_TOPIC permission is required for all paths, at and below the path prefix of the selector. This is necessary to prevent circumvention using advanced regular expressions.
When the subscription or fetch request completes, the resulting topics are further filtered based on the
READ_TOPICpermission.A session that has
READ_TOPICbut notSELECT_TOPICfor a particular topic path cannot subscribe directly to topics belonging to the path. However, the session can be independently subscribed by a control session that hasGlobalPermission.MODIFY_SESSIONpermission in addition to the appropriateSELECT_TOPICpermission.- Since:
- 5.7
-
READ_TOPIC
Required to receive information from a topic.If a session does not have read_topic permission for a topic, the topic will be excluded from the results of subscription or fetch operations for the session, and the topic's details cannot be retrieved by the session.
- See Also:
-
UPDATE_TOPIC
Update a topic. -
MODIFY_TOPIC
Add a topic or remove a topic. -
SEND_TO_MESSAGE_HANDLER
Send a message to a handler registered with the server for a particular message path. -
SEND_TO_SESSION
Send a message to a client session for a particular message path. -
QUERY_OBSOLETE_TIME_SERIES_EVENTS
Evaluate queries that return a non-current view of a time series topic.The
READ_TOPICpermission is required to evaluate any type ofTimeSeries.Queryfor a time series topic. This permission is additionally required for queries that potentially return a non-current view of all or part of a time series. Such queries include value range queries that specify an edit range, and all types of edit range query.- See Also:
-
EDIT_TIME_SERIES_EVENTS
Submit edits to time series topic events.The
UPDATE_TOPICpermission is required to update a time series topic. This permission is additionally required to submiteditsto a time series topic.- See Also:
-
EDIT_OWN_TIME_SERIES_EVENTS
Submit edits to time series topic events which have an author which is the same as the principal of the calling session.This permission is a more restrictive alternative to
EDIT_TIME_SERIES_EVENTS.The
UPDATE_TOPICpermission is required to update a time series topic. This permission is additionally required to submiteditsto a time series topic where the event author is the same as the principal of the calling session.- See Also:
-
ACQUIRE_LOCK
Acquire a session lock.- See Also:
-
EXPOSE_BRANCH
Expose a branch of the topic tree as a virtual session tree.The
EXPOSE_BRANCHpath permission is powerful since it allows a session to expose a whole branch of the topic tree under a different set of path permissions.A session granted
EXPOSE_BRANCHfor a particular path effectively has the permission for all descendant paths. From a security perspective, if a role grantsEXPOSE_BRANCHat branchXit is ineffectual for it also to denyEXPOSE_BRANCHat a child branchX/Ybecause a branch mapping toXcan still expose paths belowX/Y.- Since:
- 6.7
- See Also:
-
UNKNOWN_PATH_PERMISSION
A permission that is unsupported by the session.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-