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

ApplicationPermission.java
interface ApplicationPermission {
  public static final String LOGICAL_TYPE_NAME;
  public static final String SCHEMA;
  public static final String TABLE;
  static final ObjectContracts.ObjectContract<ApplicationPermission> CONTRACT;
  ApplicationFeatureRepository featureRepository()
  String title()
  ApplicationRole getRole()
  void setRole(ApplicationRole applicationRole)
  ApplicationPermissionRule getRule()
  void setRule(ApplicationPermissionRule rule)
  ApplicationPermissionMode getMode()
  void setMode(ApplicationPermissionMode mode)
  String getSort()
  ApplicationFeatureSort getFeatureSort()     (1)
  void setFeatureSort(ApplicationFeatureSort featureSort)
  String getFeatureFqn()
  void setFeatureFqn(String featureFqn)
  ApplicationFeature findFeature(ApplicationFeatureId featureId)
  Optional<ApplicationMemberSort> getMemberSort()
  Optional<ApplicationFeature> getFeature()
  Optional<ApplicationFeatureId> asFeatureId()
  int compareTo(org.apache.causeway.extensions.secman.applib.permission.dom.ApplicationPermission other)
}
1 getFeatureSort()

Which ApplicationFeatureId#getSort() sort of feature this is.

Members

getFeatureSort()

Which ApplicationFeatureId#getSort() sort of feature this is.

The combination of the feature type and the #getFeatureFqn() fully qualified name is used to build the corresponding #getFeature() feature (view model).