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}