public interface RolePrivilegeProvider
RolePrivilegeProvider is used to
 provide customized privilege setting of role. In addition to getting role privilege setting 
 from customer's external security system, this interface also provides the ability
 to modify role privilege setting in customer's external security system.jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
 indicating credential to deploy reports/catalogs to the server, jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
 indicating credential to access advanced information| Modifier and Type | Method and Description | 
|---|---|
java.util.Hashtable | 
getRolePrivileges(java.lang.String realmName)
Gets all roles' privilege settings from customer's external security system. 
 | 
boolean | 
isEnableEdit()
Indicates whether customer's external security system will be modified by
 invoking some methods in  
RolePrivilegeProvider.In common cases, invoking setRolePrivileges() should take effect on
 customer's external security system, and cause modification of external security
 system, this method should return true in such cases. | 
void | 
setRolePrivileges(java.lang.String realmName,
                 java.lang.String roleName,
                 java.lang.String[] privileges)
Sets a role's privileges in customer's external security system. 
 | 
java.util.Hashtable getRolePrivileges(java.lang.String realmName)
                               throws JRCustomerException
realmName - the realm name.Hashtable object to represent all roles' privilege
     settings. In the returned Hashtable, the key is role name, the value
     is a String array, which may contain below strings: 
     jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT and
     jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
     jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
     indicating credential to deploy reports/catalogs to the server,
     jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
     indicating credential to access advanced informationJRCustomerException - If an error occurs during JReport server security
     system invoking this method, and the implementation thinks this error should be thrown
     to JReport server security system.void setRolePrivileges(java.lang.String realmName,
                       java.lang.String roleName,
                       java.lang.String[] privileges)
                throws NoSuchRoleException,
                       JRCustomerException
realmName - the realm name.roleName - the role name.privileges - A String array, which may contain below strings: 
     jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT and
     jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
     jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
     indicating credential to deploy reports/catalogs to the server,
     jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
     indicating credential to access advanced informationNoSuchRoleException - If there is no role with the specified name in 
     customer's external security system.JRCustomerException - If an error occurs during JReport server security
     system invoking this method, and the implementation thinks this error should be thrown
     to JReport server security system.boolean isEnableEdit()
RolePrivilegeProvider.setRolePrivileges() should take effect on
 customer's external security system, and cause modification of external security
 system, this method should return true in such cases. If customer's external
 security system will not be affected by invoking setRolePrivileges(),
 this method should return false. isEditing() with parameter
 SecurityWebAdaptor.ACTION_EDIT_ROLE_PRIVILEGES in jet.server.api.SecurityWebAdaptor
 is the same as this method's return value.true if external security system will be affected by invoking
     setRolePrivileges(), otherwise return false.SecurityWebAdaptor