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.AncestorIdSet
S_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_THRESHOLD
ACL_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_ATTRIBUTE
CASCADE_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, vectorToSDirectoryObjectArray
addCategory, 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, 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, verifyPublicObjectPermission
added, 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, 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, postFree, postInsert, postUpdate, preFree, preInsert, preUpdate, privilegedUpdate, removed, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, toString, trace, update, updateRows, validateStringArray, verifyCanGetContent, verifyCanSetContent, verifyCanUpdate, verifyPersistent, verifyWriteableTransactionInProgress
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getAttributeByUpperCaseName, getClassId, getId, getSessionInterface
getTraceLogger, isTraced, trace
protected 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_PublicObject
def
- 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_PublicObject
opState
- 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_PublicObject
opState
- 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_DirectoryObject
opState
- 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_DirectoryObject
IfsException
- 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_DirectoryObject
IfsException
- 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_DirectoryObject
IfsException
- if the operation failsprotected boolean canUseContentQuota(S_ContentQuota quota) throws IfsException
canUseContentQuota
in class S_PublicObject
IfsException
- if the operation failsCopyright © 2023. All rights reserved.