Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.ecm.core.event.impl
Class ShallowDocumentModel

java.lang.Object
  extended by 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:
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
ShallowDocumentModel(DocumentModel doc)
           
 
Method Summary
 void accept(PropertyVisitor visitor, Object arg)
          Method that implement the visitor pattern.
 boolean addFacet(String facet)
          Adds a facet to the document instance.
 DocumentRef checkIn(VersioningOption option, String checkinComment)
          Checks in a document and returns the created version.
 void checkOut()
          Checks out a document.
 DocumentModel clone()
          Clone operation.
 void copyContent(DocumentModel sourceDoc)
          Copies all the data from a source document.
 void copyContextData(DocumentModel otherDocument)
          Copies the context data from given document to this document.
 boolean followTransition(String transition)
          Follows a given life cycle transition.
 ACP getACP()
          Gets the access control policy (ACP) for this document.
<T> T
getAdapter(Class<T> itf)
          Adapts the document to the given interface.
<T> T
getAdapter(Class<T> itf, boolean refreshCache)
          Adapts the document to the given interface.
 Collection<String> getAllowedStateTransitions()
          Gets the allowed state transitions for this document.
 String getCacheKey()
          Returns a cache key.
 String getChangeToken()
          Opaque string that represents the last update state of the DocumentModel.
 String getCheckinComment()
          Returns the checkin comment if the document model is a version.
 ScopedMap getContextData()
          Gets the context data associated to this document.
 Serializable getContextData(ScopeType scope, String key)
          Gets the context data associated to this document for given scope and given key.
 Serializable getContextData(String key)
          Gets the context data using the default scope.
 CoreSession getCoreSession()
          Gets the core session to which this document is tied.
 String getCurrentLifeCycleState()
          Returns the life cycle of the document.
 DataModel getDataModel(String schema)
          Gets the data model corresponding to the given schema.
 DataModelMap getDataModels()
          Gets the data models.
 Collection<DataModel> getDataModelsCollection()
          Gets a list with the currently fetched data models.
 Set<String> getDeclaredFacets()
          Gets the facets available on this document (from the type and the instance facets).
 String[] getDeclaredSchemas()
          Gets the schemas available on this document (from the type and the facets).
 DocumentType getDocumentType()
          Gets the document type object.
 Set<String> getFacets()
          Gets the facets available on this document (from the type and the instance facets).
 long getFlags()
          Returns the flags set on the document model.
 String getId()
          Gets the document UUID.
 String getLifeCyclePolicy()
          Returns the life cycle policy of the document.
 String getLock()
          Gets the lock key if the document is locked.
 Lock getLockInfo()
          Gets the lock info on the document.
 String getName()
          Gets the document name.
 DocumentRef getParentRef()
          Retrieves the parent reference of the current document.
 DocumentPart getPart(String schema)
          Get a document part given its schema name
 DocumentPart[] getParts()
          Gets this document's parts.
 Path getPath()
          Gets the document path.
 String getPathAsString()
          Gets the document path as a string.
 Map<String,Object> getProperties(String schemaName)
          Gets the values from the given data model as a map.
 Property getProperty(String xpath)
          Gets a property given a xpath.
 Object getProperty(String schemaName, String name)
          Gets a property from the given schema.
 Serializable getPropertyValue(String xpath)
          Gets a property value given a xpath.
 DocumentRef getRef()
          Gets a reference to the core document that can be used either remotely or locally (opens the core JVM).
 String getRepositoryName()
          Returns the name of the repository in which the document is stored.
 String[] getSchemas()
          Gets the schemas available on this document (from the type and the facets).
 String getSessionId()
          Retrieves the session id corresponding to this object.
 String getSourceId()
          Returns the source document identifier.
<T extends Serializable>
T
getSystemProp(String systemProperty, Class<T> type)
          Gets system property of the specified type.
 String getTitle()
          Get a text suitable to be shown in a UI for this document.
 String getType()
          Gets the document type name.
 String getVersionLabel()
          Returns the version label.
 String getVersionSeriesId()
          Gets the version series id for this document.
 boolean hasFacet(String facet)
          Checks if the document has a facet, either from its type or added on the instance.
 boolean hasSchema(String schema)
          Checks if the document has the given schema, either from its type or added on the instance through a facet.
 boolean isCheckedOut()
          Tests if the document is checked out.
 boolean isDirty()
          Checks if the document has actual data to write (dirty parts).
 boolean isDownloadable()
          Checks if this document can be downloaded.
 boolean isFolder()
          Checks if this document is a folder.
 boolean isImmutable()
          Checks if this document is immutable.
 boolean isLatestMajorVersion()
          Checks if a document is the latest major version in the version series.
 boolean isLatestVersion()
          Checks if a document is the latest version in the version series.
 boolean isLifeCycleLoaded()
           
 boolean isLocked()
          Tests if the document is locked.
 boolean isMajorVersion()
          Checks if a document is a major version.
 boolean isPrefetched(String xpath)
          Checks if a property is prefetched.
 boolean isPrefetched(String schemaName, String name)
          Checks if a property is prefetched.
 boolean isProxy()
          Checks if this document is a proxy.
 boolean isVersion()
          Checks if this document is a version.
 boolean isVersionable()
          Checks if this document can have versions.
 boolean isVersionSeriesCheckedOut()
          Checks if there is a checked out working copy for the version series of this document.
 void prefetchCurrentLifecycleState(String lifecycle)
          Used to set lifecycle state along with prefetching other properties.
 void prefetchLifeCyclePolicy(String lifeCyclePolicy)
          Used to set lifecycle policy along with prefetching other properties.
 void putContextData(ScopeType scope, String key, Serializable value)
          Adds mapping to the context data for given scope.
 void putContextData(String key, Serializable value)
          Sets a context data in the default scope.
 void refresh()
          Same as DocumentModel.refresh(REFRESH_DEFAULT).
 void refresh(int refreshFlags, String[] schemas)
          Refresh document data from server.
 boolean removeFacet(String facet)
          Removes a facet from the document instance.
 Lock removeLock()
          Removes the lock on the document.
 void reset()
          Clears any prefetched or cached document data.
 void setACP(ACP acp, boolean overwrite)
          Sets the ACP for this document model.
 Lock setLock()
          Sets a lock on the document.
 void setLock(String key)
          Locks this document using the given key.
 void setPathInfo(String parentPath, String name)
          Sets path info.
 void setProperties(String schemaName, Map<String,Object> data)
          Sets values for the given data model.
 void setProperty(String schemaName, String name, Object value)
          Sets the property value from the given schema.
 void setPropertyValue(String xpath, Serializable value)
          Sets a property value given a xpath.
 void unlock()
          Unlocks the given document.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShallowDocumentModel

public ShallowDocumentModel(DocumentModel doc)
Method Detail

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

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

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)
                 throws ClientException
Description copied from interface: DocumentModel
Copies all the data from a source document.

Specified by:
copyContent in interface DocumentModel
Throws:
ClientException

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)
                         throws ClientException
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
Throws:
ClientException

getACP

public ACP getACP()
           throws ClientException
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
Throws:
ClientException

accept

public void accept(PropertyVisitor visitor,
                   Object arg)
            throws ClientException
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.
Throws:
ClientException

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()
                                              throws ClientException
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
Throws:
ClientException

getCacheKey

public String getCacheKey()
                   throws ClientException
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.

Specified by:
getCacheKey in interface DocumentModel
Returns:
the cache key as a string
Throws:
ClientException

getContextData

public ScopedMap getContextData()
Description copied from interface: DocumentModel
Gets the context data associated to this document.

Specified by:
getContextData in interface DocumentModel
Returns:
serializable map of context data.

getContextData

public Serializable getContextData(ScopeType scope,
                                   String key)
Description copied from interface: DocumentModel
Gets the context data associated to this document for given scope and given key.

Specified by:
getContextData in interface DocumentModel

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

getCurrentLifeCycleState

public String getCurrentLifeCycleState()
                                throws ClientException
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
Throws:
ClientException
See Also:
org.nuxeo.ecm.core.lifecycle

getDataModel

public DataModel getDataModel(String schema)
                       throws ClientException
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
Throws:
ClientException

getDataModels

public DataModelMap getDataModels()
Description copied from interface: DocumentModel
Gets the data models.

Specified by:
getDataModels in interface DocumentModel
Returns:
the data models that are already fetched.

getDataModelsCollection

public Collection<DataModel> getDataModelsCollection()
Description copied from interface: DocumentModel
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

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

getDeclaredFacets

public Set<String> getDeclaredFacets()
Description copied from interface: DocumentModel
Gets the facets available on this document (from the type and the instance facets).

Specified by:
getDeclaredFacets 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

getDeclaredSchemas

public String[] getDeclaredSchemas()
Description copied from interface: DocumentModel
Gets the schemas available on this document (from the type and the facets).

Specified by:
getDeclaredSchemas 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

getFlags

public long getFlags()
Description copied from interface: DocumentModel
Returns the flags set on the document model.

Specified by:
getFlags in interface DocumentModel

getLifeCyclePolicy

public String getLifeCyclePolicy()
                          throws ClientException
Description copied from interface: DocumentModel
Returns the life cycle policy of the document.

Specified by:
getLifeCyclePolicy in interface DocumentModel
Returns:
the life cycle policy
Throws:
ClientException
See Also:
org.nuxeo.ecm.core.lifecycle

getLock

public String getLock()
Description copied from interface: DocumentModel
Gets the lock key 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:
getLock in interface DocumentModel
Returns:
the lock key if the document is locked or null otherwise

getPart

public DocumentPart getPart(String schema)
                     throws ClientException
Description copied from interface: DocumentModel
Get a document part given its schema name

Specified by:
getPart in interface DocumentModel
Parameters:
schema - the schema
Returns:
the document aprt or null if none exists for that schema
Throws:
ClientException

getParts

public DocumentPart[] getParts()
                        throws ClientException
Description copied from interface: DocumentModel
Gets this document's parts.

Specified by:
getParts in interface DocumentModel
Throws:
ClientException

getProperties

public Map<String,Object> getProperties(String schemaName)
                                 throws ClientException
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
Throws:
ClientException

getProperty

public Property getProperty(String xpath)
                     throws PropertyException,
                            ClientException
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:

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
ClientException

getProperty

public Object getProperty(String schemaName,
                          String name)
                   throws ClientException
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
Throws:
ClientException

getPropertyValue

public Serializable getPropertyValue(String xpath)
                              throws PropertyException,
                                     ClientException
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:

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
ClientException

getSessionId

public String getSessionId()
Description copied from interface: DocumentModel
Retrieves the session id corresponding to this object.

This method should rarely be used, use DocumentModel.getCoreSession() directly instead.

Using the session id you can retrieve the core session that created the object.

Document models created by the user on the client side are not bound to any session. They are simple DTO used to transport data.

Specified by:
getSessionId in interface DocumentModel
Returns:
the session id the session ID for server side created doc models or null for client side models (used for data transportation)

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)
                                     throws ClientException,
                                            DocumentException
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
Throws:
ClientException
DocumentException

getTitle

public String getTitle()
                throws ClientException
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
Throws:
ClientException

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

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()
                       throws ClientException
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
Throws:
ClientException

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

putContextData

public void putContextData(ScopeType scope,
                           String key,
                           Serializable value)
Description copied from interface: DocumentModel
Adds mapping to the context data for given scope.

Context data is like a request map set on the document model to pass additional information to components interacting with the document model (events processing for instance).

Specified by:
putContextData in interface DocumentModel

refresh

public void refresh()
             throws ClientException
Description copied from interface: DocumentModel
Same as DocumentModel.refresh(REFRESH_DEFAULT).

Specified by:
refresh in interface DocumentModel
Throws:
ClientException

refresh

public void refresh(int refreshFlags,
                    String[] schemas)
             throws ClientException
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:

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
Throws:
ClientException

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)
            throws ClientException
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
Throws:
ClientException
See Also:
CoreSession#setACP(DocumentRef, ACP, boolean)}

setLock

public void setLock(String key)
             throws ClientException
Description copied from interface: DocumentModel
Locks this document using the given key.

This is a wrapper for CoreSession.setLock(DocumentRef, String).

Specified by:
setLock in interface DocumentModel
Parameters:
key - the key to use when locking
Throws:
ClientException - if the document is already locked or other error occurs

setLock

public Lock setLock()
             throws ClientException
Description copied from interface: DocumentModel
Sets a lock on the document.

Specified by:
setLock in interface DocumentModel
Returns:
the lock info that was set
Throws:
ClientException - if a lock was already set

getLockInfo

public Lock getLockInfo()
                 throws ClientException
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
Throws:
ClientException

removeLock

public Lock removeLock()
                throws ClientException
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
Throws:
ClientException

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)
                   throws ClientException
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
Throws:
ClientException

setProperty

public void setProperty(String schemaName,
                        String name,
                        Object value)
                 throws ClientException
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
Throws:
ClientException

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

unlock

public void unlock()
            throws ClientException
Description copied from interface: DocumentModel
Unlocks the given document.

Specified by:
unlock in interface DocumentModel
Throws:
ClientException - if the document is already locked or other error occurs

clone

public DocumentModel clone()
                    throws CloneNotSupportedException
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()
                     throws ClientException
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
Throws:
ClientException

checkOut

public void checkOut()
              throws ClientException
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
Throws:
ClientException

checkIn

public DocumentRef checkIn(VersioningOption option,
                           String checkinComment)
                    throws ClientException
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
Throws:
ClientException

getVersionSeriesId

public String getVersionSeriesId()
                          throws ClientException
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
Throws:
ClientException

isLatestVersion

public boolean isLatestVersion()
                        throws ClientException
Description copied from interface: DocumentModel
Checks if a document is the latest version in the version series.

Specified by:
isLatestVersion in interface DocumentModel
Throws:
ClientException

isMajorVersion

public boolean isMajorVersion()
                       throws ClientException
Description copied from interface: DocumentModel
Checks if a document is a major version.

Specified by:
isMajorVersion in interface DocumentModel
Throws:
ClientException

isLatestMajorVersion

public boolean isLatestMajorVersion()
                             throws ClientException
Description copied from interface: DocumentModel
Checks if a document is the latest major version in the version series.

Specified by:
isLatestMajorVersion in interface DocumentModel
Throws:
ClientException

isVersionSeriesCheckedOut

public boolean isVersionSeriesCheckedOut()
                                  throws ClientException
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
Throws:
ClientException

getChangeToken

public String getChangeToken()
Description copied from interface: DocumentModel
Opaque string that represents the last update state of the DocumentModel. This token can be used for optimistic locking and avoid dirty updates. See CMIS spec : http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.html#_Toc243905432

Specified by:
getChangeToken in interface DocumentModel
Returns:
the ChangeToken string that can be null for some Document types

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.