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 weight DocumentModel implementation Only holds DocumentRef, RepositoryName, name, path and context data. Used to reduce memory footprint of Event stacked in EventBundle.
Author:
Thierry Delprat
See Also:
  • Constructor Details

  • Method Details

    • getId

      public String getId()
      Description copied from interface: DocumentModel
      Gets the document UUID.
      Specified by:
      getId in interface DocumentModel
      Returns:
      the document UUID
    • getRef

      public DocumentRef getRef()
      Description copied from interface: DocumentModel
      Gets a reference to the core document that can be used either remotely or locally (opens the core JVM).
      Specified by:
      getRef in interface DocumentModel
      Returns:
      the document reference
    • getRepositoryName

      public String getRepositoryName()
      Description copied from interface: DocumentModel
      Returns the name of the repository in which the document is stored.
      Specified by:
      getRepositoryName in interface DocumentModel
      Returns:
      the repository name as a string.
    • getName

      public String getName()
      Description copied from interface: DocumentModel
      Gets the document name.
      Specified by:
      getName in interface DocumentModel
      Returns:
      the document name
    • getPos

      public Long getPos()
      Description copied from interface: DocumentModel
      Gets the document's position in its containing folder (if ordered).
      Specified by:
      getPos in interface DocumentModel
      Returns:
      the position, or null if the containing folder is not ordered
    • getPath

      public Path getPath()
      Description copied from interface: DocumentModel
      Gets the document path.
      Specified by:
      getPath in interface DocumentModel
      Returns:
      the document path as string
    • getPathAsString

      public String getPathAsString()
      Description copied from interface: DocumentModel
      Gets the document path as a string.
      Specified by:
      getPathAsString in interface DocumentModel
      Returns:
      the document path as string
    • getParentRef

      public DocumentRef getParentRef()
      Description copied from interface: DocumentModel
      Retrieves the parent reference of the current document.
      Specified by:
      getParentRef in interface DocumentModel
      Returns:
      the parent reference or null if no parent
    • getType

      public String getType()
      Description copied from interface: DocumentModel
      Gets the document type name.
      Specified by:
      getType in interface DocumentModel
      Returns:
      the document type name
    • isTrashed

      public boolean isTrashed()
      Description copied from interface: DocumentModel
      Checks if this document is in the trash.
      Specified by:
      isTrashed in interface DocumentModel
      Returns:
      true if the document is in the trash, false otherwise.
    • isFolder

      public boolean isFolder()
      Description copied from interface: DocumentModel
      Checks if this document is a folder.
      Specified by:
      isFolder in interface DocumentModel
      Returns:
      true if the document is a folder, false otherwise
    • isVersion

      public boolean isVersion()
      Description copied from interface: DocumentModel
      Checks if this document is a version.
      Specified by:
      isVersion in interface DocumentModel
      Returns:
      true if the document is an older version of another document, false otherwise
    • copyContent

      public void copyContent(DocumentModel sourceDoc)
      Description copied from interface: DocumentModel
      Copies all the data from a source document.
      Specified by:
      copyContent in interface DocumentModel
    • copyContextData

      public void copyContextData(DocumentModel otherDocument)
      Description copied from interface: DocumentModel
      Copies the context data from given document to this document.
      Specified by:
      copyContextData in interface DocumentModel
    • followTransition

      public boolean followTransition(String transition)
      Description copied from interface: DocumentModel
      Follows a given life cycle transition.

      This will update the current life cycle of the document.

      Specified by:
      followTransition in interface DocumentModel
      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: DocumentModel
      Gets 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:
      getACP in interface DocumentModel
      Returns:
      the security data model or null if none
    • accept

      public void accept(PropertyVisitor visitor, Object arg)
      Description copied from interface: DocumentModel
      Method 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:
      accept in interface DocumentModel
      Parameters:
      visitor - the visitor to accept
      arg - 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: DocumentModel
      Adapts the document to the given interface.

      Attention, the first computation will cache the adaptation result for later calls.

      Specified by:
      getAdapter in interface DocumentModel
      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: DocumentModel
      Adapts the document to the given interface.
      Specified by:
      getAdapter in interface DocumentModel
      Type Parameters:
      T - the interface type to adapt to
      Parameters:
      itf - the interface class
      refreshCache - : readapt and stores in cache if already exists.
      Returns:
      the adapted document
    • getAllowedStateTransitions

      public Collection<String> getAllowedStateTransitions()
      Description copied from interface: DocumentModel
      Gets the allowed state transitions for this document.
      Specified by:
      getAllowedStateTransitions in interface DocumentModel
      Returns:
      a collection of state transitions as string
    • getCacheKey

      public String getCacheKey()
      Description copied from interface: DocumentModel
      Returns a cache key.

      Cache key will be computed like this : docUUID + "-" + sessionId + "-" + timestamp

      We 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:
      getCacheKey in interface DocumentModel
      Returns:
      the cache key as a string
    • getContextData

      public Map<String,Serializable> getContextData()
      Description copied from interface: DocumentModel
      Gets the context data associated to this document.
      Specified by:
      getContextData in interface DocumentModel
      Returns:
      a map of context data
    • getCoreSession

      public CoreSession getCoreSession()
      Description copied from interface: DocumentModel
      Gets the core session to which this document is tied.

      This may be null if the document has been detached from a session.

      Specified by:
      getCoreSession in interface DocumentModel
      Returns:
      the core session
    • detach

      public void detach(boolean loadAll)
      Description copied from interface: DocumentModel
      Detaches the documentImpl from its existing session, so that it can survive beyond the session's closing.
      Specified by:
      detach in interface DocumentModel
      Parameters:
      loadAll - if true, load all data and ACP from the session before detaching
    • attach

      public void attach(CoreSession coreSession)
      Description copied from interface: DocumentModel
      Reattaches a document to an existing session.
      Specified by:
      attach in interface DocumentModel
      Parameters:
      coreSession - the session to attach to
    • isAttached

      public boolean isAttached()
      Description copied from interface: DocumentModel
      Checks whether this document is attached to a session.
      Specified by:
      isAttached in interface DocumentModel
      Returns:
      true if the document is attached to a session
    • getCurrentLifeCycleState

      public String getCurrentLifeCycleState()
      Description copied from interface: DocumentModel
      Returns the life cycle of the document.
      Specified by:
      getCurrentLifeCycleState in interface DocumentModel
      Returns:
      the life cycle as a string
    • getDataModel

      @Deprecated public DataModel getDataModel(String schema)
      Deprecated.
      Description copied from interface: DocumentModel
      Gets the data model corresponding to the given schema.

      Null is returned if the document type has no such schema.

      Specified by:
      getDataModel in interface DocumentModel
      Parameters:
      schema - the schema name
      Returns:
      the data model or null if no such schema is supported
      See Also:
    • getDataModels

      @Deprecated public Map<String,DataModel> getDataModels()
      Deprecated.
      Description copied from interface: DocumentModel
      Gets the data models.
      Specified by:
      getDataModels in interface DocumentModel
      Returns:
      the data models that are already fetched.
      See Also:
    • getDataModelsCollection

      @Deprecated public Collection<DataModel> getDataModelsCollection()
      Deprecated.
      Description copied from interface: DocumentModel
      INTERNAL, not for public use.

      Gets a list with the currently fetched data models.

      Specified by:
      getDataModelsCollection in interface DocumentModel
      Returns:
      the data models that are already fetched as a collection
      See Also:
    • getFacets

      public Set<String> getFacets()
      Description copied from interface: DocumentModel
      Gets the facets available on this document (from the type and the instance facets).
      Specified by:
      getFacets in interface DocumentModel
      Returns:
      the facets
    • getSchemas

      public String[] getSchemas()
      Description copied from interface: DocumentModel
      Gets the schemas available on this document (from the type and the facets).
      Specified by:
      getSchemas in interface DocumentModel
      Returns:
      the schemas
    • getDocumentType

      public DocumentType getDocumentType()
      Description copied from interface: DocumentModel
      Gets the document type object.
      Specified by:
      getDocumentType in interface DocumentModel
      Returns:
      the document type object
    • getLifeCyclePolicy

      public String getLifeCyclePolicy()
      Description copied from interface: DocumentModel
      Returns the life cycle policy of the document.
      Specified by:
      getLifeCyclePolicy in interface DocumentModel
      Returns:
      the life cycle policy
    • getPropertyObjects

      public Collection<Property> getPropertyObjects(String schema)
      Description copied from interface: DocumentModel
      Gets the Property objects for the given schema.

      An empty list is returned if the document doesn't have the schema.

      Specified by:
      getPropertyObjects in interface DocumentModel
      Parameters:
      schema - the schema
      Returns:
      the properties
    • getProperties

      public Map<String,Object> getProperties(String schemaName)
      Description copied from interface: DocumentModel
      Gets 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:
      getProperties in interface DocumentModel
      Parameters:
      schemaName - the data model schema name
      Returns:
      the values map
    • getProperty

      public Property getProperty(String xpath) throws PropertyException
      Description copied from interface: DocumentModel
      Gets 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]/baz as foo/i/baz
      The latter is possible because in Nuxeo lists of complex elements are homogenous, so the name of the second-level element is implied.
      Specified by:
      getProperty in interface DocumentModel
      Throws:
      PropertyException
    • getProperty

      public Object getProperty(String schemaName, String name)
      Description copied from interface: DocumentModel
      Gets a property from the given schema.

      The data model owning the property will be fetched from the server if not already fetched.

      Specified by:
      getProperty in interface DocumentModel
      Parameters:
      schemaName - the schema name
      name - 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: DocumentModel
      Gets a property object from the given schema.
      Specified by:
      getPropertyObject in interface DocumentModel
      Parameters:
      schema - the schema name
      name - the property name
      Returns:
      the property, or null if no such property exists
    • getPropertyValue

      public Serializable getPropertyValue(String xpath) throws PropertyException
      Description copied from interface: DocumentModel
      Gets 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]/baz as foo/i/baz
      The latter is possible because in Nuxeo lists of complex elements are homogenous, so the name of the second-level element is implied.
      Specified by:
      getPropertyValue in interface DocumentModel
      Throws:
      PropertyException
    • getSessionId

      public String getSessionId()
      Description copied from interface: DocumentModel
      Returns the repository name and principal when the document is attached.
      Specified by:
      getSessionId in interface DocumentModel
    • getPrincipal

      public NuxeoPrincipal getPrincipal()
      Description copied from interface: DocumentModel
      Gets the principal attached to this document's session.
      Specified by:
      getPrincipal in interface DocumentModel
      Returns:
      the principal
    • getSourceId

      public String getSourceId()
      Description copied from interface: DocumentModel
      Returns the source document identifier.

      This is useful when not interested about the repository UUID itself. Technically, this is the current version UUID.

      Specified by:
      getSourceId in interface DocumentModel
      Returns:
      the source id as a string.
    • getSystemProp

      public <T extends Serializable> T getSystemProp(String systemProperty, Class<T> type)
      Description copied from interface: DocumentModel
      Gets 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:
      getSystemProp in interface DocumentModel
    • getTitle

      public String getTitle()
      Description copied from interface: DocumentModel
      Get a text suitable to be shown in a UI for this document.
      Specified by:
      getTitle in interface DocumentModel
      Returns:
      the title or the internal name if no title could be found
    • getVersionLabel

      public String getVersionLabel()
      Description copied from interface: DocumentModel
      Returns the version label.

      The label returned is computed by the VersioningService.

      Specified by:
      getVersionLabel in interface DocumentModel
      Returns:
      the version label, or null
    • getCheckinComment

      public String getCheckinComment()
      Description copied from interface: DocumentModel
      Returns the checkin comment if the document model is a version.
      Specified by:
      getCheckinComment in interface DocumentModel
      Returns:
      the checkin comment, or null
    • getCheckinDate

      public Calendar getCheckinDate()
      Description copied from interface: DocumentModel
      Returns the checkin date (the date the version was created) if the document model is a version.
      Specified by:
      getCheckinDate in interface DocumentModel
      Returns:
      the checkin date, or null
    • hasFacet

      public boolean hasFacet(String facet)
      Description copied from interface: DocumentModel
      Checks if the document has a facet, either from its type or added on the instance.
      Specified by:
      hasFacet in interface DocumentModel
      Parameters:
      facet - the facet name
      Returns:
      true if the document has the facet
    • hasSchema

      public boolean hasSchema(String schema)
      Description copied from interface: DocumentModel
      Checks if the document has the given schema, either from its type or added on the instance through a facet.
      Specified by:
      hasSchema in interface DocumentModel
      Parameters:
      schema - the schema name
      Returns:
      true if the document has the schema
    • addFacet

      public boolean addFacet(String facet)
      Description copied from interface: DocumentModel
      Adds a facet to the document instance.

      Does nothing if the facet was already present on the document.

      Specified by:
      addFacet in interface DocumentModel
      Parameters:
      facet - the facet name
      Returns:
      true if the facet was added, or false if it is already present
    • removeFacet

      public boolean removeFacet(String facet)
      Description copied from interface: DocumentModel
      Removes a facet from the document instance.

      It's not possible to remove a facet coming from the document type.

      Specified by:
      removeFacet in interface DocumentModel
      Parameters:
      facet - the facet name
      Returns:
      true if the facet was removed, or false if it isn't present or is present on the type or does not exit
    • isDownloadable

      public boolean isDownloadable()
      Description copied from interface: DocumentModel
      Checks if this document can be downloaded.
      Specified by:
      isDownloadable in interface DocumentModel
      Returns:
      true if the document has downloadable content, false otherwise
    • isLifeCycleLoaded

      public boolean isLifeCycleLoaded()
      Specified by:
      isLifeCycleLoaded in interface DocumentModel
    • isLocked

      public boolean isLocked()
      Description copied from interface: DocumentModel
      Tests 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:
      isLocked in interface DocumentModel
      Returns:
      the lock key if the document is locked or null otherwise
    • isProxy

      public boolean isProxy()
      Description copied from interface: DocumentModel
      Checks if this document is a proxy.
      Specified by:
      isProxy in interface DocumentModel
      Returns:
      true if the document is a proxy false otherwise
    • isImmutable

      public boolean isImmutable()
      Description copied from interface: DocumentModel
      Checks if this document is immutable.
      Specified by:
      isImmutable in interface DocumentModel
      Returns:
      true if the document is a version or a proxy to a version, false otherwise
    • isDirty

      public boolean isDirty()
      Description copied from interface: DocumentModel
      Checks if the document has actual data to write (dirty parts).
      Specified by:
      isDirty in interface DocumentModel
    • isVersionable

      public boolean isVersionable()
      Description copied from interface: DocumentModel
      Checks if this document can have versions.
      Specified by:
      isVersionable in interface DocumentModel
      Returns:
      true if the document can have versions, false otherwise
    • isPrefetched

      public boolean isPrefetched(String xpath)
      Description copied from interface: DocumentModel
      Checks if a property is prefetched.
      Specified by:
      isPrefetched in interface DocumentModel
      Parameters:
      xpath - the property xpath
      Returns:
      true if it is prefetched
    • isPrefetched

      public boolean isPrefetched(String schemaName, String name)
      Description copied from interface: DocumentModel
      Checks if a property is prefetched.
      Specified by:
      isPrefetched in interface DocumentModel
      Parameters:
      schemaName - the schema name
      name - the property name
      Returns:
      true if it is prefetched
    • prefetchCurrentLifecycleState

      public void prefetchCurrentLifecycleState(String lifecycle)
      Description copied from interface: DocumentModel
      Used to set lifecycle state along with prefetching other properties.
      Specified by:
      prefetchCurrentLifecycleState in interface DocumentModel
    • prefetchLifeCyclePolicy

      public void prefetchLifeCyclePolicy(String lifeCyclePolicy)
      Description copied from interface: DocumentModel
      Used to set lifecycle policy along with prefetching other properties.
      Specified by:
      prefetchLifeCyclePolicy in interface DocumentModel
    • putContextData

      public void putContextData(String key, Serializable value)
      Description copied from interface: DocumentModel
      Sets a context data in the default scope.
      Specified by:
      putContextData in interface DocumentModel
      Parameters:
      key - the context data key
      value - the value
    • refresh

      public void refresh()
      Description copied from interface: DocumentModel
      Same as DocumentModel.refresh(REFRESH_DEFAULT).
      Specified by:
      refresh in interface DocumentModel
    • refresh

      public void refresh(int refreshFlags, String[] schemas)
      Description copied from interface: DocumentModel
      Refresh 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
      The refresh flags are: If XX_IF_LOADED is used then XX will be refreshed only if already loaded in the document - otherwise a lazy refresh will be done
      Specified by:
      refresh in interface DocumentModel
      Parameters:
      refreshFlags - the refresh flags
      schemas - the document parts (schemas) that should be refreshed now
    • reset

      public void reset()
      Description copied from interface: DocumentModel
      Clears any prefetched or cached document data.

      This will force the document to lazily update its data when required.

      Specified by:
      reset in interface DocumentModel
    • setACP

      public void setACP(ACP acp, boolean overwrite)
      Description copied from interface: DocumentModel
      Sets the ACP for this document model.

      This is a wrapper for CoreSession.setACP(DocumentRef, ACP, boolean)

      Specified by:
      setACP in interface DocumentModel
      Parameters:
      acp - the ACP to set
      overwrite - whether to overwrite the old ACP or not
      See Also:
    • setLock

      public Lock setLock()
      Description copied from interface: DocumentModel
      Sets a lock on the document.
      Specified by:
      setLock in interface DocumentModel
      Returns:
      the lock info that was set
    • getLockInfo

      public Lock getLockInfo()
      Description copied from interface: DocumentModel
      Gets 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:
      getLockInfo in interface DocumentModel
      Returns:
      the lock info if the document is locked, or null otherwise
    • removeLock

      public Lock removeLock()
      Description copied from interface: DocumentModel
      Removes 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:
      removeLock in interface DocumentModel
      Returns:
      the removed lock info, or null if there was no lock
    • setPathInfo

      public void setPathInfo(String parentPath, String name)
      Description copied from interface: DocumentModel
      Sets path info.

      path and ref attributes will be set according to info

      Specified by:
      setPathInfo in interface DocumentModel
    • setProperties

      public void setProperties(String schemaName, Map<String,Object> data)
      Description copied from interface: DocumentModel
      Sets values for the given data model.

      This will not fetch the data model if not already fetched.

      Specified by:
      setProperties in interface DocumentModel
      Parameters:
      schemaName - the schema name
      data - the values to set
    • setProperty

      public void setProperty(String schemaName, String name, Object value)
      Description copied from interface: DocumentModel
      Sets the property value from the given schema.

      This operation will not fetch the data model if not already fetched

      Specified by:
      setProperty in interface DocumentModel
      Parameters:
      schemaName - the schema name
      name - the property name
      value - the property value
    • setPropertyObject

      public void setPropertyObject(Property property)
      Description copied from interface: DocumentModel
      Sets a property object.
      Specified by:
      setPropertyObject in interface DocumentModel
      Parameters:
      property - the property object
    • setPropertyValue

      public void setPropertyValue(String xpath, Serializable value)
      Description copied from interface: DocumentModel
      Sets a property value given a xpath.
      Specified by:
      setPropertyValue in interface DocumentModel
    • clone

      Description copied from interface: DocumentModel
      Clone operation. Must be made public instead of just protected as in Object.
      Specified by:
      clone in interface DocumentModel
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • getContextData

      public Serializable getContextData(String key)
      Description copied from interface: DocumentModel
      Gets the context data using the default scope.
      Specified by:
      getContextData in interface DocumentModel
      Parameters:
      key - the context data key
      Returns:
      the value
    • isCheckedOut

      public boolean isCheckedOut()
      Description copied from interface: DocumentModel
      Tests 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:
      isCheckedOut in interface DocumentModel
      Returns:
      true if the document is checked out, false if it is checked in
    • checkOut

      public void checkOut()
      Description copied from interface: DocumentModel
      Checks 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:
      checkOut in interface DocumentModel
    • checkIn

      public DocumentRef checkIn(VersioningOption option, String checkinComment)
      Description copied from interface: DocumentModel
      Checks 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:
      checkIn in interface DocumentModel
      Parameters:
      option - whether to do create a new VersioningOption.MINOR or VersioningOption.MAJOR version during check in
      checkinComment - the checkin comment
      Returns:
      the version just created
    • getVersionSeriesId

      public String getVersionSeriesId()
      Description copied from interface: DocumentModel
      Gets 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:
      getVersionSeriesId in interface DocumentModel
      Returns:
      the version series id
    • isLatestVersion

      public boolean isLatestVersion()
      Description copied from interface: DocumentModel
      Checks if a document is the latest version in the version series.
      Specified by:
      isLatestVersion in interface DocumentModel
    • isMajorVersion

      public boolean isMajorVersion()
      Description copied from interface: DocumentModel
      Checks if a document is a major version.
      Specified by:
      isMajorVersion in interface DocumentModel
    • isLatestMajorVersion

      public boolean isLatestMajorVersion()
      Description copied from interface: DocumentModel
      Checks if a document is the latest major version in the version series.
      Specified by:
      isLatestMajorVersion in interface DocumentModel
    • isVersionSeriesCheckedOut

      public boolean isVersionSeriesCheckedOut()
      Description copied from interface: DocumentModel
      Checks if there is a checked out working copy for the version series of this document.
      Specified by:
      isVersionSeriesCheckedOut in interface DocumentModel
    • getChangeToken

      public String getChangeToken()
      Description copied from interface: DocumentModel
      Gets 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 through doc.putContextData(CoreSession.CHANGE_TOKEN, expectedChangeToken). If the change token does not match the stored one, it means that a concurrent update happened, and a ConcurrentUpdateException will be thrown.

      Specified by:
      getChangeToken in interface DocumentModel
      Returns:
      the change token
      See Also:
    • getBinaryFulltext

      public Map<String,String> getBinaryFulltext()
      Description copied from interface: DocumentModel
      Gets the fulltext extracted from the binary fields.
      Specified by:
      getBinaryFulltext in interface DocumentModel
    • getObjectResolver

      public PropertyObjectResolver getObjectResolver(String xpath)
      Specified by:
      getObjectResolver in interface DocumentModel
      Parameters:
      xpath - the property xpath
      Returns:
      A PropertyObjectResolver to 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: DocumentModel
      Gets the retained properties of this document at the time it became a record.
      Specified by:
      getRetainedProperties in interface DocumentModel
      Returns:
      the retained properties