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 DBSSession
implementations.- Since:
- 11.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BaseSession.VersionAclMode
INTERNAL.
-
Field Summary
Fields Modifier and Type Field Description protected boolean
disableReadVersionPermission
static String
READ_VERSION_PERM_DISABLED_PROP
Configuration property controlling whether ReadVersion permission is disabled.protected Repository
repository
static String
VERSION_ACL_DISABLED_PROP
Configuration property controlling whether ACLs on versions are disabled.protected BaseSession.VersionAclMode
versionAclMode
-
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 protected
BaseSession(Repository repository)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static boolean
canDeleteUndeletable(NuxeoPrincipal principal)
Can undeletable documents be deleted.protected void
checkNegativeAcl(ACP acp)
abstract ACP
getACP(Document doc)
Gets the ACP for the document (without any inheritance).protected ACP
getACP(Document doc, boolean replaceReadVersionPermission)
protected DocumentBlobManager
getDocumentBlobManager()
ACP
getMergedACP(Document doc)
static boolean
isReadVersionPermissionDisabled()
static boolean
isRetentionStricMode()
Is the retention in strict mode? False by default.protected void
notifyAfterCopy(Document doc)
protected ACP
updateACP(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_DOCUMENTS
is 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:
true
if undeletable documents can be deleted,false
otherwise- 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_GROUP
group 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:
getMergedACP
in interfaceSession<QueryFilter>
-
-