Package com.iplanet.ums
Class AssignableDynamicGroup
- java.lang.Object
-
- com.iplanet.ums.PersistentObject
-
- com.iplanet.ums.DynamicGroup
-
- com.iplanet.ums.AssignableDynamicGroup
-
- All Implemented Interfaces:
IAssignableMembership,IDynamicMembership,IMembership,ISearch,IUMSConstants,Serializable
public class AssignableDynamicGroup extends DynamicGroup implements IAssignableMembership
Represents a dynamic group entry that uses memberOf as its filter. It checks whether the user is the member of the specified group- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.iplanet.ums.PersistentObject
COMPUTED_MEMBER_ATTR_NAME
-
Fields inherited from interface com.iplanet.ums.IUMSConstants
ADD_NULL_OBJ, ATTR_NOT_ALLOWED, ATTRIBUTETYPE_NOT_FOUND, BAD_ATTRNAMES, BAD_CHILD_OBJ, BAD_CLASS, BAD_COS_ATTR_QUALIFIER, BAD_GUID, BAD_ID, BAD_NAMING_ATTR, BAD_OBJ_TO_ADD, BAD_PRINCIPAL_HDL, BAD_STRUCTURE_TEMPLATE_PRIORITY, BAD_TEMPLATE, BAD_TOKEN_HDL, COMPOSE_GUID_FAILED, CONFIG_MGR_ERROR, COS_DEF_OR_TARGET_OBJECT_NULL, COS_DEFINITION_NOT_FOUND, COS_DEFINITION_NOT_PERSISTENT, COS_TARGET_OBJECT_DIFFERENT_TREE, COS_TARGET_OBJECT_NOT_PERSISTENT, COS_TEMPLATE_NOT_FOUND, DATA_CONSTRAINT, DEFINITION_NOT_PERSISTENT, DEL_NULL_OBJ, DSCFG_CONNECTFAIL, DSCFG_CTRLERROR, DSCFG_DIRSERVER_NODE_EXPECTED, DSCFG_INVALID_BASE_DN, DSCFG_JSSSFFAIL, DSCFG_NO_FILE_PATH, DSCFG_NOCFGMGR, DSCFG_SERVER_NOT_FOUND, DSCFG_SERVERGROUP_NODE_EXPECTED, DSCFG_UNSUPPORTEDLSTNRTYPE, DSCFG_UNSUPPORTEDSERVERCTRL, ENTRY_ALREADY_EXISTS, ENTRY_NOT_FOUND, ERROR_CM, ERROR_CM_INITIATE, ILLEGAL_ADGROUP_SCOPE, ILLEGAL_GROUP_SCOPE, INSTANCE_FAILED, INSUFFICIENT_ACCESS_ADD, INSUFFICIENT_ACCESS_DELETE, INVALID_COS_ATTRIBUTE_QUALIFIER, INVALID_COSDEFINITION, INVALID_TOKEN, MISSING_TEMPL_NAME, MULTIPLE_ENTRY, NEW_INSTANCE_FAILED, NEXT_ENTRY_FAILED, NO_NAMING_ATTR, NO_POLICY_DOMAIN, NO_RECURSION_ALLOW, NO_REQUIRED, NO_VALUE, NULL_GUIDS, NULL_PRINCIPAL, NULL_SESSION, NULL_TOKEN, OBJECT_NOT_PERSISTENT, OBJECTCLASS_NOT_FOUND, PERSISTENT_OBJECT_PARAM_NULL, POLICIES_DO_NOT_MATCH_BY_NAME_RESOURCE_ACTION, POLICY_DOMAIN_NOT_FOUND, POLICY_EXISTS_FOR_NAME, POLICY_EXISTS_FOR_RESOURCE_ACTION, POLICY_NOT_FOUND, POLICY_ROOT_NOT_FOUND, READ_ATTRIBUTES_ERROR, READING_LDIF_FAILED, REPLACE_DEFINITION_NOT_PERSISTENT, ROLE_CONTAINED, SEARCH_FAILED, services_validator_initialize_failed, services_validator_invalid_attr_name, services_validator_invalid_attr_schema, services_validator_schema_does_not_exist, SMS_ADD_SUB_CONFIG_FAILED, SMS_ADMIN_LIMIT_EXCEEDED, SMS_ATTR_LIST_NEEDED, SMS_ATTR_NAME_NOT_FOUND, SMS_ATTR_OR_VAL_EXISTS, SMS_ATTR_SYNTAX_NOT_FOUND, SMS_AUTHENTICATION_ERROR, SMS_CAN_NOT_CONSTRUCT_SERVICE_MANAGER, SMS_CANNOT_CREATE_INSTANCE, SMS_CANNOT_CREATE_PLACE_HOLDER_NODE, SMS_EVENT_NOTIFICATION_FAILED, SMS_failed_to_get_schema_manager, SMS_INSUFFICIENT_ACCESS_RIGHTS, SMS_INVALID_ATTR_ENTRY, SMS_INVALID_ATTR_NAME, SMS_INVALID_CLASS_NAME, SMS_INVALID_CONFIG_NAME, SMS_INVALID_DN, SMS_INVALID_METHOD, SMS_INVALID_OP_VALUE, SMS_INVALID_PARAMETERS, SMS_INVALID_SEARCH_BASE, SMS_INVALID_SEARCH_ORDER_PARAMETER, SMS_INVALID_SEARCH_PATTERN, SMS_LDAP_NOT_SUPPORTED, SMS_LDAP_OPERATION_FAILED, SMS_LDAP_REFERRAL_EXCEPTION, SMS_LDAP_SERVER_BUSY, SMS_NO_ATTRIBUTE_IN_ENTRY, SMS_NO_SUCH_ATTRIBUTE, SMS_NO_SUCH_OBJECT, SMS_NODE_ALREADY_EXISTS, SMS_OC_NAME_NOT_FOUND, SMS_organization_already_exists_no_args, SMS_READONLY_OBJ, SMS_SERVER_DOWN, SMS_SERVER_INSTANCE_NOT_FOUND, SMS_service_already_exists, SMS_service_already_exists_no_args, SMS_service_does_not_exist, SMS_SERVICE_NAME_NOT_FOUND, SMS_SERVICE_NODE_NOT_FOUND, SMS_services_node_does_not_exist, SMS_SMSSchema_exception_message, SMS_SMSSchema_invalid_input_stream, SMS_SMSSchema_invalid_xml_document, SMS_SMSSchema_no_schema_element, SMS_SMSSchema_no_service_element, SMS_SMSSchema_parser_error, SMS_SMSSchema_service_notfound, SMS_SUB_CONFIG_DOES_NOT_EXIST, SMS_TIME_LIMIT_EXCEEDED, SMS_UNEXPECTED_LDAP_EXCEPTION, SMS_UNKNOWN_EXCEPTION_OCCURRED, SMS_VALIDATOR_CANNOT_INSTANTIATE_CLASS, SMS_VALUE_DOES_NOT_EXIST, SMS_xml_invalid_doc_type, SMS_XML_PARSER_EXCEPTION, SMSSCHEMA_SERVICE_NOTFOUND, SSO_ILLEGALACCESS, SSO_NOPROVIDERCLASS, SSO_NOPROVIDERINSTANCE, SSO_NOPROVIDERPROPERTY, STRUCTURE_TEMPLATE_ATTRSET_NULL, TEMPLATE_NO_ATTR, UMS_BUNDLE_NAME, UMS_DEBUG, UMS_PKG, UNABLE_TO_ADD_ENTRY, UNABLE_TO_DELETE_ENTRY, UNABLE_TO_READ_ENTRY, UNMATCHED_CLASS, USER_NOT_IN_GROUP_SCOPE
-
-
Constructor Summary
Constructors Constructor Description AssignableDynamicGroup()Default constructorAssignableDynamicGroup(CreationTemplate template, AttrSet attrSet)Constructs an in memoryAssignableDynamicGroupobject with a given template.AssignableDynamicGroup(CreationTemplate template, AttrSet attrSet, Guid baseGuid, int scope)Constructs anAssignableDynamicGroupobject with a given template.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMember(Guid userGuid)Adds a member to the group.voidaddMember(PersistentObject member)Adds a member to the group.voidaddMembers(Guid[] guids)Adds a list of members to the group.booleanhasMember(Guid guid)Returnstrueif a given identifier is a member of the group.voidremoveAllMembers()Removes all members of the group.voidremoveMember(Guid guid)Removes a member from the group.voidremoveMember(PersistentObject member)Removes a member from the group.protected voidsetGuid(Guid guid)Sets the GUID of the entity; used within the package.voidsetSearchFilter(String filter)Sets the search filter used to evaluate this dynamic group.-
Methods inherited from class com.iplanet.ums.DynamicGroup
getMemberCount, getMemberIDAt, getMemberIDs, getMemberIDs, getSearchBase, getSearchFilter, getSearchScope, getUrl, setSearchBase, setSearchScope, setUrl, setUrl, toUrlStr
-
Methods inherited from class com.iplanet.ums.PersistentObject
addACI, addAttributeValue, addChild, changePassword, deleteACI, getACI, getACI, getAttribute, getAttribute, getAttributeNames, getAttributes, getAttributes, getAttributes, getAttrSet, getChildren, getChildren, getChildren, getDN, getGuid, getNamingAttribute, getParentGuid, getParentObject, getRoles, idToDN, isMemberOf, isPersistent, modify, modify, modify, remove, removeAttribute, removeAttributeValue, removeChild, removeChild, rename, replaceACI, save, search, search, search, setAttribute, setAttribute, setAttrSet, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.iplanet.ums.IMembership
getMemberCount, getMemberIDAt, getMemberIDs
-
-
-
-
Constructor Detail
-
AssignableDynamicGroup
public AssignableDynamicGroup()
Default constructor
-
AssignableDynamicGroup
public AssignableDynamicGroup(CreationTemplate template, AttrSet attrSet) throws UMSException
Constructs an in memoryAssignableDynamicGroupobject with a given template. This is an in memory Group object and one needs to call save method tosavethis newly created object to persistent storage.- Parameters:
template- Template for creating a group.attrSet- Attribute/value set.- Throws:
UMSException- if fail to instantiate from persistent storage.
-
AssignableDynamicGroup
public AssignableDynamicGroup(CreationTemplate template, AttrSet attrSet, Guid baseGuid, int scope) throws UMSException
Constructs anAssignableDynamicGroupobject with a given template. This is an in memory Group object and one needs to callsavemethod to save this newly created object to persistent storage.- Parameters:
template- Template for creating a group.attrSet- Attribute-value set which should not contain member URL; any values of member URL will be overwritten by the explicit search criteria arguments.baseGuid- Search base for evaluating members of the groupscope- Search scope for evaluating members of the group has to beLDAPv2.SCOPE_ONEorLDAPv2.SCOPE_SUB.- Throws:
UMSException- if fail to instantiate from persistent storage
-
-
Method Detail
-
setSearchFilter
public void setSearchFilter(String filter)
Sets the search filter used to evaluate this dynamic group. For anAssignableDynamicGroup, the filter is always"memberof=THIS_DN", so this method should not generally be called outside the package.- Specified by:
setSearchFilterin interfaceIDynamicMembership- Overrides:
setSearchFilterin classDynamicGroup- Parameters:
filter- Search filter for evaluating members of the group the scope in the filter has to beLDAPv2.SCOPE_ONEorLDAPv2.SCOPE_SUB.
-
setGuid
protected void setGuid(Guid guid)
Sets the GUID of the entity; used within the package.- Overrides:
setGuidin classPersistentObject- Parameters:
guid- GUIDREVIEW: This method overloads thePersistentObject.setGuid()method. Hence the signature has to match, and we can't throw theUMSExceptionthat could be thrown from"setSearchFilter". Is it enough to log such an error ???
-
addMember
public void addMember(Guid userGuid) throws UMSException
Adds a member to the group. The change is saved to persistent storage.- Specified by:
addMemberin interfaceIAssignableMembership- Parameters:
userGuid- Globally unique identifier for the member to be added.- Throws:
UMSException- if fail to save to persistent storage or if the user is not within the scope of the group.
-
addMember
public void addMember(PersistentObject member) throws UMSException
Adds a member to the group. The change is saved to persistent storage.- Specified by:
addMemberin interfaceIAssignableMembership- Parameters:
member- Object to be added as member.- Throws:
UMSException- if fail to save to persistent storage or if the user is not within the scope of the group.
-
addMembers
public void addMembers(Guid[] guids) throws UMSException
Adds a list of members to the group. The change is saved to persistent storage.- Specified by:
addMembersin interfaceIAssignableMembership- Parameters:
guids- Array of member GUIDs to be added as members to the group.- Throws:
UMSException- if fail to save to persistent storage.
-
removeMember
public void removeMember(Guid guid) throws UMSException
Removes a member from the group. The change is saved to persistent storage.- Specified by:
removeMemberin interfaceIAssignableMembership- Parameters:
guid- Unique identifier for the member to be removed.- Throws:
UMSException- if fail to save to persistent storage.
-
removeMember
public void removeMember(PersistentObject member) throws UMSException
Removes a member from the group. The change is saved to persistent storage.- Specified by:
removeMemberin interfaceIAssignableMembership- Parameters:
member- Object to be removed.- Throws:
UMSException- if fail to save to persistent storage.
-
removeAllMembers
public void removeAllMembers() throws UMSExceptionRemoves all members of the group.- Specified by:
removeAllMembersin interfaceIAssignableMembership- Throws:
UMSException- if fail to save to persistent storage.
-
hasMember
public boolean hasMember(Guid guid) throws UMSException
Returnstrueif a given identifier is a member of the group.- Specified by:
hasMemberin interfaceIMembership- Overrides:
hasMemberin classDynamicGroup- Parameters:
guid- Identity of member to be checked for membership.- Returns:
trueif it is a member.- Throws:
UMSException- if fail to read object for guid.
-
-