public class SQLDocumentProxy extends Object implements SQLDocument
Document.BlobAccessor, Document.WriteContext
BINARY_TEXT_SYS_PROP, FULLTEXT_JOBID_SYS_PROP, SIMPLE_TEXT_SYS_PROP
Modifier | Constructor and Description |
---|---|
protected |
SQLDocumentProxy(Document proxy,
Document target) |
Modifier and Type | Method and Description |
---|---|
Document |
addChild(String name,
String typeName)
Creates a new child document of the given type.
|
boolean |
addFacet(String facet)
Adds a facet to this document.
|
Document |
checkIn(String label,
String checkinComment)
Creates a new version.
|
void |
checkOut() |
boolean |
equals(Object other) |
void |
followTransition(String transition)
Follows a given life cycle transition.
|
Set<String> |
getAllFacets()
Gets the facets available on this document (from the type and the instance facets).
|
Collection<String> |
getAllowedStateTransitions()
Returns the allowed state transitions for this document.
|
Document |
getBaseVersion()
Gets the version to which a checked in document is linked.
|
String |
getCheckinComment()
Gets the version check in comment of this document if it's a version or a proxy.
|
Document |
getChild(String name)
Gets a child document given its name.
|
List<Document> |
getChildren()
Gets the children of the document.
|
List<String> |
getChildrenIds()
Gets a list of the children ids.
|
String[] |
getFacets()
Gets the facets defined on this document instance.
|
Document |
getLastVersion()
Gets the last version of this document.
|
String |
getLifeCyclePolicy()
Gets the life cycle policy of this document.
|
String |
getLifeCycleState()
Gets the life cycle state of this document.
|
Lock |
getLock()
Gets the lock if one set on this document.
|
String |
getName()
Gets the name of this document.
|
Node |
getNode()
Returns the node with info about the hierarchy location.
|
Document |
getParent()
Gets the parent document, or
null if this is the root document. |
String |
getPath()
Gets the path of this document.
|
Long |
getPos()
Gets the document's position in its containing folder (if ordered).
|
Serializable |
getPropertyValue(String name)
Gets a simple property value.
|
String |
getRepositoryName()
Gets the repository in which the document lives.
|
protected String |
getSchema(String xpath) |
Session |
getSession()
Gets the session that owns this document.
|
Document |
getSourceDocument()
Gets the source for this document.
|
<T extends Serializable> |
getSystemProp(String name,
Class<T> type)
Gets a system property.
|
Document |
getTargetDocument()
Gets the document (version or live document) to which this proxy points.
|
DocumentType |
getType()
Gets the type of this document.
|
String |
getUUID()
Gets this document's UUID.
|
Object |
getValue(String xpath)
Gets a property value.
|
Document |
getVersion(String label)
Gets a version of this document, given its label.
|
Calendar |
getVersionCreationDate()
Gets the version creation date of this document if it's a version or a proxy.
|
String |
getVersionLabel()
Gets the version label.
|
List<Document> |
getVersions()
Gets the versions for this document.
|
String |
getVersionSeriesId()
Gets the version series id.
|
List<String> |
getVersionsIds()
Gets the list of version ids for this document.
|
Document |
getWorkingCopy()
Gets the working copy for this document.
|
Document.WriteContext |
getWriteContext()
Gets a write context for the current document.
|
boolean |
hasChild(String name)
Checks whether this document has a child of the given name.
|
boolean |
hasChildren()
Tests if the document has any children.
|
boolean |
hasFacet(String facet)
Checks whether this document has a given facet, either from its type or added on the instance.
|
int |
hashCode() |
boolean |
isCheckedOut()
Checks whether this document is checked out.
|
boolean |
isFolder()
Checks whether this document is a folder.
|
boolean |
isLatestMajorVersion()
Checks whether this document is the latest major version.
|
boolean |
isLatestVersion()
Checks whether this document is the latest version.
|
boolean |
isMajorVersion()
Checks whether this document is a major version.
|
protected boolean |
isPropertyForProxy(String xpath)
Checks if the given property should be resolved on the proxy or the target.
|
boolean |
isProxy()
Checks whether or not this document is a proxy.
|
boolean |
isReadOnly()
Checks whether this document is readonly or not.
|
protected boolean |
isSchemaForProxy(String schema)
Checks if the given schema should be resolved on the proxy or the target.
|
boolean |
isVersion()
Checks whether this document is a version document.
|
boolean |
isVersionSeriesCheckedOut()
Checks if there is a checked out working copy for the version series of this document.
|
void |
orderBefore(String src,
String dest)
Orders the given source child before the destination child.
|
void |
readDocumentPart(DocumentPart dp)
Loads a
DocumentPart from storage. |
Map<String,Serializable> |
readPrefetch(ComplexType complexType,
Set<String> xpaths)
Reads a set of prefetched fields.
|
void |
remove()
Removes this document and all its children, if any.
|
boolean |
removeFacet(String facet)
Removes a facet from this document.
|
Lock |
removeLock(String owner)
Removes a lock from this document.
|
void |
restore(Document version)
Replaces this document's content with the version specified.
|
void |
setCurrentLifeCycleState(String state)
Sets the life cycle state of this document.
|
void |
setLifeCyclePolicy(String policy)
Sets the life cycle policy of this document.
|
Lock |
setLock(Lock lock)
Sets a lock on this document.
|
void |
setPropertyValue(String name,
Serializable value)
Sets a simple property value.
|
void |
setReadOnly(boolean readonly)
Sets this document as readonly or not.
|
void |
setSystemProp(String name,
Serializable value)
Sets a system property.
|
void |
setTargetDocument(Document target)
Sets the document (version or live document) to which this proxy points.
|
void |
setValue(String xpath,
Object value)
Sets a property value.
|
String |
toString() |
void |
visitBlobs(Consumer<Document.BlobAccessor> blobVisitor)
Visits all the blobs of this document and calls the passed blob visitor on each one.
|
boolean |
writeDocumentPart(DocumentPart dp,
Document.WriteContext writeContext)
Writes a
DocumentPart to storage. |
protected SQLDocumentProxy(Document proxy, Document target)
protected boolean isSchemaForProxy(String schema)
protected boolean isPropertyForProxy(String xpath)
public Node getNode()
SQLDocument
getNode
in interface SQLDocument
public boolean isProxy()
Document
public String getUUID()
Document
public String getName()
Document
public Long getPos()
Document
public Document getParent()
Document
null
if this is the root document.public String getPath()
Document
public void remove()
Document
public DocumentType getType()
Document
public String getRepositoryName()
Document
getRepositoryName
in interface Document
public Session getSession()
Document
getSession
in interface Document
public boolean isFolder()
Document
public void setReadOnly(boolean readonly)
Document
setReadOnly
in interface Document
public boolean isReadOnly()
Document
isReadOnly
in interface Document
public void readDocumentPart(DocumentPart dp) throws PropertyException
Document
DocumentPart
from storage.
Reading data is done by DocumentPart
because of per-proxy schemas.
readDocumentPart
in interface Document
PropertyException
public Map<String,Serializable> readPrefetch(ComplexType complexType, Set<String> xpaths) throws PropertyException
Document
Reading data is done by ComplexType
because of per-proxy schemas.
readPrefetch
in interface Document
PropertyException
public Document.WriteContext getWriteContext()
Document
getWriteContext
in interface Document
public boolean writeDocumentPart(DocumentPart dp, Document.WriteContext writeContext) throws PropertyException
Document
DocumentPart
to storage.
Writing data is done by DocumentPart
because of per-proxy schemas.
writeDocumentPart
in interface Document
true
if something changedPropertyException
public void setSystemProp(String name, Serializable value)
Document
setSystemProp
in interface Document
public <T extends Serializable> T getSystemProp(String name, Class<T> type)
Document
getSystemProp
in interface Document
public Set<String> getAllFacets()
Document
getAllFacets
in interface Document
public String[] getFacets()
Document
public boolean hasFacet(String facet)
Document
public boolean addFacet(String facet)
Document
Does nothing if the facet was already present on the document.
public boolean removeFacet(String facet)
Document
It's not possible to remove a facet coming from the document type.
removeFacet
in interface Document
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 exitpublic String getLifeCyclePolicy()
Document
getLifeCyclePolicy
in interface Document
public void setLifeCyclePolicy(String policy)
Document
setLifeCyclePolicy
in interface Document
policy
- the life cycle policypublic String getLifeCycleState()
Document
getLifeCycleState
in interface Document
public void setCurrentLifeCycleState(String state)
Document
setCurrentLifeCycleState
in interface Document
state
- the life cycle statepublic void followTransition(String transition) throws LifeCycleException
Document
This will update the life cycle state of the document.
followTransition
in interface Document
transition
- the name of the transition to followLifeCycleException
public Collection<String> getAllowedStateTransitions()
Document
getAllowedStateTransitions
in interface Document
public Lock getLock()
Document
public Lock setLock(Lock lock)
Document
public Lock removeLock(String owner)
Document
removeLock
in interface Document
null
if there was no lock or if removal succeeded, or a lock if it blocks removal due to owner
mismatchpublic boolean isVersion()
Document
public Document getBaseVersion()
Document
Returns null
for a checked out document or a version or a proxy.
getBaseVersion
in interface Document
null
public String getVersionSeriesId()
Document
getVersionSeriesId
in interface Document
public Document getSourceDocument()
Document
For a version, it's the working copy.
For a proxy, it's the version the proxy points to.
getSourceDocument
in interface Document
public Document checkIn(String label, String checkinComment)
Document
public boolean isCheckedOut()
Document
isCheckedOut
in interface Document
true
if the document is checked out, or false
otherwisepublic boolean isLatestVersion()
Document
isLatestVersion
in interface Document
true
if this is the latest version, or false
otherwisepublic boolean isMajorVersion()
Document
isMajorVersion
in interface Document
true
if this is a major version, or false
otherwisepublic boolean isLatestMajorVersion()
Document
isLatestMajorVersion
in interface Document
true
if this is the latest major version, or false
otherwisepublic boolean isVersionSeriesCheckedOut()
Document
isVersionSeriesCheckedOut
in interface Document
true
if there is a checked out working copypublic String getVersionLabel()
Document
getVersionLabel
in interface Document
public String getCheckinComment()
Document
getCheckinComment
in interface Document
null
if it's not a version or a proxypublic Document getWorkingCopy()
Document
getWorkingCopy
in interface Document
public Calendar getVersionCreationDate()
Document
getVersionCreationDate
in interface Document
null
if it's not a version or a proxypublic void restore(Document version)
Document
public List<String> getVersionsIds()
Document
getVersionsIds
in interface Document
public Document getVersion(String label)
Document
getVersion
in interface Document
label
- the version labelpublic List<Document> getVersions()
Document
getVersions
in interface Document
public Document getLastVersion()
Document
Returns null
if there is no version at all.
getLastVersion
in interface Document
null
if there is no versionpublic Document getChild(String name)
Document
Throws DocumentNotFoundException
if the document could not be found.
public List<Document> getChildren()
Document
Returns an empty list for non-folder documents.
getChildren
in interface Document
public List<String> getChildrenIds()
Document
Returns an empty list for non-folder documents.
getChildrenIds
in interface Document
public boolean hasChild(String name)
Document
Returns false
for non-folder documents.
public boolean hasChildren()
Document
Returns false
for non-folder documents.
hasChildren
in interface Document
true
if the document has children, false
otherwisepublic Document addChild(String name, String typeName)
Document
Throws an error if this document is not a folder.
public void orderBefore(String src, String dest)
Document
Both source and destination must be names that point to child documents of this document. The source document
will be placed before the destination one. If destination is null
, the source document will be appended
at the end of the children list.
orderBefore
in interface Document
src
- the document to movedest
- the document before which to place the source documentpublic Document getTargetDocument()
Document
getTargetDocument
in interface Document
public void setTargetDocument(Document target)
Document
setTargetDocument
in interface Document
public Serializable getPropertyValue(String name)
Document
For more generic properties described by an xpath, use Document.getValue(java.lang.String)
instead.
getPropertyValue
in interface Document
name
- the name of the property to getnull
if the property is not setDocument.getValue(java.lang.String)
public void setPropertyValue(String name, Serializable value)
Document
For more generic properties described by an xpath, use Document.setValue(java.lang.String, java.lang.Object)
instead.
setPropertyValue
in interface Document
name
- the name of the property to setvalue
- the value to setDocument.setValue(java.lang.String, java.lang.Object)
public Object getValue(String xpath) throws PropertyException
Document
The xpath may point to a partial path, in which case the value may be a complex List
or Map
.
getValue
in interface Document
xpath
- the xpath of the property to setnull
if the property is not setPropertyException
- if the property does not existpublic void setValue(String xpath, Object value) throws PropertyException
Document
The xpath may point to a partial path, in which case the value may be a complex List
or Map
.
setValue
in interface Document
xpath
- the xpath of the property to setvalue
- the value to setPropertyException
- if the property does not exist or the value is of the wrong typepublic void visitBlobs(Consumer<Document.BlobAccessor> blobVisitor) throws PropertyException
Document
visitBlobs
in interface Document
PropertyException
Copyright © 2015 Nuxeo SA. All rights reserved.