public class DocumentModelImpl extends Object implements DocumentModel, Cloneable
DocumentModel
.Modifier and Type | Class and Description |
---|---|
protected class |
DocumentModelImpl.RunWithCoreSession<T> |
DocumentModel.DocumentModelRefresh
Modifier and Type | Field and Description |
---|---|
protected ACP |
acp |
protected ArrayMap<Class<?>,Object> |
adapters |
protected String |
checkinComment |
protected String |
currentLifeCycleState |
protected DataModelMap |
dataModels |
static long |
F_IMMUTABLE |
static long |
F_PROXY |
static long |
F_VERSION |
protected Set<String> |
facets
Facets including those on instance.
|
protected String |
id |
Set<String> |
instanceFacets
Instance facets.
|
Set<String> |
instanceFacetsOrig
Instance facets when the document was read.
|
protected boolean |
isACPLoaded |
protected boolean |
isCheckedOut |
protected boolean |
isLatestMajorVersion |
protected boolean |
isLatestVersion |
protected boolean |
isMajorVersion |
protected boolean |
isStateLoaded
state is lifecycle, version stuff.
|
protected boolean |
isVersionSeriesCheckedOut |
protected String |
lifeCyclePolicy |
protected Lock |
lock |
protected static Lock |
LOCK_UNKNOWN |
protected DocumentRef |
parentRef |
protected Path |
path |
protected Long |
pos |
Prefetch |
prefetch |
protected DocumentRef |
ref |
protected String |
repositoryName |
protected Set<String> |
schemas
Schemas including those from instance facets.
|
protected Set<String> |
schemasOrig
Schemas including those from instance facets when the doc was read
|
protected String |
sid |
protected String |
sourceId |
static String |
STRICT_LAZY_LOADING_POLICY_KEY |
protected static Boolean |
strictSessionManagement |
protected DocumentType |
type |
protected String |
typeName |
protected String |
versionSeriesId |
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
Modifier | Constructor and Description |
---|---|
protected |
DocumentModelImpl() |
|
DocumentModelImpl(DocumentModel parent,
String name,
String type) |
|
DocumentModelImpl(String typeName)
Constructor to use a document model client side without referencing a document.
|
|
DocumentModelImpl(String parentPath,
String name,
String type)
Constructor to be used by clients.
|
|
DocumentModelImpl(String sid,
String type,
String id,
Path path,
DocumentRef docRef,
DocumentRef parentRef,
String[] schemas,
Set<String> facets,
String sourceId,
String repositoryName,
boolean isProxy) |
|
DocumentModelImpl(String sid,
String type,
String id,
Path path,
Lock lock,
DocumentRef docRef,
DocumentRef parentRef,
String[] schemas,
Set<String> facets,
String sourceId,
String repositoryName)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
accept(PropertyVisitor visitor,
Object arg)
Method that implement the visitor pattern.
|
void |
addDataModel(DataModel dataModel) |
boolean |
addFacet(String facet)
Adds a facet to the document instance.
|
void |
attach(String sid)
Reattaches a document impl to an existing session.
|
DocumentRef |
checkIn(VersioningOption option,
String description)
Checks in a document and returns the created version.
|
void |
checkOut()
Checks out a document.
|
protected void |
clearPrefetchXPath(String xpath) |
DocumentModel |
clone()
Clone operation.
|
DataModel |
cloneDataModel(DataModel data) |
static DataModel |
cloneDataModel(Schema schema,
DataModel data) |
static Object |
cloneField(Field field,
String key,
Object value) |
protected void |
computeFacetsAndSchemas(Set<String> instanceFacets)
Recomputes all facets and schemas from the instance facets.
|
static Set<String> |
computeSchemas(DocumentType type,
Collection<String> instanceFacets,
boolean isProxy)
Recomputes effective schemas from a type + instance facets.
|
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.
|
void |
detach(boolean loadAll)
Detaches the documentImpl from its existing session, so that it can survive beyond the session's closing.
|
boolean |
equals(Object obj) |
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.
|
Map<String,String> |
getBinaryFulltext()
Gets the fulltext extracted from the binary fields.
|
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.
|
String[] |
getDeclaredSchemas()
Deprecated.
|
DocumentType |
getDocumentType()
Gets the document type object.
|
Set<String> |
getFacets()
Gets the facets available on this document (from the type and the instance facets).
|
String |
getId()
Gets the document UUID.
|
String |
getLifeCyclePolicy()
Returns the life cycle policy of the document.
|
String |
getLock()
Deprecated.
|
Lock |
getLockInfo()
Gets the lock info on the document.
|
String |
getName()
Gets the document name.
|
PropertyObjectResolver |
getObjectResolver(String xpath) |
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.
|
Long |
getPos()
Gets the document's position in its containing folder (if ordered).
|
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> |
getSystemProp(String systemProperty,
Class<T> type)
Gets system property of the specified type.
|
protected CoreSession |
getTempCoreSession() |
String |
getTitle()
Gets the title from the dublincore schema.
|
String |
getType()
Gets the document type name.
|
String |
getVersionLabel()
Returns the version label.
|
String |
getVersionSeriesId()
Gets the version series id for this document.
|
static String |
getXPathSchemaName(String xpath,
Set<String> docSchemas,
String[] returnName) |
boolean |
hasFacet(String facet)
Checks if the document has a facet, either from its type or added on the instance.
|
int |
hashCode() |
boolean |
hasSchema(String schema)
Checks if the document has the given schema, either from its type or added on the instance through a facet.
|
protected static Set<String> |
inferFacets(Set<String> facets,
DocumentType documentType) |
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 |
isSchemaLoaded(String name) |
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.
|
protected DataModel |
loadDataModel(String schema)
Lazily loads the given data model.
|
protected String |
oldLockKey(Lock lock) |
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.
|
void |
setId(String id)
Sets the document id.
|
void |
setIsImmutable(boolean isImmutable) |
void |
setIsProxy(boolean isProxy) |
void |
setIsVersion(boolean isVersion) |
Lock |
setLock()
Sets a lock on the document.
|
void |
setLock(String key)
Deprecated.
|
void |
setPathInfo(String parentPath,
String name)
Sets path info.
|
void |
setPosInternal(Long pos)
Sets the document's position in its containing folder (if ordered).
|
void |
setPrefetch(Prefetch prefetch)
Sets prefetch information.
|
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.
|
String |
toString() |
void |
unlock()
Unlocks the given document.
|
protected boolean |
useStrictSessionManagement() |
public static final String STRICT_LAZY_LOADING_POLICY_KEY
public static final long F_VERSION
public static final long F_PROXY
public static final long F_IMMUTABLE
protected DocumentRef ref
protected DocumentType type
protected Set<String> schemasOrig
public Set<String> instanceFacets
public Set<String> instanceFacetsOrig
protected DataModelMap dataModels
protected DocumentRef parentRef
protected static final Lock LOCK_UNKNOWN
protected boolean isStateLoaded
protected String currentLifeCycleState
protected String lifeCyclePolicy
protected boolean isCheckedOut
protected String versionSeriesId
protected boolean isLatestVersion
protected boolean isMajorVersion
protected boolean isLatestMajorVersion
protected boolean isVersionSeriesCheckedOut
protected String checkinComment
protected transient boolean isACPLoaded
protected String repositoryName
protected static Boolean strictSessionManagement
protected DocumentModelImpl()
public DocumentModelImpl(String typeName)
It must at least contain the type.
public DocumentModelImpl(String parentPath, String name, String type)
A client constructed data model must contain at least the path and the type.
public DocumentModelImpl(String sid, String type, String id, Path path, Lock lock, DocumentRef docRef, DocumentRef parentRef, String[] schemas, Set<String> facets, String sourceId, String repositoryName)
The lock parameter is unused since 5.4.2.
facets
- the per-instance facetspublic DocumentModelImpl(String sid, String type, String id, Path path, DocumentRef docRef, DocumentRef parentRef, String[] schemas, Set<String> facets, String sourceId, String repositoryName, boolean isProxy)
public DocumentModelImpl(DocumentModel parent, String name, String type)
public static Set<String> computeSchemas(DocumentType type, Collection<String> instanceFacets, boolean isProxy)
public DocumentType getDocumentType()
DocumentModel
getDocumentType
in interface DocumentModel
public String getTitle()
getTitle
in interface DocumentModel
DocumentModel.getTitle()
public String getSessionId()
DocumentModel
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.
getSessionId
in interface DocumentModel
public DocumentRef getRef()
DocumentModel
getRef
in interface DocumentModel
public DocumentRef getParentRef()
DocumentModel
getParentRef
in interface DocumentModel
public CoreSession getCoreSession()
DocumentModel
This may be null if the document has been detached from a session.
getCoreSession
in interface DocumentModel
protected boolean useStrictSessionManagement()
protected CoreSession getTempCoreSession()
public void detach(boolean loadAll)
DocumentModel
detach
in interface DocumentModel
loadAll
- if true
, load all data and ACP from the session before detachingpublic void attach(String sid)
DocumentModel
attach
in interface DocumentModel
sid
- the session idprotected DataModel loadDataModel(String schema)
public DataModel getDataModel(String schema)
DocumentModel
Null is returned if the document type has no such schema.
getDataModel
in interface DocumentModel
schema
- the schema namepublic Collection<DataModel> getDataModelsCollection()
DocumentModel
getDataModelsCollection
in interface DocumentModel
public void addDataModel(DataModel dataModel)
public String[] getSchemas()
DocumentModel
getSchemas
in interface DocumentModel
@Deprecated public String[] getDeclaredSchemas()
DocumentModel
getDeclaredSchemas
in interface DocumentModel
public boolean hasSchema(String schema)
DocumentModel
hasSchema
in interface DocumentModel
schema
- the schema nametrue
if the document has the schemapublic Set<String> getFacets()
DocumentModel
getFacets
in interface DocumentModel
public boolean hasFacet(String facet)
DocumentModel
hasFacet
in interface DocumentModel
facet
- the facet nametrue
if the document has the facet@Deprecated public Set<String> getDeclaredFacets()
DocumentModel
getDeclaredFacets
in interface DocumentModel
public boolean addFacet(String facet)
DocumentModel
Does nothing if the facet was already present on the document.
addFacet
in interface DocumentModel
facet
- the facet nametrue
if the facet was added, or false
if it is already presentpublic boolean removeFacet(String facet)
DocumentModel
It's not possible to remove a facet coming from the document type.
removeFacet
in interface DocumentModel
facet
- the facet nametrue
if the facet was removed, or false
if it isn't present or is present on the type or
does not exitprotected static Set<String> inferFacets(Set<String> facets, DocumentType documentType)
public String getId()
DocumentModel
getId
in interface DocumentModel
public String getName()
DocumentModel
getName
in interface DocumentModel
public Long getPos()
DocumentModel
getPos
in interface DocumentModel
null
if the containing folder is not orderedpublic void setPosInternal(Long pos)
pos
- the positionpublic String getPathAsString()
DocumentModel
getPathAsString
in interface DocumentModel
public Map<String,Object> getProperties(String schemaName)
DocumentModel
The operation will fetch the data model from the server if not already fetched.
getProperties
in interface DocumentModel
schemaName
- the data model schema namepublic Object getProperty(String schemaName, String name)
DocumentModel
The data model owning the property will be fetched from the server if not already fetched.
getProperty
in interface DocumentModel
schemaName
- the schema namename
- the property namepublic void setPathInfo(String parentPath, String name)
DocumentModel
path and ref attributes will be set according to info
setPathInfo
in interface DocumentModel
protected String oldLockKey(Lock lock)
@Deprecated public String getLock()
DocumentModel
Lock info is cached on the document for performance. Use CoreSession.getLockInfo(org.nuxeo.ecm.core.api.DocumentRef)
to get the non-cached
status.
getLock
in interface DocumentModel
public boolean isLocked()
DocumentModel
Lock info is cached on the document for performance. Use CoreSession.getLockInfo(org.nuxeo.ecm.core.api.DocumentRef)
to get the non-cached
status.
isLocked
in interface DocumentModel
@Deprecated public void setLock(String key)
DocumentModel
This is a wrapper for CoreSession.setLock(DocumentRef, String)
.
setLock
in interface DocumentModel
key
- the key to use when lockingpublic void unlock()
DocumentModel
unlock
in interface DocumentModel
public Lock setLock()
DocumentModel
setLock
in interface DocumentModel
public Lock getLockInfo()
DocumentModel
Lock info is cached on the document for performance. Use CoreSession.getLockInfo(org.nuxeo.ecm.core.api.DocumentRef)
to get the non-cached
status.
getLockInfo
in interface DocumentModel
null
otherwisepublic Lock removeLock()
DocumentModel
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.
removeLock
in interface DocumentModel
null
if there was no lockpublic boolean isCheckedOut()
DocumentModel
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).
isCheckedOut
in interface DocumentModel
true
if the document is checked out, false
if it is checked inpublic void checkOut()
DocumentModel
A checked out document can be modified normally.
Only applicable to documents that are live (not versions and not proxies).
checkOut
in interface DocumentModel
public DocumentRef checkIn(VersioningOption option, String description)
DocumentModel
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).
checkIn
in interface DocumentModel
option
- whether to do create a new VersioningOption.MINOR
or VersioningOption.MAJOR
version
during check indescription
- the checkin commentpublic String getVersionLabel()
DocumentModel
The label returned is computed by the VersioningService.
getVersionLabel
in interface DocumentModel
null
public String getVersionSeriesId()
DocumentModel
All documents and versions derived by a check in or checkout from the same original document share the same version series id.
getVersionSeriesId
in interface DocumentModel
public boolean isLatestVersion()
DocumentModel
isLatestVersion
in interface DocumentModel
public boolean isMajorVersion()
DocumentModel
isMajorVersion
in interface DocumentModel
public boolean isLatestMajorVersion()
DocumentModel
isLatestMajorVersion
in interface DocumentModel
public boolean isVersionSeriesCheckedOut()
DocumentModel
isVersionSeriesCheckedOut
in interface DocumentModel
public String getCheckinComment()
DocumentModel
getCheckinComment
in interface DocumentModel
null
public ACP getACP()
DocumentModel
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.
getACP
in interface DocumentModel
public void setACP(ACP acp, boolean overwrite)
DocumentModel
This is a wrapper for CoreSession.setACP(DocumentRef, ACP, boolean)
setACP
in interface DocumentModel
acp
- the ACP to setoverwrite
- whether to overwrite the old ACP or notCoreSession#setACP(DocumentRef, ACP, boolean)}
public String getType()
DocumentModel
getType
in interface DocumentModel
public void setProperties(String schemaName, Map<String,Object> data)
DocumentModel
This will not fetch the data model if not already fetched.
setProperties
in interface DocumentModel
schemaName
- the schema namedata
- the values to setpublic void setProperty(String schemaName, String name, Object value)
DocumentModel
This operation will not fetch the data model if not already fetched
setProperty
in interface DocumentModel
schemaName
- the schema namename
- the property namevalue
- the property valuepublic Path getPath()
DocumentModel
getPath
in interface DocumentModel
public DataModelMap getDataModels()
DocumentModel
getDataModels
in interface DocumentModel
public boolean isFolder()
DocumentModel
isFolder
in interface DocumentModel
public boolean isVersionable()
DocumentModel
isVersionable
in interface DocumentModel
public boolean isDownloadable()
DocumentModel
isDownloadable
in interface DocumentModel
public void accept(PropertyVisitor visitor, Object arg)
DocumentModel
The visitor must return null to stop visiting children otherwise a context object that will be passed as the arg argument to children
accept
in interface DocumentModel
visitor
- the visitor to acceptarg
- an argument passed to the visitor. This should be used by the visitor to carry on the visiting
context.public <T> T getAdapter(Class<T> itf)
DocumentModel
Attention, the first computation will cache the adaptation result for later calls.
getAdapter
in interface DocumentModel
T
- the interface type to adapt toitf
- the interface classpublic <T> T getAdapter(Class<T> itf, boolean refreshCache)
DocumentModel
getAdapter
in interface DocumentModel
T
- the interface type to adapt toitf
- the interface classrefreshCache
- : readapt and stores in cache if already exists.public boolean followTransition(String transition)
DocumentModel
This will update the current life cycle of the document.
followTransition
in interface DocumentModel
transition
- the name of the transition to followpublic Collection<String> getAllowedStateTransitions()
DocumentModel
getAllowedStateTransitions
in interface DocumentModel
public String getCurrentLifeCycleState()
DocumentModel
getCurrentLifeCycleState
in interface DocumentModel
org.nuxeo.ecm.core.lifecycle
public String getLifeCyclePolicy()
DocumentModel
getLifeCyclePolicy
in interface DocumentModel
org.nuxeo.ecm.core.lifecycle
public boolean isVersion()
DocumentModel
isVersion
in interface DocumentModel
public boolean isProxy()
DocumentModel
isProxy
in interface DocumentModel
public boolean isImmutable()
DocumentModel
isImmutable
in interface DocumentModel
true
if the document is a version or a proxy to a version, false
otherwisepublic void setIsVersion(boolean isVersion)
public void setIsProxy(boolean isProxy)
public void setIsImmutable(boolean isImmutable)
public boolean isDirty()
DocumentModel
isDirty
in interface DocumentModel
public ScopedMap getContextData()
DocumentModel
getContextData
in interface DocumentModel
public Serializable getContextData(ScopeType scope, String key)
DocumentModel
getContextData
in interface DocumentModel
public void putContextData(ScopeType scope, String key, Serializable value)
DocumentModel
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).
putContextData
in interface DocumentModel
public Serializable getContextData(String key)
DocumentModel
getContextData
in interface DocumentModel
key
- the context data keypublic void putContextData(String key, Serializable value)
DocumentModel
putContextData
in interface DocumentModel
key
- the context data keyvalue
- the valuepublic void copyContextData(DocumentModel otherDocument)
DocumentModel
copyContextData
in interface DocumentModel
public void copyContent(DocumentModel sourceDoc)
DocumentModel
copyContent
in interface DocumentModel
public static Object cloneField(Field field, String key, Object value)
public static DataModel cloneDataModel(Schema schema, DataModel data)
public DataModel cloneDataModel(DataModel data)
public String getCacheKey()
DocumentModel
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.
getCacheKey
in interface DocumentModel
public String getRepositoryName()
DocumentModel
getRepositoryName
in interface DocumentModel
public String getSourceId()
DocumentModel
This is useful when not interested about the repository UUID itself. Technically, this is the current version UUID.
getSourceId
in interface DocumentModel
public boolean isSchemaLoaded(String name)
public boolean isPrefetched(String xpath)
DocumentModel
isPrefetched
in interface DocumentModel
xpath
- the property xpathtrue
if it is prefetchedpublic boolean isPrefetched(String schemaName, String name)
DocumentModel
isPrefetched
in interface DocumentModel
schemaName
- the schema namename
- the property nametrue
if it is prefetchedpublic void setPrefetch(Prefetch prefetch)
INTERNAL: This method is not in the public interface.
public void prefetchCurrentLifecycleState(String lifecycle)
DocumentModel
prefetchCurrentLifecycleState
in interface DocumentModel
public void prefetchLifeCyclePolicy(String lifeCyclePolicy)
DocumentModel
prefetchLifeCyclePolicy
in interface DocumentModel
public <T extends Serializable> T getSystemProp(String systemProperty, Class<T> type)
DocumentModel
getSystemProp
in interface DocumentModel
public boolean isLifeCycleLoaded()
isLifeCycleLoaded
in interface DocumentModel
public DocumentPart getPart(String schema)
DocumentModel
getPart
in interface DocumentModel
schema
- the schemapublic DocumentPart[] getParts()
DocumentModel
getParts
in interface DocumentModel
public Property getProperty(String xpath)
DocumentModel
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:
foo/bar[i]/baz
as foo/i/baz
getProperty
in interface DocumentModel
public static String getXPathSchemaName(String xpath, Set<String> docSchemas, String[] returnName)
public Serializable getPropertyValue(String xpath) throws PropertyException
DocumentModel
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:
foo/bar[i]/baz
as foo/i/baz
getPropertyValue
in interface DocumentModel
PropertyException
public void setPropertyValue(String xpath, Serializable value) throws PropertyException
DocumentModel
setPropertyValue
in interface DocumentModel
PropertyException
protected void clearPrefetchXPath(String xpath)
public DocumentModel clone() throws CloneNotSupportedException
DocumentModel
clone
in interface DocumentModel
clone
in class Object
CloneNotSupportedException
public void reset()
DocumentModel
This will force the document to lazily update its data when required.
reset
in interface DocumentModel
public void refresh()
DocumentModel
DocumentModel.refresh(REFRESH_DEFAULT)
.refresh
in interface DocumentModel
public void refresh(int refreshFlags, String[] schemas)
DocumentModel
The data models will be removed and all prefetch and system data will be refreshed from the server
The refreshed data contains:
DocumentModel.REFRESH_STATE
DocumentModel.REFRESH_PREFETCH
DocumentModel.REFRESH_ACP_IF_LOADED
DocumentModel.REFRESH_ACP_LAZY
DocumentModel.REFRESH_ACP
DocumentModel.REFRESH_CONTENT_IF_LOADED
DocumentModel.REFRESH_CONTENT_LAZY
DocumentModel.REFRESH_CONTENT
DocumentModel.REFRESH_DEFAULT
same as REFRESH_STATE | REFRESH_DEFAULT | REFRESH_ACP_IF_LOADED |
REFRESH_CONTENT_IF_LOADED
DocumentModel.REFRESH_ALL
same as REFRESH_STATE | REFRESH_PREFTECH | REFRESH_ACP | REFRESH_CONTENT
refresh
in interface DocumentModel
refreshFlags
- the refresh flagsschemas
- the document parts (schemas) that should be refreshed nowprotected void computeFacetsAndSchemas(Set<String> instanceFacets)
public String getChangeToken()
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
getChangeToken
in interface DocumentModel
public void setId(String id)
id
- public Map<String,String> getBinaryFulltext()
DocumentModel
getBinaryFulltext
in interface DocumentModel
public PropertyObjectResolver getObjectResolver(String xpath)
getObjectResolver
in interface DocumentModel
xpath
- the property xpathPropertyObjectResolver
to manage the property reference to external entities, null if this
property's type has no resolver.Copyright © 2015 Nuxeo SA. All rights reserved.