Class PermissionUtils
- java.lang.Object
-
- com.broadleafcommerce.auth.security.domain.PermissionUtils
-
public class PermissionUtils extends Object
Convenience methods used for processing permissions and authorities- Author:
- Phillip Verheyden (phillipuniverse)
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static List<String>
expandAllPermission(String permission)
Transforms a given permission into the expanded version with all of the permission types.static Optional<String>
getPermissionRoot(String permission)
Obtains the 'root' of the permission which is defined as anything that comes after one of thePermissionType.prefixes()
.static String
getPermissionType(String permission)
Obtains the permission type of the given permission based onPermissionType.prefixes()
.
-
-
-
Method Detail
-
expandAllPermission
public static List<String> expandAllPermission(@NonNull String permission)
Transforms a given permission into the expanded version with all of the permission types. For example, given a permission ALL_PRODUCT this will return [CREATE_PRODUCT, READ_PRODUCT, UPDATE_PRODUCT, DELETE_PRODUCT]. Note that the result set will not include the given permission which means that if the given permission does not start with ALL_ then an empty list is returned- Parameters:
permission
- a permission that starts with ALL_- Returns:
- the CRUD-expanded ALL_ permission or an empty list if this is not an ALL_ permission
-
getPermissionRoot
public static Optional<String> getPermissionRoot(@NonNull String permission)
Obtains the 'root' of the permission which is defined as anything that comes after one of thePermissionType.prefixes()
. Example: given ALL_PRODUCT this will return PRODUCT and given SOME_PERMISSION this will return an empty optional- Parameters:
permission
- a permission- Returns:
- the root of permission or an empty Optional if permission does not
start with
PermissionType.prefixes()
- See Also:
PermissionType.prefixes()
,getPermissionType(String)
-
getPermissionType
@Nullable public static String getPermissionType(@NonNull String permission)
Obtains the permission type of the given permission based onPermissionType.prefixes()
. This assumes that the type is coded as a prefix in the given permission. If no permission type can be found, this returns the entire given permission unchanged.- Parameters:
permission
- a permission to get the prefix for- Returns:
- the prefix of the given permission from
PermissionType.prefixes()
or the permission unchanged if it does not have a prefix - See Also:
PermissionType.prefixes()
,getPermissionRoot(String)
-
-