ApplicationPermission
Specifies how a particular #getRole() application role may interact with a specific ApplicationFeature .
Each permission has a #getRule() rule and a #getMode() mode . The ApplicationPermissionRule determines whether the permission ApplicationPermissionRule#ALLOW grants access to the feature or ApplicationPermissionRule#VETO veto es access to it. The ApplicationPermissionMode indicates whether the role can ApplicationPermissionMode#VIEWING view the feature or can ApplicationPermissionMode#CHANGING change the state of the system using the feature.
For a given permission, there is an interaction between the ApplicationPermissionRule and the ApplicationPermissionMode :
-
for an ApplicationPermissionRule#ALLOW allow , a ApplicationPermissionMode#CHANGING usability allow implies ApplicationPermissionMode#VIEWING visibility allow.
-
conversely, for a ApplicationPermissionRule#VETO veto , a ApplicationPermissionMode#VIEWING visibility veto implies a ApplicationPermissionMode#CHANGING usability veto.
API
class ApplicationPermission {
public static final String LOGICAL_TYPE_NAME;
public static final String SCHEMA;
public static final String TABLE;
String title()
String getSort()
ApplicationFeature findFeature(ApplicationFeatureId featureId)
Optional<ApplicationFeatureId> asFeatureId()
int compareTo(org.apache.causeway.extensions.secman.applib.permission.dom.ApplicationPermission other)
boolean equals(Object other)
int hashCode()
String toString()
}