public class DirectoryGroup extends TieDirectoryObject
This class enables defining membership relationships by providing methods to add or or remove instances of the GroupMembershiprelationship class.
Also provided are methods to fetch the direct members of this group (that is, DirectoryObejcts that have a GroupMembershiprelationship associated with this object), and "all members" (also known as "fully resolved members") of the group, which is the union of the direct members and the fully resolved members of each of the direct members.
There is one special instance of DirectoryGroup, known as the "World" group. This group has an implied set of direct members that includes all DirectoryUsers defined in the server.
Modifier and Type | Field and Description |
---|---|
static String |
CLASS_NAME
Class name for this class.
|
static String |
CONTENTQUOTA_ATTRIBUTE
The ContentQuota associated with this group for the purpose of adminstering quota
on a group-wise basis.
|
static String |
GROUP_CLASS_DOMAIN_NAME
name of class domain used for this class
|
static String |
OWNERUNIQUENAME_ATTRIBUTE
A system-set attribute used to ensure no groups owned by a user have duplicate names.
|
static long |
WORLDGROUP_ID
Id of the "world" group.
|
CREDENTIALMANAGER_ATTRIBUTE, DISTINGUISHEDNAME_ATTRIBUTE
ACL_ATTRIBUTE, CREATEDATE_ATTRIBUTE, CREATOR_ATTRIBUTE, DELETOR_ATTRIBUTE, DESCRIPTION_ATTRIBUTE, EXPIRATIONDATE_ATTRIBUTE, FAMILY_ATTRIBUTE, FLAG_CATEGORY_EXISTS, FLAG_CONFIGURATIONCATEGORY_EXISTS, FLAG_MARKED, FLAG_NOINFERIOR, FLAG_NOSELECT, FLAG_NTFS_ARCHIVE, FLAG_NTFS_HIDDEN, FLAG_NTFS_READONLY, FLAG_NTFS_SYSTEM, FLAG_UNMARKED, FLAGS_ATTRIBUTE, LASTMODIFIER_ATTRIBUTE, LASTMODIFYDATE_ATTRIBUTE, LOCKENTRIES_ATTRIBUTE, LOCKOBJECT_ATTRIBUTE, NAME_ATTRIBUTE, OWNER_ATTRIBUTE, POLICYBUNDLE_ATTRIBUTE, POLICYLISTS_ATTRIBUTE, PRIMARYPARENTFOLDER_ATTRIBUTE, PROPERTYBUNDLE_ATTRIBUTE, RESOLVEDPUBLICOBJECT_ATTRIBUTE, SECURINGPUBLICOBJECT_ATTRIBUTE
DOMAIN_UNIQUENAME_DEFAULT_DELIMITER, m_ClassId, m_Id, m_Session
Modifier | Constructor and Description |
---|---|
protected |
DirectoryGroup(LibrarySession session,
Long id,
Long classId,
S_LibraryObjectData data)
Constructs a DirectoryGroup object - standard variant.
|
Modifier and Type | Method and Description |
---|---|
void |
addMember(DirectoryObject member)
Adds a direct member to the group.
|
void |
addMembers(DirectoryObject[] members)
Adds a set of direct members to the group.
|
protected void |
auditUpdated(LibraryObjectDefinition lodef)
Creates audit events for the update operation.
|
PublicObjectCapabilities |
capabilities()
Returns the PublicObjectCapabilities delegate which tracks the
capabilities of this object.
|
protected static DirectoryGroup |
constructDirectoryGroup(LibrarySession sess,
S_LibraryObjectData data)
Constructs a DirectoryGroup object from the S_LibraryObjectData object.
|
protected static DirectoryGroup[] |
constructDirectoryGroupArray(LibrarySession sess,
Long[] ids)
Construct a DirectoryGroup array from an array of object IDs.
|
protected static Vector |
constructDirectoryGroupVector(LibrarySession sess,
Vector vector)
Returns DirectoryGroup Vector from a Vector of S_DirectoryObjectData
objects.
|
Long[] |
getAllMemberIds()
Returns IDs refelcting the list of all members for this instance.
|
DirectoryObject[] |
getAllMembers()
Returns array of DirectoryObject that define the list of all members
for this instance.
|
DirectoryObject |
getAllMembers(int index)
Deprecated.
iFS 9.0.3 Use getAllMembers() and index into the resultant array
|
DirectoryUser[] |
getAllUserMembers()
Gets the array of DirectoryUser that define the list of all
DirectoryUser members for this instance.
|
DirectoryUser |
getAllUserMembers(int index)
Gets the member DirectoryUser at the specified index of this group.
|
ContentQuota |
getContentQuota()
Gets the group's ContentQuota object.
|
Long[] |
getDirectMemberIds()
Returns IDs reflecting the direct members of this instance.
|
DirectoryObject[] |
getDirectMembers()
Gets the direct members of this instance.
|
DirectoryObject |
getDirectMembers(int index)
Gets the direct member at the specified index of this group.
|
static DirectoryGroup |
getWorldDirectoryGroup(LibrarySession session)
Gets the DirectoryGroup that represents World access.
|
boolean |
isDirectMember(DirectoryObject member)
Determines if the specified DirecotryObject is a direct member of the group.
|
boolean |
isMember(DirectoryObject obj)
Determines if the specified DirecotryObject is a member of the group.
|
protected boolean |
isValidEventType(AuditEvent event)
Checks to see if the event type in the process of being posted on the
target LibraryObject is consistent with the target.
|
boolean |
isWorldGroup()
Tests whether this group is the World group (the virtual group that
contains all users).
|
protected void |
postCreate(LibraryObjectDefinition lodef)
Extensibility point to perform actions after the
creation of a PublicObject.
|
protected void |
preFree(LibraryObjectDefinition lodef)
Extensibility point to perform actions prior to the
permanent deletion ("free") of a object.
|
void |
removeMember(DirectoryObject member)
Removes a direct member from the group.
|
void |
removeMembers(DirectoryObject[] members)
Removes a set of direct members from the group.
|
protected void |
reportGroupCreated()
Audits a Group create operation.
|
protected void |
reportGroupFreed()
Audits a Group free operation.
|
protected void |
reportGroupMembershipChanges()
Audits a Group membership change operation.
|
void |
resetDirectMembers()
Deprecated.
iFS 9.0.3 No longer has any effect
|
void |
setContentQuota(ContentQuota quota)
Sets the group's ContentQuota attribute.
|
protected static DirectoryGroup |
vectorDirectoryGroupElement(Vector vector,
int index)
Returns a DirectoryGroup from the Vector of DirectoryGroup at the
specified index.
|
protected static DirectoryGroup[] |
vectorToDirectoryGroupArray(Vector vector)
Converts a Vector of DirectoryGroup to an array of DirectoryGroup.
|
protected void |
verifyAddMemberCapability()
Verify the ability to add member.
|
protected void |
verifyRemoveMemberCapability()
Verify the ability to remove member.
|
constructDirectoryObject, constructDirectoryObjectArray, constructDirectoryObjectVector, getAllAncestorIds, getAllAncestors, getAllAncestors, getCredentialManager, getDirectAncestors, getDirectAncestors, getDistinguishedName, isMemberOf, resetAllAncestors, resetDirectAncestors, setCredentialManager, setDistinguishedName, vectorDirectoryObjectElement, vectorToDirectoryObjectArray
addAccess, addAttachment, addCategory, addFlags, addMessageList, addRelationship, auditPublicObjectLocked, auditPublicObjectUnlocked, canAcquireManualLock, canReleaseDavLock, canReleaseLock, canReleaseManualLock, checkAuditViewCapability, checkCapabilities, checkCapability, checkEffectiveAccess, checkEffectiveAccess, checkLockAccess, checkParentFolderCapability, checkVersioned, clearFlags, constructPublicObject, constructPublicObjectArray, constructPublicObjectVector, containsLockEntry, copy, coreAutoFolderingEnabled, createCategories, createDedicatedPolicyPropertyBundle, delete, deriveEffectiveAccessLevel, findAttachmentRelation, findOrAddActivityRecord, findOrAddActivityRecord, findOrAddActor, findOrAddActor, findOrAddMessageList, findOrAddMessageList, free, getAcl, getActivityRecord, getActor, getAllFolderPaths, getAllFolderPaths, getAllFolderPaths, getAnyFolderPath, getAnyFolderPath, getAnyFolderPath, getAttachmentRelation, getAttachmentRelations, getAttachments, getCapabilities, getCategories, getCategories, getCategories, getCategories, getCategories, getCategory, getConsumedStorage, getCreateDate, getCreator, getDefaultAccessLevel, getDefinitionForSimplePropertyUpdates, getDeletor, getDescription, getEffectiveAccessLevel, getEffectiveAccessLevel, getExpirationDate, getFamily, getFirstCategory, getFirstVersion, getFlags, getFolderReferences, getFolderReferences, getFolderReferencesSortSpecification, getLastModifier, getLastModifyDate, getLastVersion, getLeftwardRelationshipObjects, getLeftwardRelationshipObjects, getLeftwardRelationships, getLeftwardRelationships, getLeftwardRelationshipsCount, getLeftwardRelationshipsCount, getLinks, getLockEntries, getLockEntries, getLockObject, getLockRestrictions, getLockTypeAuditProperties, getMessageList, getNextVersion, getOwner, getPolicyBundle, getPolicyLists, getPreviousVersion, getPrimaryFolderPath, getPrimaryParentFolder, getPrimaryParentFolder, getRelations, getReservationComment, getReservationDate, getReservor, getResolvedPublicObject, getRestrictingLockEntries, getRightwardRelationshipObjects, getRightwardRelationshipObjects, getRightwardRelationships, getRightwardRelationships, getSecuringPublicObject, getSingletonVersionDescription, getVersionNumber, getVersions, getVersionSeries, getWorkingCopy, grantAccess, handleCopy, handleCreate, handleUnlockAll, hasActivityRecord, hasActor, hasAttachmentRelation, hasCategories, hasCategory, hasConfigurationCategories, hasMessageList, hasNameAttribute, hasPropertyBundleAttribute, isAttachment, isDeleted, isLatestVersion, isLocked, isLockingSupported, isOwner, isReserved, isReservedByCurrentUser, isVersionable, isVersioned, isWorkingCopy, listLeftwardRelationships, listRightwardRelationships, lock, lock, lock, lock, newVersion, postCopy, postSecurityChangedEvent, postUpdate, preCopy, preCreate, preUpdate, putPolicy, reassociateLinks, removeAllPolicies, removeAttachment, removePolicy, removePolicy, removeRelationship, reserveNext, resetFolderReferences, resolveFolderReferenceSortSpecification, revokeAccess, revokeAllAccess, setAcl, setDescription, setExpirationDate, setFlags, setFolderReferencesSortSpecification, setLockEntries, setLockEntrySecurity, setOwner, setOwnerByName, setPolicyBundle, setPolicyLists, setSecuringPublicObject, toPublicObjectArray, undelete, unlock, unlock, unlockAll, unReserve, updateFlags, updateLock, vectorPublicObjectElement, vectorToPublicObjectArray, verifyAddRelationshipCapability, verifyCapabilities, verifyCapability, verifyDeleteCapability, verifyLockCapability, verifyRemoveRelationshipCapability, verifyUnlockCapability, verifyVersionSeries
added, addSimpleProperty, addSimpleProperty, applyProperties, auditCreated, canPurge, checkIfPropertyBundleSupported, checkRequiredAttributeSet, clearCopyContext, clearFreeContext, clearUpdateContext, compareTo, constructIdArray, constructIdArray, constructLibraryObject, constructLibraryObjectVector, createDedicatedPropertyBundle, createInstance, deriveDomainUniqueName, dispose, equals, equals, free, freeAll, get, getAttribute, getAttributeByUpperCaseName, getAttributes, getAttributesByUpperCaseNames, getAuditDomainContext, getAuditEventFolderContext, getClassId, getClassname, getClassName, getClassObject, getCommonName, getCommonNameAndClass, getCopyContext, getCreateContext, getData, getDefinition, getEffectivePolicyListElements, getEventualAttributeByUpperCaseName, getFreeContext, getId, getLabel, getName, getObjectReferenceAttribute, getOperationActionSpecificationContext, getPropertyBundle, getPropertyValue, getPublicObjectAttribute, getResourceString, getResourceString, getSchemaObjectAttribute, getSession, getSessionInterface, getSharedStateFactory, getSimpleObjectAttribute, getSimpleProperties, getSimpleProperty, getSimplePropertyValue, getStringIdentifier, getSystemObjectAttribute, getTraceLogger, getUpdateContext, handleAdminModeChange, handleEvent, handleFree, handleUpdate, hashCode, invalidateState, invokeOperation, invokeOperation, invokeServerMethod, isConnected, isCoreEventPostingEnabled, isInstanceOf, isPersistent, isTraced, lockRows, lookupInstanceLabel, performPostCreateExtensions, performPostFreeExtensions, performPostUpdateExtensions, performPreCreateExtensions, performPreFreeExtensions, performPreUpdateExtensions, postEvent, postEvent, postFree, prePostAuditEvent, putProperty, putProperty, removeAllProperties, removeAllSimpleProperties, removeAllSimpleProperties, removed, removeProperty, removeSimpleProperty, removeSimpleProperty, renderAsRandomAccessContent, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, setAttributes, setCopyContext, setFreeContext, setId, setName, setPropertyBundle, setPropertyValue, setUpdateContext, toString, trace, trustHandleCreate, trustHandleCreateAsAdmin, trustHandleFree, trustHandleFreeAsAdmin, trustHandleUpdate, trustHandleUpdateAsAdmin, update, updateAndExposeDefinition, validatePropertyValues, vectorLibraryObjectElement, vectorToLibraryObjectArray, verifyAdministrationMode, verifyConnected, verifyPersistent, verifySystemUserAccess, verifyTargetObject
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getAttributeByUpperCaseName, getClassId, getId, getSessionInterface
getTraceLogger, isTraced, trace
public static final String CLASS_NAME
Useful for methods that take a class name argument.
public static final String OWNERUNIQUENAME_ATTRIBUTE
public static final String CONTENTQUOTA_ATTRIBUTE
public static final long WORLDGROUP_ID
public static final String GROUP_CLASS_DOMAIN_NAME
protected DirectoryGroup(LibrarySession session, Long id, Long classId, S_LibraryObjectData data) throws IfsException
session
- the sessionid
- the idclassId
- the class iddata
- the DirectoryGroup dataIfsException
- if the operation failspublic PublicObjectCapabilities capabilities()
capabilities
in class PublicObject
protected void postCreate(LibraryObjectDefinition lodef) throws IfsException
PublicObject
This assumes that a transaction context has already been established.
postCreate
in class PublicObject
lodef
- object definition that was used to create the objectIfsException
- if the operation failsprotected void preFree(LibraryObjectDefinition lodef) throws IfsException
PublicObject
Override to free all existing categories, in such a way that the PO doesn't get updated for each category free.
preFree
in class PublicObject
lodef
- object definition used to hold
options related to the free operationIfsException
- if operation fails.protected boolean isValidEventType(AuditEvent event) throws IfsException
isValidEventType
in class LibraryObject
event
- the event being posted on this objectIfsException
- if the operation failsprotected void auditUpdated(LibraryObjectDefinition lodef) throws IfsException
LibraryObject
auditUpdated
in class LibraryObject
lodef
- The update definitionIfsException
- if the operation fails.protected void reportGroupCreated() throws IfsException
IfsException
- if the operation failsprotected void reportGroupFreed() throws IfsException
IfsException
- if the operation failsprotected void reportGroupMembershipChanges() throws IfsException
IfsException
- if the operation failspublic ContentQuota getContentQuota() throws IfsException
IfsException
- if the operation failspublic void setContentQuota(ContentQuota quota) throws IfsException
quota
- the ContentQuota to be associated with this groupIfsException
- if the operation failspublic boolean isWorldGroup() throws IfsException
IfsException
- if operation fails.public static DirectoryGroup getWorldDirectoryGroup(LibrarySession session) throws IfsException
session
- the sessionIfsException
- if operation fails.public void addMember(DirectoryObject member) throws IfsException
The member must not be the World group, nor can it already be a member of this group.
If the specified DirectoryObject is null, no action will be taken and no exception will be thrown.
member
- the member to add to this DirectoryGroupIfsException
- if the operation fails.public void addMembers(DirectoryObject[] members) throws IfsException
The membership restrictions are the same as outlined in the addMember method. If any member specified does not qualify as a valid member, the entire operation is not performed.
If any of the specified DirectoryObjects is null, that array element will be ignored.
members
- the members to add as direct members to this instanceIfsException
- if the operation fails.public void removeMember(DirectoryObject member) throws IfsException
The specified member must not be the World group.
If the specified DirectoryObject is not a member of this group or is null, no action will be taken and no exception will be thrown.
member
- the member to remove from this DirectoryGroupIfsException
- if the operation fails.public void removeMembers(DirectoryObject[] members) throws IfsException
The member specified must comply with the restrictions outlined in the removeMember method. If any member specified is not valid, the entire operation is not performed.
If any of the specified DirectoryObjects is not a member of this group or is null, that array element will be ignored.
members
- the members to add as direct members to this instanceIfsException
- if the operation fails.protected void verifyAddMemberCapability() throws IfsException
IfsException
- if the operation failsprotected void verifyRemoveMemberCapability() throws IfsException
IfsException
- if the operation failspublic Long[] getAllMemberIds() throws IfsException
This list is the full set of DirectoryObject IDs that are members (directly or indirectly) of this DirectoryGroup.
IfsException
- if operation fails.public DirectoryObject[] getAllMembers() throws IfsException
This list is the full set of DirectoryObject that are members (directly or indirectly) of this DirectoryGroup.
getAllMembers
in class DirectoryObject
IfsException
- if operation fails.public DirectoryObject getAllMembers(int index) throws IfsException
getAllMembers
in class DirectoryObject
index
- index into the array of DirectoryObjectsIfsException
- if operation fails.public DirectoryUser[] getAllUserMembers() throws IfsException
This list is the full set of DirectoryUser that are members (directly or indirectly) of this DirectoryGroup.
getAllUserMembers
in class DirectoryObject
IfsException
- if operation fails.public DirectoryUser getAllUserMembers(int index) throws IfsException
getAllUserMembers
in class DirectoryObject
index
- index into the array of AllUserMembersIfsException
- if operation fails.public DirectoryObject[] getDirectMembers() throws IfsException
getDirectMembers
in class DirectoryObject
IfsException
- if operation fails.public DirectoryObject getDirectMembers(int index) throws IfsException
getDirectMembers
in class DirectoryObject
index
- index into the array of DirectoryObjectsIfsException
- if operation fails.public Long[] getDirectMemberIds() throws IfsException
The returned list is every direct member, including ones that may be undiscoverable by the requesting session.
IfsException
- if operation fails.public boolean isDirectMember(DirectoryObject member) throws IfsException
member
- the DirectoryObject that will be checked for membershipIfsException
- if operation fails.public void resetDirectMembers() throws IfsException
IfsException
- if the operation failspublic boolean isMember(DirectoryObject obj) throws IfsException
obj
- DirectoryObjectIfsException
- if the operation failsprotected static Vector constructDirectoryGroupVector(LibrarySession sess, Vector vector) throws IfsException
sess
- current LibrarySessionvector
- vector of DirectoryGroup objectsIfsException
- if the operation failsprotected static DirectoryGroup constructDirectoryGroup(LibrarySession sess, S_LibraryObjectData data) throws IfsException
sess
- current LibrarySessiondata
- data componentIfsException
- if the operation failsprotected static DirectoryGroup[] constructDirectoryGroupArray(LibrarySession sess, Long[] ids) throws IfsException
sess
- the requesting sessionids
- the array of object IDsIfsException
- if operation fails.protected static DirectoryGroup[] vectorToDirectoryGroupArray(Vector vector) throws IfsException
vector
- Vector of DirectoryGroup objectsIfsException
- if the operation failsprotected static DirectoryGroup vectorDirectoryGroupElement(Vector vector, int index) throws IndexOutOfBoundsException
vector
- Vector of DirectoryGroup objectsindex
- index into DirectoryGroupIndexOutOfBoundsException
- when the index is out of boundsCopyright © 2023. All rights reserved.