Package org.nuxeo.ecm.core.model
Class BaseSession
- java.lang.Object
-
- org.nuxeo.ecm.core.model.BaseSession
-
- All Implemented Interfaces:
Session<QueryFilter>
- Direct Known Subclasses:
DBSSession,SQLSession
public abstract class BaseSession extends Object implements Session<QueryFilter>
Common code for VCS and DBSSessionimplementations.- Since:
- 11.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBaseSession.VersionAclModeINTERNAL.
-
Field Summary
Fields Modifier and Type Field Description protected booleandisableReadVersionPermissionstatic StringREAD_VERSION_PERM_DISABLED_PROPConfiguration property controlling whether ReadVersion permission is disabled.protected Repositoryrepositorystatic StringVERSION_ACL_DISABLED_PROPConfiguration property controlling whether ACLs on versions are disabled.protected BaseSession.VersionAclModeversionAclMode-
Fields inherited from interface org.nuxeo.ecm.core.model.Session
PROP_ALLOW_DELETE_UNDELETABLE_DOCUMENTS, PROP_RETENTION_COMPLIANCE_MODE_ENABLED, PROP_RETENTION_STRICT_MODE_ENABLED, USER_NAME
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseSession(Repository repository)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static booleancanDeleteUndeletable(NuxeoPrincipal principal)Can undeletable documents be deleted.protected voidcheckNegativeAcl(ACP acp)abstract ACPgetACP(Document doc)Gets the ACP for the document (without any inheritance).protected ACPgetACP(Document doc, boolean replaceReadVersionPermission)protected DocumentBlobManagergetDocumentBlobManager()ACPgetMergedACP(Document doc)static booleanisReadVersionPermissionDisabled()static booleanisRetentionStricMode()Is the retention in strict mode? False by default.protected voidnotifyAfterCopy(Document doc)protected ACPupdateACP(ACP curAcp, ACP addAcp)Returns the merge of two ACPs.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.model.Session
commit, copy, createProxy, destroy, end, getBinaryFulltext, getDocumentByUUID, getLockManager, getNullDocument, getProxies, getProxies, getRepositoryName, getRootDocument, getVersion, importDocument, isFulltextStoredInBlob, isNegativeAclAllowed, move, query, queryAndFetch, queryProjection, removeDocument, resolvePath, rollback, save, scroll, scroll, scroll, setACP, setProxyTarget, start, updateReadACLs
-
-
-
-
Field Detail
-
VERSION_ACL_DISABLED_PROP
public static final String VERSION_ACL_DISABLED_PROP
Configuration property controlling whether ACLs on versions are disabled.- Since:
- 11.3
- See Also:
- Constant Field Values
-
READ_VERSION_PERM_DISABLED_PROP
public static final String READ_VERSION_PERM_DISABLED_PROP
Configuration property controlling whether ReadVersion permission is disabled.- Since:
- 11.3
- See Also:
- Constant Field Values
-
repository
protected final Repository repository
-
versionAclMode
protected final BaseSession.VersionAclMode versionAclMode
-
disableReadVersionPermission
protected final boolean disableReadVersionPermission
-
-
Constructor Detail
-
BaseSession
protected BaseSession(Repository repository)
-
-
Method Detail
-
isReadVersionPermissionDisabled
public static boolean isReadVersionPermissionDisabled()
-
getDocumentBlobManager
protected DocumentBlobManager getDocumentBlobManager()
-
notifyAfterCopy
protected void notifyAfterCopy(Document doc)
-
checkNegativeAcl
protected void checkNegativeAcl(ACP acp)
-
canDeleteUndeletable
public static boolean canDeleteUndeletable(NuxeoPrincipal principal)
Can undeletable documents be deleted. Undeletable documents are documents under legal hold or retention.They are deletable only if on of these conditions is true:Session.PROP_ALLOW_DELETE_UNDELETABLE_DOCUMENTSis true for unit tests purpose- Retention is active in governance mode and the principal is member of
SecurityConstants.RECORDS_CLEANER_GROUP
- Parameters:
principal- the Nuxeo principal- Returns:
trueif undeletable documents can be deleted,falseotherwise- Since:
- 11.5
-
isRetentionStricMode
public static boolean isRetentionStricMode()
Is the retention in strict mode? False by default.In strict mode, nobody can delete documents under retention or legal hold.
Otherwise users member of the
SecurityConstants.RECORDS_CLEANER_GROUPgroup can delete records.- Returns:
- true if the retention is in strict mode, false otherwise
- Since:
- 2023.1
-
getACP
public abstract ACP getACP(Document doc)
Gets the ACP for the document (without any inheritance).- Parameters:
doc- the document- Returns:
- the ACP
-
getMergedACP
public ACP getMergedACP(Document doc)
- Specified by:
getMergedACPin interfaceSession<QueryFilter>
-
-