Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jet.server.api.custom.security.relation
Interface RoleGroupRelationProvider

    public interface RoleGroupRelationProvider

Within interfaces of JReport security API, `RoleGroupProvider` is used to provide customized relation information among roles and groups. Except getting relation infomation among roles and groups from customer's external security system, this interface also provide ability to modify relation information among roles and groups in customer's external security system.

Since:
  version 8

Method Summary
`void` | `addGroupToRole(java.lang.String realmName, java.lang.String roleName, java.lang.String groupName)` Associate a group with specified role in customer's external security system.
`java.util.Iterator` | `getGroupsByRole(java.lang.String realmName, java.lang.String roleName)` Get group names which associate with the specified role from cusotmer's external security system.
`boolean` | `isEnableEdit()` Indicates whether customer's external security system will be modified by invoking some methods in `RoleGroupRelationProvider`. In common cases, invokeing `addGroupToRole()` or `removeGroupFromRole()` should take effect on customer's external security system, and cause modification of external security system, this method should return `true` in such case.
`void` | `removeGroupFromRole(java.lang.String realmName, java.lang.String roleName, java.lang.String groupName)` Remove association between specified role and group in customer's external security system.

Method Detail

### getGroupsByRole

    java.util.Iterator getGroupsByRole(java.lang.String realmName,
                                       java.lang.String roleName)
                                       throws NoSuchRoleException,
                                              JRCustomerException

  Get group names which associate with the specified role from cusotmer's external security system.

  Parameters:
    `realmName` - the realm name
    `roleName` - the role name.
  Returns:
    group names which associate with specified role.
  Throws:
    `NoSuchRoleException` - If there is no a role has specified role name in customer's external security system.
    `JRCustomerException` - If an error occurs during JReport server security system invoking this method, and the implementation think should throw this error to JReport server security system.

### addGroupToRole

    void addGroupToRole(java.lang.String realmName,
                        java.lang.String roleName,
                        java.lang.String groupName)
                        throws NoSuchRoleException,
                               NoSuchGroupException,
                               GroupExistsException,
                               JRCustomerException

  Associate a group with specified role in customer's external security system.

  Parameters:
    `realmName` - the realm name
    `roleName` - the role name which group will associate with
    `groupName` - the group name which will associate with specifiec role
  Throws:
    `NoSuchRoleException` - If specified role does not exist in customer's external security system.
    `NoSuchGroupException` - If specified group does not exist in customer's external security system.
    `GroupExistsException` - If the group has associated with specified role in customer's external security system.
    `JRCustomerException` - If an error occurs during JReport server security system invoking this method, and the implementation think should throw this error to JReport server security system.

### removeGroupFromRole

    void removeGroupFromRole(java.lang.String realmName,
                             java.lang.String roleName,
                             java.lang.String groupName)
                             throws NoSuchRoleException,
                                    NoSuchGroupException,
                                    JRCustomerException

  Remove association between specified role and group in customer's external security system.

  Parameters:
    `realmName` - the realm name
    `roleName` - the parent role name
    `groupName` - the group name
  Throws:
    `NoSuchRoleException` - If specified role does not exist in customer's external security system.
    `NoSuchGroupException` - If specified group does not exist in customer's external security system.
    `JRCustomerException` - If an error occurs during JReport server security system invoking this method, and the implementation think should throw this error to JReport server security system.

### isEnableEdit

    boolean isEnableEdit()

  Indicates whether customer's external security system will be modified by invoking some methods in `RoleGroupRelationProvider`.
  In common cases, invokeing `addGroupToRole()` or `removeGroupFromRole()` should take effect on customer's external security system, and cause modification of external security system, this method should return `true` in such case. If cusotmer's external security system will not be affected by invoking `addGroupToRole()` or `removeGroupFromRole()`, this method should return `false`.
  Return value of method `isEditing()` with paramter `SecurityWebAdaptor.ACTION_EDIT_RELATION_ROLE_GROUP` in `jet.server.api.SecurityWebAdaptor` is same with this method's return value.

  Returns:
    `true` if external security system will be affected by invoking `addGroupToRole()` or `removeGroupFromRole()`, otherwise return `false`.
  See Also:
    `SecurityWebAdaptor`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD