public class S_AccessControlList extends S_TiePublicObject
S_LibraryObject.MapInfo
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_AccessControlList(S_LibrarySession session,
Long classId)
Construct a S_AccessControlList object.
|
protected |
S_AccessControlList(S_LibrarySession session,
S_LibraryObjectData data)
Construct a S_AccessControlList object.
|
Modifier and Type | Method and Description |
---|---|
S_LibraryObjectData |
addACE(S_LibraryObjectDefinition sdef)
Adds an ACE to the this object.
|
protected S_LibraryObjectData |
addACE(S_LibraryObjectDefinition sdef,
boolean updateAclDiscTable)
Adds an ACE to the this object.
|
protected static S_AccessControlList[] |
constructAccessControlListArray(S_LibrarySession sess,
Long[] ids)
Construct a ACL array from an array of object IDs.
|
protected void |
deriveDefinition(S_LibraryObjectDefinition sdef)
Add to the S_LibraryObjectDefinition
for this class.
|
Serializable |
DYNRemoveAcesForFreedGrantees(Serializable payload)
Removes obsolete ACEs that correspond to grantees that no longer exist.
|
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 |
extendedPostFree(OperationState opState,
S_LibraryObjectDefinition def)
Operations to be performed after freeing
an object.
|
protected void |
extendedPostInsert(OperationState opState,
S_LibraryObjectDefinition sdef)
Insert into odmz_acl_discoverer table
after insert succeeds.
|
protected void |
extendedPostUpdate(OperationState opState,
S_LibraryObjectDefinition def)
extended operations to be performed after
updating an object.
|
protected void |
extendedPreInsert(OperationState opState,
S_LibraryObjectDefinition def)
Updates any system attributes appropriate for creating this
object; in this case, set the is_shared attribute to true if it
is not set explicitly.
|
protected void |
extendedPreUpdate(OperationState opState,
S_LibraryObjectDefinition sdef)
Update any system attributes appropriate for updating this ACL
|
Long[] |
getAccessControlEntryIds()
Returns the set of S_AccessControlEntry IDs
associated with this ACL.
|
S_AccessControlEntry[] |
getAccessControlEntrys()
Returns the set of S_AccessControlEntry objects
associated with this ACL.
|
protected AccessLevel |
getAccessLevel()
Returns the accesslevel for the current user.
|
AccessLevel |
getAccessLevel(Long userId)
Returns the access level for the specified user.
|
S_AccessControlList[] |
getComponentAcls()
Returns all AccessControlLists that are components of the target ACL.
|
Long[] |
getCompositeAclIds()
Gets the set of composite ACLs IDs which reference the target ACL as a
"component".
|
S_AccessControlList[] |
getCompositeAcls()
Gets the set of composite ACLs which reference the target ACL as a
"component".
|
S_AccessControlList[] |
getCompositeAcls(SortSpecification sort)
Gets the set of composite ACLs which reference the target ACL as a
"component", sorted according to a specification.
|
AccessLevel |
getGrantedAccessLevel()
Returns the access level for the current user.
|
AccessLevel |
getGrantedAccessLevel(S_DirectoryUser user)
Returns the access level for the specified user.
|
protected boolean |
hasDiscoverAccess(Long userId)
Returns true if the specified user has discover access
specified in this object.
|
protected void |
invalidateResolution()
Invalidates the ACL.
|
void |
invalidateState()
Invalidate any information cached for this ACL.
|
boolean |
isAccessLevelEnabled(AccessLevel level)
Checks if a specified set of permissions is enabled for the current user.
|
boolean |
isComposite()
Returns indication as to whether the target ACL is considered a
"composite ACL", that is if it has one of more component ACLs.
|
boolean |
isShared()
Returns true if this ACL is shared.
|
protected boolean |
isStandardPermissionEnabled(long permission)
Checks if a particular permission is enabled for the current user.
|
void |
removeACE(S_AccessControlEntry ace)
Remove a specific ACE from this object.
|
void |
removeAllACE()
Removes all ACEs in this object.
|
protected Long[] |
selectCompositeAclIds(SortSpecification sort)
Select the set of composite ACLs IDs which reference the target ACL as a
"component".
|
void |
updateACE(S_AccessControlEntry ace,
S_LibraryObjectDefinition sdef)
Updates an ACE in the current object using the definition that
is passed in.
|
protected void |
updateAclDiscovererTable()
Updates the ACL discoverer table.
|
void |
verifyAccessLevelEnabled(AccessLevel level)
Verifies if a specified set of permissions is enabled for the current user.
|
protected void |
verifyCanAddAces()
Verifies that ACEs can be added to the instance.
|
protected void |
verifyCanModifyAces(long accessLevel,
int errorCode)
Verifies that ACEs can be added or removed from the instance.
|
protected void |
verifyCanRemoveAces()
Verifies that ACEs can be removed from the instance.
|
protected void |
verifyStandardPermissionEnabled(long permission)
Verifies if a particular permission is enabled for the current user.
|
addCategory, addRelationship, addRelationship, canUseContentQuota, cascadeCopy, cascadeDelete, cascadeFree, cascadeUndelete, checkAccess, constructPublicObjectArray, createCategories, createDefaultPolicyPropertyBundle, createDefaultPropertyBundle, delete, delete, determineResolvedObject, DYNReplaceCreator, DYNReplaceDeletor, DYNReplaceModifier, extendedPostDelete, extendedPostUndelete, extendedPreCopy, extendedPreDelete, extendedPreFree, 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, 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 S_AccessControlList(S_LibrarySession session, S_LibraryObjectData data) throws IfsException
session
- current LibrarySessiondata
- Data componentIfsException
protected S_AccessControlList(S_LibrarySession session, Long classId) throws IfsException
session
- current LibrarySessionIfsException
public boolean isShared() throws IfsException
IfsException
- if the operation failspublic S_AccessControlList[] getComponentAcls() throws IfsException
IfsException
- if operation fails.public boolean isComposite() throws IfsException
IfsException
- if operation fails.public S_AccessControlList[] getCompositeAcls(SortSpecification sort) throws IfsException
sort
- the sort specificationIfsException
- if operation fails.public S_AccessControlList[] getCompositeAcls() throws IfsException
IfsException
- if operation fails.public Long[] getCompositeAclIds() throws IfsException
IfsException
- if the operation failsprotected Long[] selectCompositeAclIds(SortSpecification sort) throws IfsException
IfsException
- if the operation failsprotected void deriveDefinition(S_LibraryObjectDefinition sdef) throws IfsException
deriveDefinition
in class S_PublicObject
sdef
- the definition of the target object.IfsException
- if operation fails.protected void extendedPostFree(OperationState opState, S_LibraryObjectDefinition def) throws IfsException
extendedPostFree
in class S_PublicObject
opState
- current operation statedef
- current object definitionIfsException
- 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 extendedPostInsert(OperationState opState, S_LibraryObjectDefinition sdef) throws IfsException
extendedPostInsert
in class S_PublicObject
sdef
- the S_LibraryObjectDefinition that contains
the settings for the new instance.opState
- current operation stateIfsException
- if operation fails.protected void extendedPreUpdate(OperationState opState, S_LibraryObjectDefinition sdef) throws IfsException
extendedPreUpdate
in class S_PublicObject
opState
- current operation statesdef
- current object definition to be updated with system attributesIfsException
- if operation fails.protected void extendedPostUpdate(OperationState opState, S_LibraryObjectDefinition def) throws IfsException
extendedPostUpdate
in class S_PublicObject
opState
- the Operation statedef
- the S_LibraryObjectDefinition that contains the updates.IfsException
- 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 DYNRemoveAcesForFreedGrantees(Serializable payload) throws IfsException
Used by GarbageCollecitonAgent to periodically clean-up the internal representation of the ACL, e.g. in odmz_acl_discoverer. Admin mode must be enabled.
payload
- ignoredIfsException
- if operation fails.public Serializable DYNUpdateOwnerBypassUniquenessCheck(Serializable payload) throws IfsException
payload
- the id of the new userIfsException
- if operation fails.public S_AccessControlEntry[] getAccessControlEntrys() throws IfsException
IfsException
- if operation fails.public Long[] getAccessControlEntryIds() throws IfsException
IfsException
- if operation fails.protected void verifyCanAddAces() throws IfsException
IfsException
- if the operation failsprotected void verifyCanRemoveAces() throws IfsException
IfsException
- if the operation failsprotected void verifyCanModifyAces(long accessLevel, int errorCode) throws IfsException
This requires that the user has Grant Access on the object's acl, or has been granted GRANT permisson in the current set of ACEs.
accessLevel
- the accesslevel required for the operation.errorCode
- the exception to throw if access is deniedIfsException
- if the operation failspublic S_LibraryObjectData addACE(S_LibraryObjectDefinition sdef) throws IfsException
sdef
- definition for the ACE to be added.IfsException
- if the operation failsprotected S_LibraryObjectData addACE(S_LibraryObjectDefinition sdef, boolean updateAclDiscTable) throws IfsException
sdef
- definition for the ACE to be added.updateAclDiscTable
- true if ACL discoverers table should be updatedIfsException
- if the operation failspublic void updateACE(S_AccessControlEntry ace, S_LibraryObjectDefinition sdef) throws IfsException
ace
- ACE to be updatedsdef
- definition that is used to update the ACEIfsException
- if the operation failspublic void removeACE(S_AccessControlEntry ace) throws IfsException
ace
- ACE to be removedIfsException
- if the operation failspublic void removeAllACE() throws IfsException
IfsException
- if the operation failspublic AccessLevel getGrantedAccessLevel() throws IfsException
IfsException
- if the operation failspublic AccessLevel getGrantedAccessLevel(S_DirectoryUser user) throws IfsException
user
- user whose access level is to be determinedIfsException
- if the operation failsprotected AccessLevel getAccessLevel() throws IfsException
IfsException
- if the operation failspublic AccessLevel getAccessLevel(Long userId) throws IfsException
userId
- user whose access level is to be determinedIfsException
- if the operation failsprotected boolean isStandardPermissionEnabled(long permission) throws IfsException
permission
- the permission which needs to verified.IfsException
- if the operation failsprotected void verifyStandardPermissionEnabled(long permission) throws IfsException
permission
- the permission which needs to verified.IfsException
- (IFS-30030) if the operation failspublic boolean isAccessLevelEnabled(AccessLevel level) throws IfsException
level
- the set of permissions to checkIfsException
- if the operation failspublic void verifyAccessLevelEnabled(AccessLevel level) throws IfsException
level
- the set of permissions to checkIfsException
- (IFS-30030) if the operation failsprotected boolean hasDiscoverAccess(Long userId) throws IfsException
userId
- user who needs to be verified for discover accessIfsException
- if the operation failsprotected void updateAclDiscovererTable() throws IfsException
IfsException
- if the operation failspublic void invalidateState() throws IfsException
In addition to the invalidation performed by our superclasses, invalidate the entries in the committed and uncommitted ACL resolution cache.
invalidateState
in class S_LibraryObject
IfsException
- if operation fails.protected void invalidateResolution() throws IfsException
IfsException
- if the operation failsprotected static S_AccessControlList[] constructAccessControlListArray(S_LibrarySession sess, Long[] ids) throws IfsException
sess
- the requesting sessionids
- the array of object IDsIfsException
- if operation fails.Copyright © 2023. All rights reserved.