Class ShallowDocumentModel
- java.lang.Object
-
- org.nuxeo.ecm.core.event.impl.ShallowDocumentModel
-
- All Implemented Interfaces:
Serializable,DocumentModel
- Direct Known Subclasses:
DeletedDocumentModel
public class ShallowDocumentModel extends Object implements DocumentModel
Light weightDocumentModelimplementation Only holdsDocumentRef, RepositoryName, name, path and context data. Used to reduce memory footprint ofEventstacked inEventBundle.- Author:
- Thierry Delprat
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.api.DocumentModel
DocumentModel.DocumentModelRefresh
-
-
Field Summary
-
Fields inherited from interface org.nuxeo.ecm.core.api.DocumentModel
REFRESH_ACP, REFRESH_ACP_IF_LOADED, REFRESH_ACP_LAZY, REFRESH_ALL, REFRESH_CONTENT, REFRESH_CONTENT_IF_LOADED, REFRESH_CONTENT_LAZY, REFRESH_DEFAULT, REFRESH_IF_LOADED, REFRESH_LAZY, REFRESH_PREFETCH, REFRESH_STATE
-
-
Constructor Summary
Constructors Constructor Description ShallowDocumentModel(String id, String repoName, String name, Path path, String type, boolean isFolder, boolean isVersion, boolean isProxy, boolean isImmutable, Map<String,Serializable> contextData, Set<String> facets, String lifecycleState)ShallowDocumentModel(DocumentModel doc)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaccept(PropertyVisitor visitor, Object arg)Method that implement the visitor pattern.booleanaddFacet(String facet)Adds a facet to the document instance.voidattach(CoreSession coreSession)Reattaches a document to an existing session.DocumentRefcheckIn(VersioningOption option, String checkinComment)Checks in a document and returns the created version.voidcheckOut()Checks out a document.DocumentModelclone()Clone operation.voidcopyContent(DocumentModel sourceDoc)Copies all the data from a source document.voidcopyContextData(DocumentModel otherDocument)Copies the context data from given document to this document.voiddetach(boolean loadAll)Detaches the documentImpl from its existing session, so that it can survive beyond the session's closing.booleanfollowTransition(String transition)Follows a given life cycle transition.ACPgetACP()Gets the access control policy (ACP) for this document.<T> TgetAdapter(Class<T> itf)Adapts the document to the given interface.<T> TgetAdapter(Class<T> itf, boolean refreshCache)Adapts the document to the given interface.Collection<String>getAllowedStateTransitions()Gets the allowed state transitions for this document.Map<String,String>getBinaryFulltext()Gets the fulltext extracted from the binary fields.StringgetCacheKey()Returns a cache key.StringgetChangeToken()Gets the current change token for this document.StringgetCheckinComment()Returns the checkin comment if the document model is a version.CalendargetCheckinDate()Returns the checkin date (the date the version was created) if the document model is a version.Map<String,Serializable>getContextData()Gets the context data associated to this document.SerializablegetContextData(String key)Gets the context data using the default scope.CoreSessiongetCoreSession()Gets the core session to which this document is tied.StringgetCurrentLifeCycleState()Returns the life cycle of the document.DataModelgetDataModel(String schema)Deprecated.Map<String,DataModel>getDataModels()Deprecated.Collection<DataModel>getDataModelsCollection()Deprecated.DocumentTypegetDocumentType()Gets the document type object.Set<String>getFacets()Gets the facets available on this document (from the type and the instance facets).StringgetId()Gets the document UUID.StringgetLifeCyclePolicy()Returns the life cycle policy of the document.LockgetLockInfo()Gets the lock info on the document.StringgetName()Gets the document name.PropertyObjectResolvergetObjectResolver(String xpath)DocumentRefgetParentRef()Retrieves the parent reference of the current document.DocumentPartgetPart(String schema)Deprecated.DocumentPart[]getParts()Deprecated.PathgetPath()Gets the document path.StringgetPathAsString()Gets the document path as a string.LonggetPos()Gets the document's position in its containing folder (if ordered).NuxeoPrincipalgetPrincipal()Gets the principal attached to this document's session.Map<String,Object>getProperties(String schemaName)Gets the values from the given data model as a map.PropertygetProperty(String xpath)Gets a property given a xpath.ObjectgetProperty(String schemaName, String name)Gets a property from the given schema.PropertygetPropertyObject(String schema, String name)Gets a property object from the given schema.Collection<Property>getPropertyObjects(String schema)Gets thePropertyobjects for the given schema.SerializablegetPropertyValue(String xpath)Gets a property value given a xpath.DocumentRefgetRef()Gets a reference to the core document that can be used either remotely or locally (opens the core JVM).StringgetRepositoryName()Returns the name of the repository in which the document is stored.List<String>getRetainedProperties()Gets the retained properties of this document at the time it became a record.String[]getSchemas()Gets the schemas available on this document (from the type and the facets).StringgetSessionId()Returns the repository name and principal when the document is attached.StringgetSourceId()Returns the source document identifier.<T extends Serializable>
TgetSystemProp(String systemProperty, Class<T> type)Gets system property of the specified type.StringgetTitle()Get a text suitable to be shown in a UI for this document.StringgetType()Gets the document type name.StringgetVersionLabel()Returns the version label.StringgetVersionSeriesId()Gets the version series id for this document.booleanhasFacet(String facet)Checks if the document has a facet, either from its type or added on the instance.booleanhasSchema(String schema)Checks if the document has the given schema, either from its type or added on the instance through a facet.booleanisAttached()Checks whether this document is attached to a session.booleanisCheckedOut()Tests if the document is checked out.booleanisDirty()Checks if the document has actual data to write (dirty parts).booleanisDownloadable()Checks if this document can be downloaded.booleanisFolder()Checks if this document is a folder.booleanisImmutable()Checks if this document is immutable.booleanisLatestMajorVersion()Checks if a document is the latest major version in the version series.booleanisLatestVersion()Checks if a document is the latest version in the version series.booleanisLifeCycleLoaded()booleanisLocked()Tests if the document is locked.booleanisMajorVersion()Checks if a document is a major version.booleanisPrefetched(String xpath)Checks if a property is prefetched.booleanisPrefetched(String schemaName, String name)Checks if a property is prefetched.booleanisProxy()Checks if this document is a proxy.booleanisTrashed()Checks if this document is in the trash.booleanisVersion()Checks if this document is a version.booleanisVersionable()Checks if this document can have versions.booleanisVersionSeriesCheckedOut()Checks if there is a checked out working copy for the version series of this document.voidprefetchCurrentLifecycleState(String lifecycle)Used to set lifecycle state along with prefetching other properties.voidprefetchLifeCyclePolicy(String lifeCyclePolicy)Used to set lifecycle policy along with prefetching other properties.voidputContextData(String key, Serializable value)Sets a context data in the default scope.voidrefresh()Same asDocumentModel.refresh(REFRESH_DEFAULT).voidrefresh(int refreshFlags, String[] schemas)Refresh document data from server.booleanremoveFacet(String facet)Removes a facet from the document instance.LockremoveLock()Removes the lock on the document.voidreset()Clears any prefetched or cached document data.voidsetACP(ACP acp, boolean overwrite)Sets the ACP for this document model.LocksetLock()Sets a lock on the document.voidsetPathInfo(String parentPath, String name)Sets path info.voidsetProperties(String schemaName, Map<String,Object> data)Sets values for the given data model.voidsetProperty(String schemaName, String name, Object value)Sets the property value from the given schema.voidsetPropertyValue(String xpath, Serializable value)Sets a property value given a xpath.-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.api.DocumentModel
getRetainUntil, hasLegalHold, isEnforcedRecord, isFlexibleRecord, isRecord, isUnderRetentionOrLegalHold
-
-
-
-
Constructor Detail
-
ShallowDocumentModel
public ShallowDocumentModel(DocumentModel doc)
-
-
Method Detail
-
getId
public String getId()
Description copied from interface:DocumentModelGets the document UUID.- Specified by:
getIdin interfaceDocumentModel- Returns:
- the document UUID
-
getRef
public DocumentRef getRef()
Description copied from interface:DocumentModelGets a reference to the core document that can be used either remotely or locally (opens the core JVM).- Specified by:
getRefin interfaceDocumentModel- Returns:
- the document reference
-
getRepositoryName
public String getRepositoryName()
Description copied from interface:DocumentModelReturns the name of the repository in which the document is stored.- Specified by:
getRepositoryNamein interfaceDocumentModel- Returns:
- the repository name as a string.
-
getName
public String getName()
Description copied from interface:DocumentModelGets the document name.- Specified by:
getNamein interfaceDocumentModel- Returns:
- the document name
-
getPos
public Long getPos()
Description copied from interface:DocumentModelGets the document's position in its containing folder (if ordered).- Specified by:
getPosin interfaceDocumentModel- Returns:
- the position, or
nullif the containing folder is not ordered
-
getPath
public Path getPath()
Description copied from interface:DocumentModelGets the document path.- Specified by:
getPathin interfaceDocumentModel- Returns:
- the document path as string
-
getPathAsString
public String getPathAsString()
Description copied from interface:DocumentModelGets the document path as a string.- Specified by:
getPathAsStringin interfaceDocumentModel- Returns:
- the document path as string
-
getParentRef
public DocumentRef getParentRef()
Description copied from interface:DocumentModelRetrieves the parent reference of the current document.- Specified by:
getParentRefin interfaceDocumentModel- Returns:
- the parent reference or null if no parent
-
getType
public String getType()
Description copied from interface:DocumentModelGets the document type name.- Specified by:
getTypein interfaceDocumentModel- Returns:
- the document type name
-
isTrashed
public boolean isTrashed()
Description copied from interface:DocumentModelChecks if this document is in the trash.- Specified by:
isTrashedin interfaceDocumentModel- Returns:
- true if the document is in the trash, false otherwise.
-
isFolder
public boolean isFolder()
Description copied from interface:DocumentModelChecks if this document is a folder.- Specified by:
isFolderin interfaceDocumentModel- Returns:
- true if the document is a folder, false otherwise
-
isVersion
public boolean isVersion()
Description copied from interface:DocumentModelChecks if this document is a version.- Specified by:
isVersionin interfaceDocumentModel- Returns:
- true if the document is an older version of another document, false otherwise
-
copyContent
public void copyContent(DocumentModel sourceDoc)
Description copied from interface:DocumentModelCopies all the data from a source document.- Specified by:
copyContentin interfaceDocumentModel
-
copyContextData
public void copyContextData(DocumentModel otherDocument)
Description copied from interface:DocumentModelCopies the context data from given document to this document.- Specified by:
copyContextDatain interfaceDocumentModel
-
followTransition
public boolean followTransition(String transition)
Description copied from interface:DocumentModelFollows a given life cycle transition.This will update the current life cycle of the document.
- Specified by:
followTransitionin interfaceDocumentModel- Parameters:
transition- the name of the transition to follow- Returns:
- a boolean representing the status if the operation
-
getACP
public ACP getACP()
Description copied from interface:DocumentModelGets the access control policy (ACP) for this document.Returns null if no security was defined on this document.
The ACP can be used to introspect or to evaluate user privileges on this document.
This is a wrapper for
CoreSession.getACP(DocumentRef)but it is recommended since it caches the ACP for later usage.- Specified by:
getACPin interfaceDocumentModel- Returns:
- the security data model or null if none
-
accept
public void accept(PropertyVisitor visitor, Object arg)
Description copied from interface:DocumentModelMethod that implement the visitor pattern.The visitor must return null to stop visiting children otherwise a context object that will be passed as the arg argument to children
- Specified by:
acceptin interfaceDocumentModel- Parameters:
visitor- the visitor to acceptarg- an argument passed to the visitor. This should be used by the visitor to carry on the visiting context.
-
getAdapter
public <T> T getAdapter(Class<T> itf)
Description copied from interface:DocumentModelAdapts the document to the given interface.Attention, the first computation will cache the adaptation result for later calls.
- Specified by:
getAdapterin interfaceDocumentModel- Type Parameters:
T- the interface type to adapt to- Parameters:
itf- the interface class- Returns:
- the adapted document
-
getAdapter
public <T> T getAdapter(Class<T> itf, boolean refreshCache)
Description copied from interface:DocumentModelAdapts the document to the given interface.- Specified by:
getAdapterin interfaceDocumentModel- Type Parameters:
T- the interface type to adapt to- Parameters:
itf- the interface classrefreshCache- : readapt and stores in cache if already exists.- Returns:
- the adapted document
-
getAllowedStateTransitions
public Collection<String> getAllowedStateTransitions()
Description copied from interface:DocumentModelGets the allowed state transitions for this document.- Specified by:
getAllowedStateTransitionsin interfaceDocumentModel- Returns:
- a collection of state transitions as string
-
getCacheKey
public String getCacheKey()
Description copied from interface:DocumentModelReturns a cache key.Cache key will be computed like this :
docUUID + "-" + sessionId + "-" + timestampWe will use the last modification time if present for the timestamp.
Since 5.6, the timestamp does not hold milliseconds anymore as some databases do not store them, which could interfere with cache key comparisons.
- Specified by:
getCacheKeyin interfaceDocumentModel- Returns:
- the cache key as a string
-
getContextData
public Map<String,Serializable> getContextData()
Description copied from interface:DocumentModelGets the context data associated to this document.- Specified by:
getContextDatain interfaceDocumentModel- Returns:
- a map of context data
-
getCoreSession
public CoreSession getCoreSession()
Description copied from interface:DocumentModelGets the core session to which this document is tied.This may be null if the document has been detached from a session.
- Specified by:
getCoreSessionin interfaceDocumentModel- Returns:
- the core session
-
detach
public void detach(boolean loadAll)
Description copied from interface:DocumentModelDetaches the documentImpl from its existing session, so that it can survive beyond the session's closing.- Specified by:
detachin interfaceDocumentModel- Parameters:
loadAll- iftrue, load all data and ACP from the session before detaching
-
attach
public void attach(CoreSession coreSession)
Description copied from interface:DocumentModelReattaches a document to an existing session.- Specified by:
attachin interfaceDocumentModel- Parameters:
coreSession- the session to attach to
-
isAttached
public boolean isAttached()
Description copied from interface:DocumentModelChecks whether this document is attached to a session.- Specified by:
isAttachedin interfaceDocumentModel- Returns:
trueif the document is attached to a session
-
getCurrentLifeCycleState
public String getCurrentLifeCycleState()
Description copied from interface:DocumentModelReturns the life cycle of the document.- Specified by:
getCurrentLifeCycleStatein interfaceDocumentModel- Returns:
- the life cycle as a string
-
getDataModel
@Deprecated public DataModel getDataModel(String schema)
Deprecated.Description copied from interface:DocumentModelGets the data model corresponding to the given schema.Null is returned if the document type has no such schema.
- Specified by:
getDataModelin interfaceDocumentModel- Parameters:
schema- the schema name- Returns:
- the data model or null if no such schema is supported
- See Also:
DocumentModel.getSchemas(),DocumentModel.getProperties(java.lang.String),DocumentModel.getPropertyObject(java.lang.String, java.lang.String),DocumentModel.getPropertyObjects(java.lang.String)
-
getDataModels
@Deprecated public Map<String,DataModel> getDataModels()
Deprecated.Description copied from interface:DocumentModelGets the data models.- Specified by:
getDataModelsin interfaceDocumentModel- Returns:
- the data models that are already fetched.
- See Also:
DocumentModel.getSchemas(),DocumentModel.getProperties(java.lang.String),DocumentModel.getPropertyObject(java.lang.String, java.lang.String),DocumentModel.getPropertyObjects(java.lang.String)
-
getDataModelsCollection
@Deprecated public Collection<DataModel> getDataModelsCollection()
Deprecated.Description copied from interface:DocumentModelINTERNAL, not for public use.Gets a list with the currently fetched data models.
- Specified by:
getDataModelsCollectionin interfaceDocumentModel- Returns:
- the data models that are already fetched as a collection
- See Also:
DocumentModel.getSchemas(),DocumentModel.getProperties(java.lang.String),DocumentModel.getPropertyObject(java.lang.String, java.lang.String),DocumentModel.getPropertyObjects(java.lang.String)
-
getFacets
public Set<String> getFacets()
Description copied from interface:DocumentModelGets the facets available on this document (from the type and the instance facets).- Specified by:
getFacetsin interfaceDocumentModel- Returns:
- the facets
-
getSchemas
public String[] getSchemas()
Description copied from interface:DocumentModelGets the schemas available on this document (from the type and the facets).- Specified by:
getSchemasin interfaceDocumentModel- Returns:
- the schemas
-
getDocumentType
public DocumentType getDocumentType()
Description copied from interface:DocumentModelGets the document type object.- Specified by:
getDocumentTypein interfaceDocumentModel- Returns:
- the document type object
-
getLifeCyclePolicy
public String getLifeCyclePolicy()
Description copied from interface:DocumentModelReturns the life cycle policy of the document.- Specified by:
getLifeCyclePolicyin interfaceDocumentModel- Returns:
- the life cycle policy
-
getPart
@Deprecated public DocumentPart getPart(String schema)
Deprecated.Description copied from interface:DocumentModelGet a document part given its schema name- Specified by:
getPartin interfaceDocumentModel- Parameters:
schema- the schema- Returns:
- the document aprt or null if none exists for that schema
- See Also:
DocumentModel.getPropertyObject(java.lang.String, java.lang.String),DocumentModel.getPropertyObjects(java.lang.String)
-
getParts
@Deprecated public DocumentPart[] getParts()
Deprecated.Description copied from interface:DocumentModelGets this document's parts.- Specified by:
getPartsin interfaceDocumentModel- See Also:
DocumentModel.getSchemas(),DocumentModel.getPropertyObject(java.lang.String, java.lang.String),DocumentModel.getPropertyObjects(java.lang.String)
-
getPropertyObjects
public Collection<Property> getPropertyObjects(String schema)
Description copied from interface:DocumentModelGets thePropertyobjects for the given schema.An empty list is returned if the document doesn't have the schema.
- Specified by:
getPropertyObjectsin interfaceDocumentModel- Parameters:
schema- the schema- Returns:
- the properties
-
getProperties
public Map<String,Object> getProperties(String schemaName)
Description copied from interface:DocumentModelGets the values from the given data model as a map.The operation will fetch the data model from the server if not already fetched.
- Specified by:
getPropertiesin interfaceDocumentModel- Parameters:
schemaName- the data model schema name- Returns:
- the values map
-
getProperty
public Property getProperty(String xpath) throws PropertyException
Description copied from interface:DocumentModelGets a property given a xpath.Note that what's called xpath in this context is not an actual XPath as specified by the w3c. Main differences are that in our xpath:
- Indexes start at 0 instead of 1
- You can express
foo/bar[i]/bazasfoo/i/baz
- Specified by:
getPropertyin interfaceDocumentModel- Throws:
PropertyException
-
getProperty
public Object getProperty(String schemaName, String name)
Description copied from interface:DocumentModelGets a property from the given schema.The data model owning the property will be fetched from the server if not already fetched.
- Specified by:
getPropertyin interfaceDocumentModel- Parameters:
schemaName- the schema namename- the property name- Returns:
- the property value or null if no such property exists
-
getPropertyObject
public Property getPropertyObject(String schema, String name)
Description copied from interface:DocumentModelGets a property object from the given schema.- Specified by:
getPropertyObjectin interfaceDocumentModel- Parameters:
schema- the schema namename- the property name- Returns:
- the property, or
nullif no such property exists
-
getPropertyValue
public Serializable getPropertyValue(String xpath) throws PropertyException
Description copied from interface:DocumentModelGets a property value given a xpath.Note that what's called xpath in this context is not an actual XPath as specified by the w3c. Main differences are that in our xpath:
- Indexes start at 0 instead of 1
- You can express
foo/bar[i]/bazasfoo/i/baz
- Specified by:
getPropertyValuein interfaceDocumentModel- Throws:
PropertyException
-
getSessionId
public String getSessionId()
Description copied from interface:DocumentModelReturns the repository name and principal when the document is attached.- Specified by:
getSessionIdin interfaceDocumentModel
-
getPrincipal
public NuxeoPrincipal getPrincipal()
Description copied from interface:DocumentModelGets the principal attached to this document's session.- Specified by:
getPrincipalin interfaceDocumentModel- Returns:
- the principal
-
getSourceId
public String getSourceId()
Description copied from interface:DocumentModelReturns the source document identifier.This is useful when not interested about the repository UUID itself. Technically, this is the current version UUID.
- Specified by:
getSourceIdin interfaceDocumentModel- Returns:
- the source id as a string.
-
getSystemProp
public <T extends Serializable> T getSystemProp(String systemProperty, Class<T> type)
Description copied from interface:DocumentModelGets system property of the specified type. This is not a lazy loaded property, thus the request is made directly to the server. This is needed as some critical system properties might be changed directly in the core.- Specified by:
getSystemPropin interfaceDocumentModel
-
getTitle
public String getTitle()
Description copied from interface:DocumentModelGet a text suitable to be shown in a UI for this document.- Specified by:
getTitlein interfaceDocumentModel- Returns:
- the title or the internal name if no title could be found
-
getVersionLabel
public String getVersionLabel()
Description copied from interface:DocumentModelReturns the version label.The label returned is computed by the VersioningService.
- Specified by:
getVersionLabelin interfaceDocumentModel- Returns:
- the version label, or
null
-
getCheckinComment
public String getCheckinComment()
Description copied from interface:DocumentModelReturns the checkin comment if the document model is a version.- Specified by:
getCheckinCommentin interfaceDocumentModel- Returns:
- the checkin comment, or
null
-
getCheckinDate
public Calendar getCheckinDate()
Description copied from interface:DocumentModelReturns the checkin date (the date the version was created) if the document model is a version.- Specified by:
getCheckinDatein interfaceDocumentModel- Returns:
- the checkin date, or
null
-
hasFacet
public boolean hasFacet(String facet)
Description copied from interface:DocumentModelChecks if the document has a facet, either from its type or added on the instance.- Specified by:
hasFacetin interfaceDocumentModel- Parameters:
facet- the facet name- Returns:
trueif the document has the facet
-
hasSchema
public boolean hasSchema(String schema)
Description copied from interface:DocumentModelChecks if the document has the given schema, either from its type or added on the instance through a facet.- Specified by:
hasSchemain interfaceDocumentModel- Parameters:
schema- the schema name- Returns:
trueif the document has the schema
-
addFacet
public boolean addFacet(String facet)
Description copied from interface:DocumentModelAdds a facet to the document instance.Does nothing if the facet was already present on the document.
- Specified by:
addFacetin interfaceDocumentModel- Parameters:
facet- the facet name- Returns:
trueif the facet was added, orfalseif it is already present
-
removeFacet
public boolean removeFacet(String facet)
Description copied from interface:DocumentModelRemoves a facet from the document instance.It's not possible to remove a facet coming from the document type.
- Specified by:
removeFacetin interfaceDocumentModel- Parameters:
facet- the facet name- Returns:
trueif the facet was removed, orfalseif it isn't present or is present on the type or does not exit
-
isDownloadable
public boolean isDownloadable()
Description copied from interface:DocumentModelChecks if this document can be downloaded.- Specified by:
isDownloadablein interfaceDocumentModel- Returns:
- true if the document has downloadable content, false otherwise
-
isLifeCycleLoaded
public boolean isLifeCycleLoaded()
- Specified by:
isLifeCycleLoadedin interfaceDocumentModel
-
isLocked
public boolean isLocked()
Description copied from interface:DocumentModelTests if the document is locked.Lock info is cached on the document for performance. Use
CoreSession.getLockInfo(org.nuxeo.ecm.core.api.DocumentRef)to get the non-cached status.- Specified by:
isLockedin interfaceDocumentModel- Returns:
- the lock key if the document is locked or null otherwise
-
isProxy
public boolean isProxy()
Description copied from interface:DocumentModelChecks if this document is a proxy.- Specified by:
isProxyin interfaceDocumentModel- Returns:
- true if the document is a proxy false otherwise
-
isImmutable
public boolean isImmutable()
Description copied from interface:DocumentModelChecks if this document is immutable.- Specified by:
isImmutablein interfaceDocumentModel- Returns:
trueif the document is a version or a proxy to a version,falseotherwise
-
isDirty
public boolean isDirty()
Description copied from interface:DocumentModelChecks if the document has actual data to write (dirty parts).- Specified by:
isDirtyin interfaceDocumentModel
-
isVersionable
public boolean isVersionable()
Description copied from interface:DocumentModelChecks if this document can have versions.- Specified by:
isVersionablein interfaceDocumentModel- Returns:
- true if the document can have versions, false otherwise
-
isPrefetched
public boolean isPrefetched(String xpath)
Description copied from interface:DocumentModelChecks if a property is prefetched.- Specified by:
isPrefetchedin interfaceDocumentModel- Parameters:
xpath- the property xpath- Returns:
trueif it is prefetched
-
isPrefetched
public boolean isPrefetched(String schemaName, String name)
Description copied from interface:DocumentModelChecks if a property is prefetched.- Specified by:
isPrefetchedin interfaceDocumentModel- Parameters:
schemaName- the schema namename- the property name- Returns:
trueif it is prefetched
-
prefetchCurrentLifecycleState
public void prefetchCurrentLifecycleState(String lifecycle)
Description copied from interface:DocumentModelUsed to set lifecycle state along with prefetching other properties.- Specified by:
prefetchCurrentLifecycleStatein interfaceDocumentModel
-
prefetchLifeCyclePolicy
public void prefetchLifeCyclePolicy(String lifeCyclePolicy)
Description copied from interface:DocumentModelUsed to set lifecycle policy along with prefetching other properties.- Specified by:
prefetchLifeCyclePolicyin interfaceDocumentModel
-
putContextData
public void putContextData(String key, Serializable value)
Description copied from interface:DocumentModelSets a context data in the default scope.- Specified by:
putContextDatain interfaceDocumentModel- Parameters:
key- the context data keyvalue- the value
-
refresh
public void refresh()
Description copied from interface:DocumentModelSame asDocumentModel.refresh(REFRESH_DEFAULT).- Specified by:
refreshin interfaceDocumentModel
-
refresh
public void refresh(int refreshFlags, String[] schemas)Description copied from interface:DocumentModelRefresh document data from server.The data models will be removed and all prefetch and system data will be refreshed from the server
The refreshed data contains:
- document life cycle
- document lock state, acp if required
- acp if required - otherwise acp info will be cleared so that it will be refetched in lazy way
- document parts if required - otherwise parts data will be removed to be refreshed lazy
DocumentModel.REFRESH_STATEDocumentModel.REFRESH_ACP_IF_LOADEDDocumentModel.REFRESH_ACP_LAZYDocumentModel.REFRESH_ACPDocumentModel.REFRESH_CONTENT_IF_LOADEDDocumentModel.REFRESH_CONTENT_LAZYDocumentModel.REFRESH_CONTENTDocumentModel.REFRESH_DEFAULTsame as REFRESH_STATE | REFRESH_DEFAULT | REFRESH_ACP_IF_LOADED | REFRESH_CONTENT_IF_LOADEDDocumentModel.REFRESH_ALLsame as REFRESH_STATE | REFRESH_PREFTECH | REFRESH_ACP | REFRESH_CONTENT
- Specified by:
refreshin interfaceDocumentModel- Parameters:
refreshFlags- the refresh flagsschemas- the document parts (schemas) that should be refreshed now
-
reset
public void reset()
Description copied from interface:DocumentModelClears any prefetched or cached document data.This will force the document to lazily update its data when required.
- Specified by:
resetin interfaceDocumentModel
-
setACP
public void setACP(ACP acp, boolean overwrite)
Description copied from interface:DocumentModelSets the ACP for this document model.This is a wrapper for
CoreSession.setACP(DocumentRef, ACP, boolean)- Specified by:
setACPin interfaceDocumentModel- Parameters:
acp- the ACP to setoverwrite- whether to overwrite the old ACP or not- See Also:
CoreSession.setACP(DocumentRef, ACP, boolean)
-
setLock
public Lock setLock()
Description copied from interface:DocumentModelSets a lock on the document.- Specified by:
setLockin interfaceDocumentModel- Returns:
- the lock info that was set
-
getLockInfo
public Lock getLockInfo()
Description copied from interface:DocumentModelGets the lock info on the document.Lock info is cached on the document for performance. Use
CoreSession.getLockInfo(org.nuxeo.ecm.core.api.DocumentRef)to get the non-cached status.- Specified by:
getLockInfoin interfaceDocumentModel- Returns:
- the lock info if the document is locked, or
nullotherwise
-
removeLock
public Lock removeLock()
Description copied from interface:DocumentModelRemoves the lock on the document.The caller principal should be the same as the one who set the lock or to belongs to the administrator group, otherwise an exception will be throw.
If the document was not locked, does nothing.
Returns the previous lock info.
- Specified by:
removeLockin interfaceDocumentModel- Returns:
- the removed lock info, or
nullif there was no lock
-
setPathInfo
public void setPathInfo(String parentPath, String name)
Description copied from interface:DocumentModelSets path info.path and ref attributes will be set according to info
- Specified by:
setPathInfoin interfaceDocumentModel
-
setProperties
public void setProperties(String schemaName, Map<String,Object> data)
Description copied from interface:DocumentModelSets values for the given data model.This will not fetch the data model if not already fetched.
- Specified by:
setPropertiesin interfaceDocumentModel- Parameters:
schemaName- the schema namedata- the values to set
-
setProperty
public void setProperty(String schemaName, String name, Object value)
Description copied from interface:DocumentModelSets the property value from the given schema.This operation will not fetch the data model if not already fetched
- Specified by:
setPropertyin interfaceDocumentModel- Parameters:
schemaName- the schema namename- the property namevalue- the property value
-
setPropertyValue
public void setPropertyValue(String xpath, Serializable value)
Description copied from interface:DocumentModelSets a property value given a xpath.- Specified by:
setPropertyValuein interfaceDocumentModel
-
clone
public DocumentModel clone() throws CloneNotSupportedException
Description copied from interface:DocumentModelClone operation. Must be made public instead of just protected as in Object.- Specified by:
clonein interfaceDocumentModel- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
getContextData
public Serializable getContextData(String key)
Description copied from interface:DocumentModelGets the context data using the default scope.- Specified by:
getContextDatain interfaceDocumentModel- Parameters:
key- the context data key- Returns:
- the value
-
isCheckedOut
public boolean isCheckedOut()
Description copied from interface:DocumentModelTests if the document is checked out.A checked out document can be modified normally. A checked in document is identical to the last version that it created, and not modifiable.
Only applicable to documents that are live (not versions and not proxies).
- Specified by:
isCheckedOutin interfaceDocumentModel- Returns:
trueif the document is checked out,falseif it is checked in
-
checkOut
public void checkOut()
Description copied from interface:DocumentModelChecks out a document.A checked out document can be modified normally.
Only applicable to documents that are live (not versions and not proxies).
- Specified by:
checkOutin interfaceDocumentModel
-
checkIn
public DocumentRef checkIn(VersioningOption option, String checkinComment)
Description copied from interface:DocumentModelChecks in a document and returns the created version.A checked in document is identical to the last version that it created, and not modifiable.
Only applicable to documents that are live (not versions and not proxies).
- Specified by:
checkInin interfaceDocumentModel- Parameters:
option- whether to do create a newVersioningOption.MINORorVersioningOption.MAJORversion during check incheckinComment- the checkin comment- Returns:
- the version just created
-
getVersionSeriesId
public String getVersionSeriesId()
Description copied from interface:DocumentModelGets the version series id for this document.All documents and versions derived by a check in or checkout from the same original document share the same version series id.
- Specified by:
getVersionSeriesIdin interfaceDocumentModel- Returns:
- the version series id
-
isLatestVersion
public boolean isLatestVersion()
Description copied from interface:DocumentModelChecks if a document is the latest version in the version series.- Specified by:
isLatestVersionin interfaceDocumentModel
-
isMajorVersion
public boolean isMajorVersion()
Description copied from interface:DocumentModelChecks if a document is a major version.- Specified by:
isMajorVersionin interfaceDocumentModel
-
isLatestMajorVersion
public boolean isLatestMajorVersion()
Description copied from interface:DocumentModelChecks if a document is the latest major version in the version series.- Specified by:
isLatestMajorVersionin interfaceDocumentModel
-
isVersionSeriesCheckedOut
public boolean isVersionSeriesCheckedOut()
Description copied from interface:DocumentModelChecks if there is a checked out working copy for the version series of this document.- Specified by:
isVersionSeriesCheckedOutin interfaceDocumentModel
-
getChangeToken
public String getChangeToken()
Description copied from interface:DocumentModelGets the current change token for this document.The change token is an opaque string which is modified every time the document is changed.
Before saving a document through
CoreSession.saveDocument(org.nuxeo.ecm.core.api.DocumentModel)it's possible to pass an expected change token in the document context data throughdoc.putContextData(CoreSession.CHANGE_TOKEN, expectedChangeToken). If the change token does not match the stored one, it means that a concurrent update happened, and aConcurrentUpdateExceptionwill be thrown.- Specified by:
getChangeTokenin interfaceDocumentModel- Returns:
- the change token
- See Also:
DocumentModel.putContextData(java.lang.String, java.io.Serializable),CoreSession.CHANGE_TOKEN,CoreSession.getChangeToken(org.nuxeo.ecm.core.api.DocumentRef)
-
getBinaryFulltext
public Map<String,String> getBinaryFulltext()
Description copied from interface:DocumentModelGets the fulltext extracted from the binary fields.- Specified by:
getBinaryFulltextin interfaceDocumentModel
-
getObjectResolver
public PropertyObjectResolver getObjectResolver(String xpath)
- Specified by:
getObjectResolverin interfaceDocumentModel- Parameters:
xpath- the property xpath- Returns:
- A
PropertyObjectResolverto manage the property reference to external entities, null if this property's type has no resolver.
-
getRetainedProperties
public List<String> getRetainedProperties()
Description copied from interface:DocumentModelGets the retained properties of this document at the time it became a record.- Specified by:
getRetainedPropertiesin interfaceDocumentModel- Returns:
- the retained properties
-
-