Interface TopicPermission
-
@DoNotImplement public interface TopicPermission
A topic permission represents an authorization action.The topic permission can be used to allow/deny a PUBLISH or Subscription, if it matches all criteria defined in the topic permission.
- Since:
- 4.0.0, CE 2019.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
TopicPermission.MqttActivity
The activity the topic permission is applied to.static class
TopicPermission.PermissionType
Represents if the PUBLISH/Subscription that matches the topic permission is allowed or denied.static class
TopicPermission.Qos
Matching quality of service levels for the topic permission.static class
TopicPermission.Retain
Represents the type of PUBLISH the topic permission is applied for.static class
TopicPermission.SharedSubscription
Represents the typ of Subscription the topic permission is applied for.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull TopicPermission.MqttActivity
getActivity()
The activity is used to define for which type of the action (PUBLISH/Subscription) the topic permission is applied.@NotNull TopicPermission.Retain
getPublishRetain()
Retain is used to check for what type of PUBLISH message (normal/retained message) the topic permission is applied.@NotNull TopicPermission.Qos
getQos()
The quality of service (Qos) levels are used to define for which QoS levels the topic permission is applied.@NotNull String
getSharedGroup()
The shared group is used to check for what shared group the topic permission is applied.@NotNull TopicPermission.SharedSubscription
getSharedSubscription()
The shared subscription is used to check for what type of Subscription (normal/shared subscription) the topic permission is applied.@NotNull String
getTopicFilter()
The topic filter is used to define for what topic filter the topic permission is applied.@NotNull TopicPermission.PermissionType
getType()
If the PUBLISH/Subscription matches all criteria defined in the topic permission, the permission type decides if the PUBLISH/Subscription is authorized or not.
-
-
-
Method Detail
-
getTopicFilter
@NotNull String getTopicFilter()
The topic filter is used to define for what topic filter the topic permission is applied.- Returns:
- The topic filter for this permission.
- Since:
- 4.0.0, CE 2019.1
-
getType
@NotNull TopicPermission.PermissionType getType()
If the PUBLISH/Subscription matches all criteria defined in the topic permission, the permission type decides if the PUBLISH/Subscription is authorized or not.- Returns:
- The
TopicPermission.PermissionType
for this permission. - Since:
- 4.0.0, CE 2019.1
-
getQos
@NotNull TopicPermission.Qos getQos()
The quality of service (Qos) levels are used to define for which QoS levels the topic permission is applied.- Returns:
- The
TopicPermission.Qos
for this permission. - Since:
- 4.0.0, CE 2019.1
-
getActivity
@NotNull TopicPermission.MqttActivity getActivity()
The activity is used to define for which type of the action (PUBLISH/Subscription) the topic permission is applied.- Returns:
- The
TopicPermission.MqttActivity
for this permission. - Since:
- 4.0.0, CE 2019.1
-
getPublishRetain
@NotNull TopicPermission.Retain getPublishRetain()
Retain is used to check for what type of PUBLISH message (normal/retained message) the topic permission is applied.- Returns:
- The
TopicPermission.Retain
for this permission. Only used for PUBLISH. - Since:
- 4.0.0, CE 2019.1
-
getSharedSubscription
@NotNull TopicPermission.SharedSubscription getSharedSubscription()
The shared subscription is used to check for what type of Subscription (normal/shared subscription) the topic permission is applied.- Returns:
- The
TopicPermission.SharedSubscription
for this permission. Only used for Subscription. - Since:
- 4.0.0, CE 2019.1
-
-