public class S_DirectoryGroup extends S_TieDirectoryObject
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
S_DirectoryGroup.MemberIdSet
Used to create the complete set of members by cascading down a
 group hierarchy and filtering out duplicates. 
 | 
S_DirectoryObject.AncestorIdSetS_LibraryObject.MapInfo| Modifier and Type | Field and Description | 
|---|---|
protected static int | 
GET_MEMBERS_THRESHOLD
Default threshold for using temp table when getting all members. 
 | 
protected static long | 
WORLDGROUP_ID
ID of the WORLD group. 
 | 
GET_ANCESTORS_THRESHOLDACL_ATTRIBUTE, CLASS_NAME, CREATEDATE_ATTRIBUTE, CREATOR_ATTRIBUTE, DELETOR_ATTRIBUTE, EXPIRATIONDATE_ATTRIBUTE, FAMILY_ATTRIBUTE, LASTMODIFIER_ATTRIBUTE, LASTMODIFYDATE_ATTRIBUTE, NAME_ATTRIBUTE, OWNER_ATTRIBUTE, POLICY_ENUM_EXTENDEDFREE_IGNORE_OWNERSHIP, POLICY_ENUM_EXTENDEDFREE_INVALID_VALUE, POLICY_ENUM_EXTENDEDFREE_REQUIRE_ADMIN, POLICYBUNDLE_ATTRIBUTE, RESOLVED_OBJECT_ATTRIBUTE, SECURINGPUBLICOBJECT_ATTRIBUTECASCADE_OP_COPY_PUBLICOBJECT_TO_CATEGORY, CASCADE_OP_COPY_PUBLICOBJECT_TO_RIGHT_RELATIONSHIP, CASCADE_OP_DELETE_FAMILY_TO_VERSIONSERIES, CASCADE_OP_DELETE_PUBLICOBJECT_TO_LEFT_RELATIONSHIP, CASCADE_OP_DELETE_PUBLICOBJECT_TO_RIGHT_RELATIONSHIP, CASCADE_OP_DELETE_PUBLICOBJECT_TO_VERSIONDESCRIPTION, CASCADE_OP_DELETE_RELATIONSHIP_TO_LEFT_PUBLICOBJECT, CASCADE_OP_DELETE_RELATIONSHIP_TO_RIGHT_PUBLICOBJECT, CASCADE_OP_DELETE_VERSIONDESCRIPTION_TO_PUBLICOBJECT, CASCADE_OP_DELETE_VERSIONDESCRIPTION_TO_VERSIONSERIES, CASCADE_OP_DELETE_VERSIONSERIES_TO_FAMILY, CASCADE_OP_DELETE_VERSIONSERIES_TO_VERSIONDESCRIPTION, CASCADE_OP_FREE_CATEGORY_TO_PUBLICOBJECT, CASCADE_OP_FREE_CATEGORY_TO_SCHEMAOBJECT, CASCADE_OP_FREE_CATEGORY_TO_SYSTEMOBJECT, CASCADE_OP_FREE_FAMILY_TO_VERSIONSERIES, CASCADE_OP_FREE_PUBLICOBJECT_TO_CATEGORY, CASCADE_OP_FREE_PUBLICOBJECT_TO_LEFT_RELATIONSHIP, CASCADE_OP_FREE_PUBLICOBJECT_TO_RIGHT_RELATIONSHIP, CASCADE_OP_FREE_PUBLICOBJECT_TO_VERSIONDESCRIPTION, CASCADE_OP_FREE_RELATIONSHIP_TO_LEFT_PUBLICOBJECT, CASCADE_OP_FREE_RELATIONSHIP_TO_RIGHT_PUBLICOBJECT, CASCADE_OP_FREE_SCHEMAOBJECT_TO_CATEGORY, CASCADE_OP_FREE_SYSTEMOBJECT_TO_CATEGORY, CASCADE_OP_FREE_VERSIONDESCRIPTION_TO_PUBLICOBJECT, CASCADE_OP_FREE_VERSIONDESCRIPTION_TO_VERSIONSERIES, CASCADE_OP_FREE_VERSIONSERIES_TO_FAMILY, CASCADE_OP_FREE_VERSIONSERIES_TO_VERSIONDESCRIPTION, CASCADE_OP_UNDEFINED, CASCADE_OP_UNDELETE_FAMILY_TO_VERSIONSERIES, CASCADE_OP_UNDELETE_PUBLICOBJECT_TO_LEFT_RELATIONSHIP, CASCADE_OP_UNDELETE_PUBLICOBJECT_TO_RIGHT_RELATIONSHIP, CASCADE_OP_UNDELETE_PUBLICOBJECT_TO_VERSIONDESCRIPTION, CASCADE_OP_UNDELETE_RELATIONSHIP_TO_LEFT_PUBLICOBJECT, CASCADE_OP_UNDELETE_RELATIONSHIP_TO_RIGHT_PUBLICOBJECT, CASCADE_OP_UNDELETE_VERSIONDESCRIPTION_TO_PUBLICOBJECT, CASCADE_OP_UNDELETE_VERSIONDESCRIPTION_TO_VERSIONSERIES, CASCADE_OP_UNDELETE_VERSIONSERIES_TO_FAMILY, CASCADE_OP_UNDELETE_VERSIONSERIES_TO_VERSIONDESCRIPTION, CASCADE_OP_UPDATE_CATEGORY_TO_PUBLICOBJECT, CASCADE_OP_UPDATE_CATEGORY_TO_SCHEMAOBJECT, CASCADE_OP_UPDATE_CATEGORY_TO_SYSTEMOBJECT, CASCADE_OP_UPDATE_PUBLICOBJECT_TO_CATEGORY, CASCADE_OP_UPDATE_SCHEMAOBJECT_TO_CATEGORY, CASCADE_OP_UPDATE_SYSTEMOBJECT_TO_CATEGORY, DEFAULT_RENDERER, m_ClassId, m_Id, m_Session| Modifier | Constructor and Description | 
|---|---|
protected  | 
S_DirectoryGroup(S_LibrarySession session,
                Long classId)
Constructs an S_DirectoryGroup for the case where the object has not 
 been created in the database yet. 
 | 
protected  | 
S_DirectoryGroup(S_LibrarySession session,
                S_LibraryObjectData data)
Constructs an S_DirectoryGroup. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected void | 
addMember(S_DirectoryObject member)
Adds a member to the group. 
 | 
void | 
addMember(S_DirectoryObject member,
         S_LibraryObjectDefinition sdef)
Adds a member to a group, using a definition to define the 
 membership relationship. 
 | 
void | 
addMembers(S_DirectoryObject[] members)
Adds members to the group. 
 | 
void | 
addMembers(S_DirectoryObject[] members,
          S_LibraryObjectDefinition reldef)
Adds members to the group. 
 | 
protected boolean | 
canUseContentQuota(S_ContentQuota quota)
Returns true if the current user can use the specified ContentQuota
 object. 
 | 
protected void | 
checkQuotaSpecification(S_LibraryObjectDefinition def)
Checks to see if ContentQuota is specified in the definition. 
 | 
protected void | 
deriveDefinition(S_LibraryObjectDefinition def)
Adds to the S_LibraryObjectDefinition for this class. 
 | 
Serializable | 
DYNUpdateOwnerBypassUniquenessCheck(Serializable payload)
Updates the owner and clears the ownerUniqueName attribute. 
 | 
void | 
enforceNameUniquenessByOwner(S_LibraryObjectDefinition def)
Perform name uniqueness enforcement, by owner. 
 | 
protected void | 
extendedPreFree(OperationState opState,
               S_LibraryObjectDefinition def)
Performs operations before freeing an object. 
 | 
protected void | 
extendedPreInsert(OperationState opState,
                 S_LibraryObjectDefinition def)
Updates any system attributes appropriate for creating this 
 object; in this case, invoke a name uniqueness enforcement
 method if specified by a Policy. 
 | 
protected void | 
extendedPreUpdate(OperationState opState,
                 S_LibraryObjectDefinition def)
Update any system attributes appropriate for updating this ACL 
 | 
protected Long[] | 
getAllMemberIds()
Gets the set of all IDs that are members (direct or indirect) 
 of this group. 
 | 
S_DirectoryObject[] | 
getAllMembers()
Gets all members of the group, direct or indirect. 
 | 
protected Long[] | 
getAllUserMemberIds()
Gets the set of all IDs that are user members (direct or indirect) 
 of this group. 
 | 
S_DirectoryObject[] | 
getAllUserMembers()
Gets all user members of the group, direct or indirect. 
 | 
S_ContentQuota | 
getContentQuota()
Gets the S_ContentQuota for this object. 
 | 
Long[] | 
getDirectMemberIds()
Gets the direct members of this group. 
 | 
S_DirectoryObject[] | 
getDirectMembers()
Gets the direct members of this DIRECTORYOBJECT. 
 | 
static S_DirectoryGroup | 
getWorldDirectoryGroup(S_LibrarySession session)
Gets the DirectoryGroup that represents World access. 
 | 
boolean | 
isDirectMember(S_DirectoryObject obj)
Determines if the specified DirectoryObject is a direct member 
 of the group. 
 | 
boolean | 
isMember(S_DirectoryObject obj)
Determines if the specified DirectoryObject is a member of the group. 
 | 
protected boolean | 
isWorldGroup()
Determines if this group is the world group. 
 | 
void | 
removeMember(S_DirectoryObject member)
Removes a member from the group. 
 | 
void | 
removeMember(S_DirectoryObject member,
            boolean bypass)
Removes a member from the group. 
 | 
void | 
removeMembers(S_DirectoryObject[] members)
Removes members from the group. 
 | 
void | 
removeMembers(S_DirectoryObject[] members,
             boolean bypass)
Removes members from a group. 
 | 
protected void | 
verifyCanAddMember()
Verifies that members can be added to the group. 
 | 
protected void | 
verifyCanBeMember()
Verifies that this instance can be a member of a group. 
 | 
protected void | 
verifyCanRemoveMember()
Verifies that members can be removed from the group. 
 | 
constructDirectoryObjectArray, DYNDeleteTemporaryIds, DYNInsertTemporaryIds, extendedPostFree, extendedPostInsert, getAllAncestorIds, getAllAncestors, getAllMembersIds, getCredentialManager, getDirectAncestorIds, getDirectAncestors, getDistinguishedName, vectorToSDirectoryObjectArrayaddCategory, addRelationship, addRelationship, cascadeCopy, cascadeDelete, cascadeFree, cascadeUndelete, checkAccess, constructPublicObjectArray, createCategories, createDefaultPolicyPropertyBundle, createDefaultPropertyBundle, delete, delete, determineResolvedObject, DYNReplaceCreator, DYNReplaceDeletor, DYNReplaceModifier, extendedPostDelete, extendedPostUndelete, extendedPostUpdate, extendedPreCopy, extendedPreDelete, extendedPreUndelete, forceSecuredObjectsToClear, freeIfNoFolderReferences, freeNonsharedAcl, freeNonsharedLockObject, getAcl, getAllFolderPaths, getAllFolderPaths, getAllFolderPaths, getAllFolderPaths, getAllLeftRelationships, getAllRightRelationships, getAnyFolderPath, getAnyFolderPath, getAnyFolderPath, getAnyFolderPath, getAuditEventFolderContext, getCategories, getCategories, getCategories, getCategory, getConsumedStorage, getDefaultAclFromUserProfile, getFamily, getFlags, getLeftRelationships, getLeftwardRelationshipDatas, getLeftwardRelationshipDatas, getLeftwardRelationshipObjectDatas, getLeftwardRelationshipObjectDatas, getLeftwardRelationshipObjects, getLeftwardRelationshipObjects, getLeftwardRelationships, getLeftwardRelationships, getLeftwardRelationshipsCount, getLeftwardRelationshipsCount, getLinkIds, getLinks, getLockedForSessionId, getLockEntries, getLockObject, getLockRestrictions, getOwner, getPrimaryParentFolder, getPropagatedSecurityAttributeNames, getPropagatedSecurityColumnNames, getReferencingFolderIds, getReferencingFolders, getResolvedObject, getRightRelationships, getRightwardRelationshipDatas, getRightwardRelationshipDatas, getRightwardRelationshipObjectDatas, getRightwardRelationshipObjectDatas, getRightwardRelationshipObjects, getRightwardRelationshipObjects, getRightwardRelationships, getRightwardRelationships, getSpecificLeftRelationships, getSpecificRightRelationships, getVersionDescriptions, handleCascade, handleExtendedFreePolicy, hasNameAttribute, invokeLockingPolicy, isAuditCertificateSecured, isDeleted, isLocked, isLockedForSession, isLockedForSessionByCurrentSession, isLockObjectEnabled, isLockObjectEnabled, isOwner, isVersionable, postCreateAddToFolder, postDelete, postSecurityChangeAuditEvent, postUndelete, postUpdateAddToFolder, preDelete, preUndelete, propagateFreeIfNoFolderReferences, propagateNameChanges, propagateSecurityChanges, propogateSettingsToProxyService, putProperty, reassociateLinks, relationshipExists, removeRelationship, removeRelationship, removeRowFromAclProxyIfSecured, resolveACLSetting, resolveResolvedObject, resolveSecuredBySettings, signalLeftRelationshipFreed, signalRightRelationshipFreed, undelete, undelete, unlockForSession, updateFamily, updateFlags, updateLastModifiedInfo, updatePrimaryParentFolder, vectorToSPublicObjectArray, verifyCanAddRelationship, verifyCanCreate, verifyCanFree, verifyCanLock, verifyCanRemoveRelationship, verifyCanSetPolicy, verifyCanUnlock, verifyCanUpdatePublicObject, verifyCanUseContentQuota, verifyGrantAccess, verifyObjectNotLocked, verifyObjectNotLocked, verifyPublicObjectPermissionadded, applyValueDefault, associatedPostFree, associatedPostInsert, associatedPreInsert, canPurge, cascadeUpdate, checkRequiredForInsert, checkSettable, clearArrayTypeAttributeValues, clearMapTypeAttributeValues, clonePublicObjectAttribute, constructIdArray, constructIdArray, copy, copy, copyVectorToLibraryObjectArray, createDefaultPropertyBundle, createInstance, deleteRows, deriveOwnerUniqueName, deriveOwnerUniqueName, deriveUppercasedAttribute, determineClassDomain, determinePolicy, determinePolicy, determineValueDefault, determineValueDomain, dispose, DYNInvalidateState, DYNLockRows, equals, equals, executePolicyOperation, findPolicyFromPropertyBundleAv, free, free, getAttribute, getAttributeByUpperCaseName, getAuditCertificateName, getAuditDomainContext, getAuditDomainContextFolder, getClassData, getClassId, getClassName, getClassObject, getContentStorageManager, getData, getDefinition, getEffectivePolicyActionContexts, getEffectivePolicyListElements, getEventualAttributeByUpperCaseName, getId, getLibraryConnection, getName, getObjectReferenceAttribute, getPropertyBundle, getPropertyValue, getResourceString, getResourceString, getService, getSession, getSessionInterface, getTraceLogger, handleEvent, hashCode, insertReferenceAttributes, insertRow, insertRows, invalidateState, invokeOperation, invokePolicyMethod, isBroadcastCreateEventEnabled, isInstanceOf, isPersistent, issueCascade, isTraced, lockRows, postEvent, postEvent, postEvent, postFree, postInsert, postUpdate, preFree, preInsert, preUpdate, privilegedUpdate, removed, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, toString, trace, update, updateRows, validateStringArray, verifyCanGetContent, verifyCanSetContent, verifyCanUpdate, verifyPersistent, verifyWriteableTransactionInProgressclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetAttributeByUpperCaseName, getClassId, getId, getSessionInterfacegetTraceLogger, isTraced, traceprotected static final int GET_MEMBERS_THRESHOLD
protected static final long WORLDGROUP_ID
protected S_DirectoryGroup(S_LibrarySession session, S_LibraryObjectData data) throws IfsException
session - current LibrarySessiondata - Data componentIfsException - if operation failsprotected S_DirectoryGroup(S_LibrarySession session, Long classId) throws IfsException
session - current LibrarySessionIfsException - if operation failspublic S_ContentQuota getContentQuota() throws IfsException
IfsException - if the operation failsprotected final boolean isWorldGroup()
public static S_DirectoryGroup getWorldDirectoryGroup(S_LibrarySession session) throws IfsException
session - the sessionIfsException - if operation fails.protected void deriveDefinition(S_LibraryObjectDefinition def) throws IfsException
This this called by getDefinition() on S_LibraryObject.
This must call super.deriveDefinition() before applying any class-specific changes to S_LibraryObjectDefinition.
deriveDefinition in class S_PublicObjectdef - the S_LibraryObjectDefinition that contains
  the definition of the target object.IfsException - if operation fails.protected void extendedPreInsert(OperationState opState, S_LibraryObjectDefinition def) throws IfsException
extendedPreInsert in class S_PublicObjectopState - current operation statedef - current object definition to be updated with system attributesIfsException - if operation fails.protected void extendedPreUpdate(OperationState opState, S_LibraryObjectDefinition def) throws IfsException
extendedPreUpdate in class S_PublicObjectopState - current operation statedef - current object definition to be updated with system attributesIfsException - if operation fails.protected void extendedPreFree(OperationState opState, S_LibraryObjectDefinition def) throws IfsException
This is overridden by classes that need to perform operations after successfully deleting the rows for the freed instance.
extendedPreFree in class S_DirectoryObjectopState - current operation statedef - current object definition to be 
            updated with system attributesIfsException - if operation fails.protected void checkQuotaSpecification(S_LibraryObjectDefinition def) throws IfsException
def - server-side definition that might contain a
              ContentQuota specificationIfsException - if operation fails.public void enforceNameUniquenessByOwner(S_LibraryObjectDefinition def) throws IfsException
def - current object definition to be updated 
          with system attributesIfsException - if operation fails.public Serializable DYNUpdateOwnerBypassUniquenessCheck(Serializable payload) throws IfsException
payload - the id of the new userIfsException - if operation fails.protected void addMember(S_DirectoryObject member) throws IfsException
member - the DirectoryObject to be added to the DirectoryGroupIfsException - if any other aspect of the operation fails.public void addMember(S_DirectoryObject member, S_LibraryObjectDefinition sdef) throws IfsException
member - the DirectoryObject to be added to the DirectoryGroupsdef - the def for the relationshipsIfsException - if any other aspect of the operation fails.public void addMembers(S_DirectoryObject[] members) throws IfsException
members - the members to be added to the DirectoryGroupIfsException - if any other aspect of the operation fails.public void addMembers(S_DirectoryObject[] members, S_LibraryObjectDefinition reldef) throws IfsException
members - the members to be added to the DirectoryGroupreldef - the def for the relationshipsIfsException - if the operation fails.public void removeMember(S_DirectoryObject member) throws IfsException
member - the member to be removed from the groupIfsException - if operation failspublic void removeMember(S_DirectoryObject member, boolean bypass) throws IfsException
member - the member to be removed from the groupbypass - true if security is to be bypassedIfsException - if operation failspublic void removeMembers(S_DirectoryObject[] members) throws IfsException
members - the members to be removed from the groupIfsException - if operation failspublic void removeMembers(S_DirectoryObject[] members, boolean bypass) throws IfsException
members - members to be removed from the DirectoryGroupbypass - true if security is to be bypassedIfsException - if the operation fails.public S_DirectoryObject[] getAllMembers() throws IfsException
getAllMembers in class S_DirectoryObjectIfsException - if the operation failspublic S_DirectoryObject[] getAllUserMembers() throws IfsException
IfsException - if the operation failsprotected Long[] getAllMemberIds() throws IfsException
IfsException - if the operation fails.protected Long[] getAllUserMemberIds() throws IfsException
IfsException - if the operation fails.public boolean isMember(S_DirectoryObject obj) throws IfsException
obj - the DirectoryObjectIfsException - if the operation failspublic S_DirectoryObject[] getDirectMembers() throws IfsException
getDirectMembers in class S_DirectoryObjectIfsException - if the operation failspublic Long[] getDirectMemberIds() throws IfsException
IfsException - if the operation failspublic boolean isDirectMember(S_DirectoryObject obj) throws IfsException
obj - the DirectoryObjectIfsException - if the operation failsprotected void verifyCanAddMember()
                           throws IfsException
This requires that the user have AddMember access on the group.
IfsException - if the operation failsprotected void verifyCanRemoveMember()
                              throws IfsException
This requires that the user have RemoveMember access on the group.
IfsException - if the operation failsprotected void verifyCanBeMember()
                          throws IfsException
verifyCanBeMember in class S_DirectoryObjectIfsException - if the operation failsprotected boolean canUseContentQuota(S_ContentQuota quota) throws IfsException
canUseContentQuota in class S_PublicObjectIfsException - if the operation failsCopyright © 2025. All rights reserved.