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.