Newer Version Available
CustomPermissionDependency
Represents the dependency between two custom permissions when one
custom permission requires that you enable another custom permission. This object
is available in API version 32.0 and later.
Supported Calls
describeLayout(), describeSObjects(), query(), retrieve()
Fields
| Field Name | Details |
|---|---|
| CustomPermissionId |
|
| RequiredCustomPermissionId |
|
Usage
The following Apex class contains a method that returns the IDs of all custom
permissions that are required for the given custom permission ID. To use this class,
save it in your
organization.
For
more information about using Apex classes, see the Force.com Apex
Code Developer’s Guide.
1public class CustomPermissionUtil {
2 public String[] getAllRequiredCustomPermissions(String customPermId) {
3 return getAllRequiredHelper(new String[]{customPermId});
4 }
5
6 private String[] getAllRequiredHelper(String[] customPermIds) {
7 CustomPermissionDependency[] requiredPerms = [SELECT RequiredCustomPermissionId
8 FROM CustomPermissionDependency
9 WHERE CustomPermissionId
10 IN :customPermIds];
11 String[] requiredPermIds = new String[]{};
12 for (CustomPermissionDependency cpd : requiredPerms) {
13 requiredPermIds.add(cpd.RequiredCustomPermissionId);
14 }
15 if (requiredPermIds.size() > 0) {
16 customPermIds.addall(getAllRequiredHelper(requiredPermIds));
17 return customPermIds;
18 } else {
19 return customPermIds;
20 }
21 }
22}