Class UseOtherPermissionNameCustomPermissionChecker
java.lang.Object
com.kingsrook.qqq.backend.core.actions.permissions.UseOtherPermissionNameCustomPermissionChecker
- All Implemented Interfaces:
CustomPermissionChecker,InitializableViaCodeReference
public class UseOtherPermissionNameCustomPermissionChecker
extends Object
implements CustomPermissionChecker, InitializableViaCodeReference
Simple implementation of a Custom Permission Checker, that takes a permissionName
property, and just checks if the session has that permission.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic QCodeReferenceWithPropertiesFactory method to build a code reference to this class, with the given permission name.buildAvailablePermission(QPermissionRules rules, PermissionSubType permissionSubType, String baseName, MetaDataWithName metaDataWithName, String objectType) To assist withPermissionsHelper.getAllAvailablePermissions(QInstance)this method lets the application return a specializedAvailablePermissionobject, e.g., with the name that the permission name that the custom checker will use.voidcheckPermissionsThrowing(AbstractActionInput actionInput, MetaDataWithPermissionRules metaDataWithPermissionRules) PerCustomPermissionChecker, check if the active session has the permission specified as this class's permissionName property.Getter for permissionNamebooleanTo assist withPermissionsHelper.getAllAvailablePermissions(QInstance)this method indicates that this implementation of this interface has implementedCustomPermissionChecker.buildAvailablePermission(QPermissionRules, PermissionSubType, String, MetaDataWithName, String)voidinitialize(QCodeReference codeReference) As perInitializableViaCodeReference, initialize an instance of this class using the suppliedQCodeReference, which is expected to be aQCodeReferenceWithProperties.voidsetPermissionName(String permissionName) Setter for permissionNamewithPermissionName(String permissionName) Fluent setter for permissionNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.kingsrook.qqq.backend.core.actions.permissions.CustomPermissionChecker
buildBaseAvailablePermission
-
Field Details
-
PERMISSION_NAME_PROPERTY
- See Also:
-
-
Constructor Details
-
UseOtherPermissionNameCustomPermissionChecker
public UseOtherPermissionNameCustomPermissionChecker()
-
-
Method Details
-
build
Factory method to build a code reference to this class, with the given permission name.- Parameters:
permissionName- Full name of the permission to be checked by instances of this class- Returns:
- code reference that can be passed to, e.g.,
QPermissionRules.withCustomPermissionChecker(QCodeReference)
-
initialize
As perInitializableViaCodeReference, initialize an instance of this class using the suppliedQCodeReference, which is expected to be aQCodeReferenceWithProperties.- Specified by:
initializein interfaceInitializableViaCodeReference
-
checkPermissionsThrowing
public void checkPermissionsThrowing(AbstractActionInput actionInput, MetaDataWithPermissionRules metaDataWithPermissionRules) throws QPermissionDeniedException PerCustomPermissionChecker, check if the active session has the permission specified as this class's permissionName property.- Specified by:
checkPermissionsThrowingin interfaceCustomPermissionChecker- Parameters:
actionInput- generally the input data container for the action being performed - e.g., an InsertInput or RunProcessInputmetaDataWithPermissionRules- the table/process/etc that is being requested by a user.- Throws:
QPermissionDeniedException- to indicate the user does not have permission. The method should return without exception to indicate permission granted,
-
handlesBuildAvailablePermission
public boolean handlesBuildAvailablePermission()Description copied from interface:CustomPermissionCheckerTo assist withPermissionsHelper.getAllAvailablePermissions(QInstance)this method indicates that this implementation of this interface has implementedCustomPermissionChecker.buildAvailablePermission(QPermissionRules, PermissionSubType, String, MetaDataWithName, String)- Specified by:
handlesBuildAvailablePermissionin interfaceCustomPermissionChecker- Returns:
- in the default implementation, false is returned.
-
buildAvailablePermission
public AvailablePermission buildAvailablePermission(QPermissionRules rules, PermissionSubType permissionSubType, String baseName, MetaDataWithName metaDataWithName, String objectType) Description copied from interface:CustomPermissionCheckerTo assist withPermissionsHelper.getAllAvailablePermissions(QInstance)this method lets the application return a specializedAvailablePermissionobject, e.g., with the name that the permission name that the custom checker will use.- Specified by:
buildAvailablePermissionin interfaceCustomPermissionChecker- Returns:
- an
AvailablePermissionobject to add to the set of all available permissions. If null, then no permission is added to that result. - See Also:
-
getPermissionName
-
setPermissionName
-
withPermissionName
Fluent setter for permissionName- Parameters:
permissionName- The full permission name that is checked by this checker. note that this value is not expected to be directly set via this setter - but rather, via the initialization of this class through aQCodeReferenceWithProperties.- Returns:
- this
-