Interface ModifiableDefaultPermissions
-
public interface ModifiableDefaultPermissions
Default permissions enable the authorization of PUBLISH/Subscriptions if noAuthorizer
is used.The default permissions can be different for each client.
- Since:
- 4.0.0, CE 2019.1
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(@NotNull TopicPermission permission)
Adds aTopicPermission
to the default permissions for this client.void
addAll(@NotNull Collection<? extends TopicPermission> permissions)
Adds all passedTopicPermission
s to the default permissions for this client.@Immutable @NotNull List<@NotNull TopicPermission>
asList()
All default permissions for this client.void
clear()
Removes allTopicPermission
for this client.@NotNull DefaultAuthorizationBehaviour
getDefaultBehaviour()
The default behaviour that is used when none of the default permissions matches a PUBLISH topic or a topic filter from a Subscription.void
remove(@NotNull TopicPermission permission)
Removes a specificTopicPermission
from the default permission for this client.void
setDefaultBehaviour(@NotNull DefaultAuthorizationBehaviour defaultBehaviour)
Overrides the default behaviour that is used when none of the default permissions matches a PUBLISH topic or a topic filter from a Subscription.
-
-
-
Method Detail
-
asList
@Immutable @NotNull @Immutable @NotNull List<@NotNull TopicPermission> asList()
All default permissions for this client.- Returns:
- An immutable
List
with all default permissions for this client. - Since:
- 4.0.0, CE 2019.1
-
add
void add(@NotNull TopicPermission permission)
Adds aTopicPermission
to the default permissions for this client.- Parameters:
permission
- TheTopicPermission
to add.- Throws:
DoNotImplementException
- IfTopicPermission
is implemented by the extension and not created byBuilders.topicPermission()
.- Since:
- 4.0.0, CE 2019.1
-
addAll
void addAll(@NotNull Collection<? extends TopicPermission> permissions)
Adds all passedTopicPermission
s to the default permissions for this client.- Parameters:
permissions
- ACollection
ofTopicPermission
s to add.- Throws:
NullPointerException
- If permissions is null.DoNotImplementException
- IfTopicPermission
is implemented by the extension and not created byBuilders.topicPermission()
.- Since:
- 4.0.0, CE 2019.1
-
remove
void remove(@NotNull TopicPermission permission)
Removes a specificTopicPermission
from the default permission for this client.- Parameters:
permission
- TheTopicPermission
to remove.- Throws:
DoNotImplementException
- IfTopicPermission
is implemented by the extension and not created byBuilders.topicPermission()
.- Since:
- 4.0.0, CE 2019.1
-
clear
void clear()
Removes allTopicPermission
for this client.- Since:
- 4.0.0, CE 2019.1
-
getDefaultBehaviour
@NotNull DefaultAuthorizationBehaviour getDefaultBehaviour()
The default behaviour that is used when none of the default permissions matches a PUBLISH topic or a topic filter from a Subscription.- Returns:
- The current
DefaultAuthorizationBehaviour
. - Since:
- 4.0.0, CE 2019.1
-
setDefaultBehaviour
void setDefaultBehaviour(@NotNull DefaultAuthorizationBehaviour defaultBehaviour)
Overrides the default behaviour that is used when none of the default permissions matches a PUBLISH topic or a topic filter from a Subscription.Defaults to
DefaultAuthorizationBehaviour.ALLOW
if no permissions are added, defaults toDefaultAuthorizationBehaviour.DENY
if permissions are added.If the value is overridden with this method, the value does not change automatically on
add(TopicPermission)
oraddAll(Collection)
.- Parameters:
defaultBehaviour
- The default behaviour to use.- Since:
- 4.0.0, CE 2019.1
-
-