Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.ecm.core.api
Interface DocumentModel

All Superinterfaces:
Serializable
All Known Implementing Classes:
DeletedDocumentModel, DocumentModelImpl, ShallowDocumentModel, SimpleDocumentModel

public interface DocumentModel
extends Serializable

The document model is a serializable representation of a core document.

The document model is made from several data models, each data model is bound to a schema. All the information about a document (like security) is expressed using schemas (and implicitly data models).

Data models are lazily loaded as they are needed. At document model creation only data models corresponding to the default schemas are loaded. The default schemas are configured in the type manager through extension points.

The user may overwrite the default schemas by passing the schemas to be used at model creation via CoreSession.getDocument(DocumentRef, String[])

How a lazy data model is loaded depends on the implementation.

Anyway the API already provides a mechanism to handle this as follow:

 
 public DataModel getDataModel(String schema) {
     DataModel dataModel = dataModels.get(schema);
     if (dataModel != null && !dataModel.isLoaded()) {
         CoreSession client = CoreInstance.getInstance().getClient(
                 getSessionId());
         if (client != null) {
             dataModel = client.getDataModel(getRef(), schema);
             dataModels.put(schema, dataModel);
         }
     }
     return dataModel;
 }
 
 

Author:
Bogdan Stefanescu
See Also:
CoreSession, DataModel

Nested Class Summary
static class DocumentModel.DocumentModelRefresh
          Info fetched internally during a refresh.
 
Field Summary
static int REFRESH_ACP
           
static int REFRESH_ACP_IF_LOADED
           
static int REFRESH_ACP_LAZY
           
static int REFRESH_ALL
           
static int REFRESH_CONTENT
           
static int REFRESH_CONTENT_IF_LOADED
           
static int REFRESH_CONTENT_LAZY
           
static int REFRESH_DEFAULT
           
static int REFRESH_IF_LOADED
           
static int REFRESH_LAZY
           
static int REFRESH_PREFETCH
           
static int REFRESH_STATE
           
 
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()
          Deprecated. use getFacets() instead, or call getDocumentType() and look up the type facets
 String[] getDeclaredSchemas()
          Deprecated. use getSchemas() instead, or call getDocumentType() and look up the type schemas
 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()
          Deprecated. unused
 String getId()
          Gets the document UUID.
 String getLifeCyclePolicy()
          Returns the life cycle policy of the document.
 String getLock()
          Deprecated. since 5.4.2, use getLockInfo() instead
 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)
          Deprecated. since 5.4.2, use setLock(java.lang.String) instead
 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()
          Deprecated. since 5.4.2, use removeLock() instead
 

Field Detail

REFRESH_STATE

static final int REFRESH_STATE
See Also:
Constant Field Values

REFRESH_PREFETCH

static final int REFRESH_PREFETCH
See Also:
Constant Field Values

REFRESH_ACP_IF_LOADED

static final int REFRESH_ACP_IF_LOADED
See Also:
Constant Field Values

REFRESH_ACP_LAZY

static final int REFRESH_ACP_LAZY
See Also:
Constant Field Values

REFRESH_ACP

static final int REFRESH_ACP
See Also:
Constant Field Values

REFRESH_CONTENT_IF_LOADED

static final int REFRESH_CONTENT_IF_LOADED
See Also:
Constant Field Values

REFRESH_CONTENT_LAZY

static final int REFRESH_CONTENT_LAZY
See Also:
Constant Field Values

REFRESH_CONTENT

static final int REFRESH_CONTENT
See Also:
Constant Field Values

REFRESH_IF_LOADED

static final int REFRESH_IF_LOADED
See Also:
Constant Field Values

REFRESH_LAZY

static final int REFRESH_LAZY
See Also:
Constant Field Values

REFRESH_ALL

static final int REFRESH_ALL
See Also:
Constant Field Values

REFRESH_DEFAULT

static final int REFRESH_DEFAULT
See Also:
Constant Field Values
Method Detail

getDocumentType

DocumentType getDocumentType()
Gets the document type object.

Returns:
the document type object

getSessionId

String getSessionId()
Retrieves the session id corresponding to this object.

This method should rarely be used, use 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.

Returns:
the session id the session ID for server side created doc models or null for client side models (used for data transportation)

getCoreSession

CoreSession getCoreSession()
Gets the core session to which this document is tied.

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

Returns:
the core session
Since:
5.2.GA

getRef

DocumentRef getRef()
Gets a reference to the core document that can be used either remotely or locally (opens the core JVM).

Returns:
the document reference

getParentRef

DocumentRef getParentRef()
Retrieves the parent reference of the current document.

Returns:
the parent reference or null if no parent

getId

String getId()
Gets the document UUID.

Returns:
the document UUID

getName

String getName()
Gets the document name.

Returns:
the document name

getTitle

String getTitle()
                throws ClientException
Get a text suitable to be shown in a UI for this document.

Returns:
the title or the internal name if no title could be found
Throws:
ClientException

getPathAsString

String getPathAsString()
Gets the document path as a string.

Returns:
the document path as string

getPath

Path getPath()
Gets the document path.

Returns:
the document path as string

getType

String getType()
Gets the document type name.

Returns:
the document type name

getSchemas

String[] getSchemas()
Gets the schemas available on this document (from the type and the facets).

Returns:
the schemas
Since:
5.4.2

getDeclaredSchemas

@Deprecated
String[] getDeclaredSchemas()
Deprecated. use getSchemas() instead, or call getDocumentType() and look up the type schemas

Gets the schemas available on this document (from the type and the facets).

Returns:
the schemas

hasSchema

boolean hasSchema(String schema)
Checks if the document has the given schema, either from its type or added on the instance through a facet.

Parameters:
schema - the schema name
Returns:
true if the document has the schema

getFacets

Set<String> getFacets()
Gets the facets available on this document (from the type and the instance facets).

Returns:
the facets
Since:
5.4.2

getDeclaredFacets

@Deprecated
Set<String> getDeclaredFacets()
Deprecated. use getFacets() instead, or call getDocumentType() and look up the type facets

Gets the facets available on this document (from the type and the instance facets).

Returns:
the facets

hasFacet

boolean hasFacet(String facet)
Checks if the document has a facet, either from its type or added on the instance.

Parameters:
facet - the facet name
Returns:
true if the document has the facet

addFacet

boolean addFacet(String facet)
Adds a facet to the document instance.

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

Parameters:
facet - the facet name
Returns:
true if the facet was added, or false if it is already present
Throws:
DocumentException - if the facet does not exist
Since:
5.4.2

removeFacet

boolean removeFacet(String facet)
Removes a facet from the document instance.

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

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
Since:
5.4.2

getDataModelsCollection

Collection<DataModel> getDataModelsCollection()
Gets a list with the currently fetched data models.

Returns:
the data models that are already fetched as a collection

getDataModels

DataModelMap getDataModels()
Gets the data models.

Returns:
the data models that are already fetched.

getDataModel

DataModel getDataModel(String schema)
                       throws ClientException
Gets the data model corresponding to the given schema.

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

Parameters:
schema - the schema name
Returns:
the data model or null if no such schema is supported
Throws:
ClientException

setPathInfo

void setPathInfo(String parentPath,
                 String name)
Sets path info.

path and ref attributes will be set according to info

Parameters:
parentPath -
name -

getLock

@Deprecated
String getLock()
Deprecated. since 5.4.2, use getLockInfo() instead

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.

Returns:
the lock key if the document is locked or null otherwise

isLocked

boolean isLocked()
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.

Returns:
the lock key if the document is locked or null otherwise

setLock

@Deprecated
void setLock(String key)
             throws ClientException
Deprecated. since 5.4.2, use setLock(java.lang.String) instead

Locks this document using the given key.

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

Parameters:
key - the key to use when locking
Throws:
ClientException - if the document is already locked or other error occurs

unlock

@Deprecated
void unlock()
            throws ClientException
Deprecated. since 5.4.2, use removeLock() instead

Unlocks the given document.

Throws:
ClientException - if the document is already locked or other error occurs

setLock

Lock setLock()
             throws ClientException
Sets a lock on the document.

Returns:
the lock info that was set
Throws:
ClientException - if a lock was already set
Since:
5.4.2

getLockInfo

Lock getLockInfo()
                 throws ClientException
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.

Returns:
the lock info if the document is locked, or null otherwise
Throws:
ClientException
Since:
5.4.2

removeLock

Lock removeLock()
                throws ClientException
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.

Returns:
the removed lock info, or null if there was no lock
Throws:
ClientException
Since:
5.4.2

isCheckedOut

boolean isCheckedOut()
                     throws ClientException
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).

Returns:
true if the document is checked out, false if it is checked in
Throws:
ClientException
Since:
5.4

checkOut

void checkOut()
              throws ClientException
Checks out a document.

A checked out document can be modified normally.

Only applicable to documents that are live (not versions and not proxies).

Throws:
ClientException
Since:
5.4

checkIn

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

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
Since:
5.4

getVersionLabel

String getVersionLabel()
Returns the version label.

The label returned is computed by the VersioningService.

Returns:
the version label, or null

getCheckinComment

String getCheckinComment()
                         throws ClientException
Returns the checkin comment if the document model is a version.

Returns:
the checkin comment, or null
Throws:
ClientException
Since:
5.4

getVersionSeriesId

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

Returns:
the version series id
Throws:
ClientException
Since:
5.4

isLatestVersion

boolean isLatestVersion()
                        throws ClientException
Checks if a document is the latest version in the version series.

Throws:
ClientException
Since:
5.4

isMajorVersion

boolean isMajorVersion()
                       throws ClientException
Checks if a document is a major version.

Throws:
ClientException
Since:
5.4

isLatestMajorVersion

boolean isLatestMajorVersion()
                             throws ClientException
Checks if a document is the latest major version in the version series.

Throws:
ClientException
Since:
5.4

isVersionSeriesCheckedOut

boolean isVersionSeriesCheckedOut()
                                  throws ClientException
Checks if there is a checked out working copy for the version series of this document.

Throws:
ClientException
Since:
5.4

getACP

ACP getACP()
           throws ClientException
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.

Returns:
the security data model or null if none
Throws:
ClientException

setACP

void setACP(ACP acp,
            boolean overwrite)
            throws ClientException
Sets the ACP for this document model.

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

Parameters:
acp - the ACP to set
overwrite - whether to overwrite the old ACP or not
Throws:
ClientException
See Also:
CoreSession#setACP(DocumentRef, ACP, boolean)}

getProperty

Object getProperty(String schemaName,
                   String name)
                   throws ClientException
Gets a property from the given schema.

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

Parameters:
schemaName - the schema name
name - the property name
Returns:
the property value or null if no such property exists
Throws:
ClientException

setProperty

void setProperty(String schemaName,
                 String name,
                 Object value)
                 throws ClientException
Sets the property value from the given schema.

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

Parameters:
schemaName - the schema name
name - the property name
value - the property value
Throws:
ClientException

getProperties

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

Parameters:
schemaName - the data model schema name
Returns:
the values map
Throws:
ClientException

setProperties

void setProperties(String schemaName,
                   Map<String,Object> data)
                   throws ClientException
Sets values for the given data model.

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

Parameters:
schemaName - the schema name
data - the values to set
Throws:
ClientException

isFolder

boolean isFolder()
Checks if this document is a folder.

Returns:
true if the document is a folder, false otherwise

isVersionable

boolean isVersionable()
Checks if this document can have versions.

Returns:
true if the document can have versions, false otherwise

isDownloadable

boolean isDownloadable()
                       throws ClientException
Checks if this document can be downloaded.

Returns:
true if the document has downloadable content, false otherwise
Throws:
ClientException

isVersion

boolean isVersion()
Checks if this document is a version.

Returns:
true if the document is an older version of another document, false otherwise

isProxy

boolean isProxy()
Checks if this document is a proxy.

Returns:
true if the document is a proxy false otherwise

isImmutable

boolean isImmutable()
Checks if this document is immutable.

Returns:
true if the document is a version or a proxy to a version, false otherwise
Since:
1.6.1 (5.3.1)

isDirty

boolean isDirty()
Checks if the document has actual data to write (dirty parts).

Since:
5.4.3

accept

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

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
Since:
5.4.3

getAdapter

<T> T getAdapter(Class<T> itf)
Adapts the document to the given interface.

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

Type Parameters:
T - the interface type to adapt to
Parameters:
itf - the interface class
Returns:
the adapted document

getAdapter

<T> T getAdapter(Class<T> itf,
                 boolean refreshCache)
Adapts the document to the given interface.

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

getCurrentLifeCycleState

String getCurrentLifeCycleState()
                                throws ClientException
Returns the life cycle of the document.

Returns:
the life cycle as a string
Throws:
ClientException
See Also:
org.nuxeo.ecm.core.lifecycle

getLifeCyclePolicy

String getLifeCyclePolicy()
                          throws ClientException
Returns the life cycle policy of the document.

Returns:
the life cycle policy
Throws:
ClientException
See Also:
org.nuxeo.ecm.core.lifecycle

followTransition

boolean followTransition(String transition)
                         throws ClientException
Follows a given life cycle transition.

This will update the current life cycle of the document.

Parameters:
transition - the name of the transition to follow
Returns:
a boolean representing the status if the operation
Throws:
ClientException

getAllowedStateTransitions

Collection<String> getAllowedStateTransitions()
                                              throws ClientException
Gets the allowed state transitions for this document.

Returns:
a collection of state transitions as string
Throws:
ClientException

getContextData

ScopedMap getContextData()
Gets the context data associated to this document.

Returns:
serializable map of context data.

getContextData

Serializable getContextData(ScopeType scope,
                            String key)
Gets the context data associated to this document for given scope and given key.


putContextData

void putContextData(ScopeType scope,
                    String key,
                    Serializable value)
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).


getContextData

Serializable getContextData(String key)
Gets the context data using the default scope.

Parameters:
key - the context data key
Returns:
the value

putContextData

void putContextData(String key,
                    Serializable value)
Sets a context data in the default scope.

Parameters:
key - the context data key
value - the value

copyContextData

void copyContextData(DocumentModel otherDocument)
Copies the context data from given document to this document.


copyContent

void copyContent(DocumentModel sourceDoc)
                 throws ClientException
Copies all the data from a source document.

Throws:
ClientException

getRepositoryName

String getRepositoryName()
Returns the name of the repository in which the document is stored.

Returns:
the repository name as a string.

getCacheKey

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

Returns:
the cache key as a string
Throws:
ClientException

getSourceId

String getSourceId()
Returns the source document identifier.

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

Returns:
the source id as a string.

isPrefetched

boolean isPrefetched(String xpath)
Checks if a property is prefetched.

Parameters:
xpath - the property xpath
Returns:
true if it is prefetched
Since:
5.4.3

isPrefetched

boolean isPrefetched(String schemaName,
                     String name)
Checks if a property is prefetched.

Parameters:
schemaName - the schema name
name - the property name
Returns:
true if it is prefetched
Since:
5.4.3

prefetchCurrentLifecycleState

void prefetchCurrentLifecycleState(String lifecycle)
Used to set lifecycle state along with prefetching other properties.


prefetchLifeCyclePolicy

void prefetchLifeCyclePolicy(String lifeCyclePolicy)
Used to set lifecycle policy along with prefetching other properties.


isLifeCycleLoaded

boolean isLifeCycleLoaded()

getSystemProp

<T extends Serializable> T getSystemProp(String systemProperty,
                                         Class<T> type)
                                     throws ClientException,
                                            DocumentException
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.

Throws:
ClientException
DocumentException

getPart

DocumentPart getPart(String schema)
                     throws ClientException
Get a document part given its schema name

Parameters:
schema - the schema
Returns:
the document aprt or null if none exists for that schema
Throws:
ClientException

getParts

DocumentPart[] getParts()
                        throws ClientException
Gets this document's parts.

Throws:
ClientException

getProperty

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

Throws:
PropertyException
ClientException

getPropertyValue

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

Throws:
PropertyException
ClientException

setPropertyValue

void setPropertyValue(String xpath,
                      Serializable value)
                      throws PropertyException,
                             ClientException
Sets a property value given a xpath.

Throws:
PropertyException
ClientException

getFlags

@Deprecated
long getFlags()
Deprecated. unused

Returns the flags set on the document model.


reset

void reset()
Clears any prefetched or cached document data.

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


refresh

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

Parameters:
refreshFlags - the refresh flags
schemas - the document parts (schemas) that should be refreshed now
Throws:
ClientException

refresh

void refresh()
             throws ClientException
Same as DocumentModel.refresh(REFRESH_DEFAULT).

Throws:
ClientException

clone

DocumentModel clone()
                    throws CloneNotSupportedException
Clone operation. Must be made public instead of just protected as in Object.

Throws:
CloneNotSupportedException

getChangeToken

String getChangeToken()
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

Returns:
the ChangeToken string that can be null for some Document types
Since:
5.4.3

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.