public abstract class AbstractSession extends Object implements CoreSession, OperationHandler, Serializable
This handles all the aspects that are independent on the final implementation (like running inside a J2EE platform or not).
The only aspect not implemented is the session management that should be handled by subclasses.
Modifier and Type | Field and Description |
---|---|
static NuxeoPrincipal |
ANONYMOUS |
IMPORT_BASE_VERSION_ID, IMPORT_CHECKED_IN, IMPORT_IS_VERSION, IMPORT_LIFECYCLE_POLICY, IMPORT_LIFECYCLE_STATE, IMPORT_LOCK, IMPORT_LOCK_CREATED, IMPORT_LOCK_OWNER, IMPORT_PROXY_TARGET_ID, IMPORT_PROXY_TYPE, IMPORT_PROXY_VERSIONABLE_ID, IMPORT_VERSION_CREATED, IMPORT_VERSION_DESCRIPTION, IMPORT_VERSION_IS_LATEST, IMPORT_VERSION_IS_LATEST_MAJOR, IMPORT_VERSION_LABEL, IMPORT_VERSION_MAJOR, IMPORT_VERSION_MINOR, IMPORT_VERSION_VERSIONABLE_ID
Constructor and Description |
---|
AbstractSession() |
Modifier and Type | Method and Description |
---|---|
<T extends DetachedAdapter> |
adaptFirstMatchingDocumentWithFacet(DocumentRef docRef,
String facet,
Class<T> adapterClass)
Find the first parent with the given
facet and adapt it on the
adapterClass . |
void |
afterBegin()
The container calls this when this session sees a transaction begin.
|
void |
afterCompletion(boolean committed)
The container calls this when this session sees a transaction
commit/rollback.
|
void |
applyDefaultPermissions(String userOrGroupName)
Applies default Read permissions on root JCR Document for the given user
or group name.
|
void |
beforeCompletion()
The container calls this when this session is about to see a transaction
completion.
|
void |
cancel()
Cancels any pending change made through this session.
|
boolean |
canRemoveDocument(DocumentRef docRef)
Check if a document can be removed.
|
DocumentRef |
checkIn(DocumentRef docRef,
VersioningOption option,
String checkinComment)
Checks in a modified document, creating a new version.
|
DocumentModel |
checkIn(DocumentRef docRef,
VersionModel ver)
Deprecated.
|
void |
checkOut(DocumentRef docRef)
Checks out a versioned document.
|
String |
connect(String repositoryName,
Map<String,Serializable> context)
Connects to the repository given its URI.
|
DocumentModel |
copy(DocumentRef src,
DocumentRef dst,
String name)
Copies the source document to the destination folder under the given
name.
|
List<DocumentModel> |
copy(List<DocumentRef> src,
DocumentRef dst)
Bulk copy.
|
DocumentModel |
copyProxyAsDocument(DocumentRef src,
DocumentRef dst,
String name)
Work like copy but in the case of a source proxy the destination will be
a new document instead of a proxy.
|
List<DocumentModel> |
copyProxyAsDocument(List<DocumentRef> src,
DocumentRef dst)
Bulk copyProxyAsDocument.
|
DocumentModel |
createDocument(DocumentModel docModel)
Creates a document using given document model for initialization.
|
DocumentModel[] |
createDocument(DocumentModel[] docModels)
Bulk creation of documents.
|
DocumentModel |
createDocumentModel(String typeName)
Creates a document model using type name.
|
DocumentModel |
createDocumentModel(String typeName,
Map<String,Object> options)
Creates a document model using required information.
|
DocumentModel |
createDocumentModel(String parentPath,
String id,
String typeName)
Creates a document model using required information.
|
DocumentModel |
createProxy(DocumentRef docRef,
DocumentRef folderRef)
Creates a generic proxy to the given document inside the given folder.
|
DocumentModel |
createProxy(DocumentRef parentRef,
DocumentRef docRef,
VersionModel version,
boolean overwriteExistingProxy)
Deprecated.
|
void |
destroy()
Destroys any system resources held by this instance.
|
void |
disconnect()
Closes the current session and disconnects from the repository.
|
void |
endOperation(Operation<?> operation)
This method is for compatibility reasons to notify an operation end.
|
boolean |
exists(DocumentRef docRef)
Tests if the document pointed by the given reference exists and is
accessible.
|
void |
fireEvent(Event event) |
boolean |
followTransition(DocumentRef docRef,
String transition)
Follows a given life cycle transition.
|
String |
generateDocumentName(Document parent,
String name)
Generate a non-null unique name within given parent's children.
|
String |
generateVersionLabelFor(DocumentRef docRef)
Utility method to generate VersionModel labels.
|
ACP |
getACP(DocumentRef docRef)
Gets the document access control policy.
|
Collection<String> |
getAllowedStateTransitions(DocumentRef docRef)
Gets the allowed state transitions for this document.
|
List<String> |
getAvailableSecurityPermissions()
Retrieves the available security permissions existing in the system.
|
DocumentRef |
getBaseVersion(DocumentRef docRef)
Gets the version to which a checked in document is linked.
|
DocumentModel |
getChild(DocumentRef parent,
String name)
Gets a child document given its name and the parent reference.
|
DocumentModelList |
getChildren(DocumentRef parent)
Gets the children of the given parent.
|
DocumentModelList |
getChildren(DocumentRef parent,
String type)
Gets the children of the given parent filtered according to the given
document type.
|
DocumentModelList |
getChildren(DocumentRef parent,
String type,
Filter filter,
Sorter sorter)
Same as
CoreSession.getChildren(DocumentRef, String, String, Filter, Sorter)
without specific permission filtering. |
DocumentModelList |
getChildren(DocumentRef parent,
String type,
String perm)
Gets the children of the given parent filtered according to the given
document type and permission.
|
DocumentModelList |
getChildren(DocumentRef parent,
String type,
String perm,
Filter filter,
Sorter sorter)
Same as
CoreSession.getChildren(DocumentRef, String, String) but the result
is filtered and then sorted using the specified filter and sorter. |
DocumentModelIterator |
getChildrenIterator(DocumentRef parent)
Gets an iterator to the children of the given parent.
|
DocumentModelIterator |
getChildrenIterator(DocumentRef parent,
String type)
Gets an iterator to the children of the given parent filtered according
to the given document type.
|
DocumentModelIterator |
getChildrenIterator(DocumentRef parent,
String type,
String perm,
Filter filter)
Gets the children of the given parent filtered according to the given
document type and permission.
|
List<DocumentRef> |
getChildrenRefs(DocumentRef parentRef,
String perm)
Gets the references of the children.
|
SerializableInputStream |
getContentData(String key)
Gets the data input stream given its key.
|
String |
getCurrentLifeCycleState(DocumentRef docRef)
Returns the life cycle of the document.
|
DataModel |
getDataModel(DocumentRef docRef,
Schema schema)
Retrieves a data model given a document reference and a schema.
|
DataModel |
getDataModel(DocumentRef docRef,
String schema)
Deprecated.
|
Object |
getDataModelField(DocumentRef docRef,
String schema,
String field)
Deprecated.
|
Object[] |
getDataModelFields(DocumentRef docRef,
String schema,
String[] fields)
Deprecated.
|
Object[] |
getDataModelsField(DocumentRef[] docRefs,
String schema,
String field)
Retrieves the given field value from the given schema for all the given
documents.
|
Object[] |
getDataModelsFieldUp(DocumentRef docRef,
String schema,
String field)
Retrieves the given field value from the given schema for the given
document along with all its parent documents.
|
DocumentModelsChunk |
getDocsResultChunk(DocsQueryProviderDef def,
String type,
String perm,
Filter filter,
int start,
int max)
Method used internally to retrieve frames of a long result.
|
DocumentModel |
getDocument(DocumentRef docRef)
Gets a document model given its reference.
|
DocumentModel |
getDocument(DocumentRef docRef,
String[] schemas)
Deprecated.
unused
|
DocumentModelList |
getDocuments(DocumentRef[] docRefs)
Gets a list of documents given their references.
|
<T extends Serializable> |
getDocumentSystemProp(DocumentRef ref,
String systemProperty,
Class<T> type)
Gets system property of the specified type for the document ref.
|
DocumentType |
getDocumentType(String type)
Gets the document type object given its type name.
|
DocumentModel |
getDocumentWithVersion(DocumentRef docRef,
VersionModel version)
Returns a document that represents the specified version of the document.
|
EventService |
getEventService() |
DocumentModelList |
getFiles(DocumentRef parent)
Same as
CoreSession.getChildren(DocumentRef) but returns only
non-folder documents. |
DocumentModelList |
getFiles(DocumentRef parent,
Filter filter,
Sorter sorter)
Same as
CoreSession.getFiles(org.nuxeo.ecm.core.api.DocumentRef) but uses an optional filter and sorter on the
result. |
DocumentModelIterator |
getFilesIterator(DocumentRef parent)
Same as
CoreSession.getFiles(DocumentRef) but returns an
iterator. |
DocumentModelList |
getFolders(DocumentRef parent)
Same as
CoreSession.getChildren(DocumentRef) but returns only
folder documents. |
DocumentModelList |
getFolders(DocumentRef parent,
Filter filter,
Sorter sorter)
Same as
CoreSession.getFolders(DocumentRef) but uses an optional
filter and sorter on the result. |
DocumentModelIterator |
getFoldersIterator(DocumentRef parent)
Same as
CoreSession.getFolders(DocumentRef) but returns a lazy
loading iterator over the list of children. |
DocumentModel |
getLastDocumentVersion(DocumentRef docRef)
Gets the document corresponding to the last version for the given
document.
|
DocumentRef |
getLastDocumentVersionRef(DocumentRef docRef)
Gets the document reference corresponding to the last version for the
given document.
|
VersionModel |
getLastVersion(DocumentRef docRef)
Gets the last version of a document.
|
String |
getLifeCyclePolicy(DocumentRef docRef)
Returns the life cycle policy of the document.
|
String |
getLock(DocumentRef docRef)
Deprecated.
|
Lock |
getLockInfo(DocumentRef docRef)
Gets the lock info on the given document.
|
DocumentModel |
getParentDocument(DocumentRef docRef)
Gets the parent document or null if this is the root document.
|
DocumentRef |
getParentDocumentRef(DocumentRef docRef)
Returns the parent ref of the document referenced by
docRef or
null if this is the root document. |
DocumentRef[] |
getParentDocumentRefs(DocumentRef docRef)
Creates an array with all parent refs starting from the given document up
to the root.
|
List<DocumentModel> |
getParentDocuments(DocumentRef docRef)
Gets the parent documents in path from the root to the given document or
empty list if this is the root document.
|
String[] |
getPermissionsToCheck(String permission)
Provides the full list of all permissions or groups of permissions that
contain the given one (inclusive).
|
Principal |
getPrincipal()
Gets the principal that created the client session.
|
DocumentModelList |
getProxies(DocumentRef docRef,
DocumentRef folderRef)
Finds the proxies for a document.
|
String[] |
getProxyVersions(DocumentRef docRef,
DocumentRef folderRef)
Gets all proxy versions to document docRef inside folder folderRef.
|
String |
getRepositoryName()
Returns the repository name against which this core session is bound.
|
DocumentModel |
getRootDocument()
Gets the root document of this repository.
|
List<SecuritySummaryEntry> |
getSecuritySummary(DocumentModel docModel,
Boolean includeParents)
Returns security descriptors of doc and all it's children that hold
explicit security.
|
abstract Session |
getSession()
Internal method: Gets the current session based on the client session
id.
|
String |
getSessionId()
Gets the current session id.
|
DocumentModel |
getSourceDocument(DocumentRef docRef)
Gets the head (live) document for this document.
|
String |
getStreamURI(String blobPropertyId)
Returns an URI identifying the stream given the blob property id.
|
String |
getSuperParentType(DocumentModel doc)
Returns the type of his parent SuperSpace (workspace, section, etc.).
|
DocumentModel |
getSuperSpace(DocumentModel doc)
Returns the parent SuperSpace (workspace, section, etc.).
|
DocumentModel |
getVersion(String versionableId,
VersionModel versionModel)
Gets a document version, given the versionable id and label.
|
String |
getVersionLabel(DocumentModel docModel)
Gets the version label for a document, according to the versioning
service.
|
List<DocumentModel> |
getVersions(DocumentRef docRef)
Retrieves all the versions for a specified document.
|
String |
getVersionSeriesId(DocumentRef docRef)
Gets the version series id for a document.
|
List<VersionModel> |
getVersionsForDocument(DocumentRef docRef)
Retrieves all the versions for a specified document.
|
List<DocumentRef> |
getVersionsRefs(DocumentRef docRef)
Gets the references of the versions of the document.
|
DocumentModel |
getWorkingCopy(DocumentRef docRef)
Gets the working copy (live document) for a proxy or a version.
|
boolean |
hasChildren(DocumentRef docRef)
Tests if the document has any children.
|
boolean |
hasPermission(DocumentRef docRef,
String permission)
Checks if the principal that created the client session has the given
privilege on the referred document.
|
boolean |
hasPermission(Principal principal,
DocumentRef docRef,
String permission)
Checks if a given principal has the given privilege on the referred
document.
|
void |
importDocuments(List<DocumentModel> docModels)
Low-level import of documents, reserved for the administrator.
|
void |
internalCheckOut(DocumentRef docRef) |
boolean |
isCheckedOut(DocumentRef docRef)
Returns whether the current document is checked-out or not.
|
boolean |
isDirty(DocumentRef docRef)
Deprecated.
|
abstract boolean |
isSessionAlive() |
DocumentModel |
move(DocumentRef src,
DocumentRef dst,
String name)
Moves the source document to the destination folder under the given name.
|
void |
move(List<DocumentRef> src,
DocumentRef dst)
Bulk move.
|
DocumentEventContext |
newEventContext(DocumentModel source) |
void |
orderBefore(DocumentRef parent,
String src,
String dest)
Given a parent document, order the source child before the destination
child.
|
DocumentModel |
publishDocument(DocumentModel docToPublish,
DocumentModel section)
Publishes the document in a section overwriting any existing proxy to the
same document.
|
DocumentModel |
publishDocument(DocumentModel docModel,
DocumentModel section,
boolean overwriteExistingProxy)
Publishes the document in a section.
|
DocumentModelList |
query(String query)
Executes the given NXQL query an returns the result.
|
DocumentModelList |
query(String query,
Filter filter)
Executes the given NXQL query and returns the result that matches the
filter.
|
DocumentModelList |
query(String query,
Filter filter,
int max)
Executes the given NXQL query and returns the result that matches the
filter.
|
DocumentModelList |
query(String query,
Filter filter,
long limit,
long offset,
boolean countTotal)
Executes the given NXQL query and returns the result that matches the
filter.
|
DocumentModelList |
query(String query,
int max)
Executes the given NXQL query an returns the result.
|
DocumentModelList |
query(String query,
String queryType,
Filter filter,
long limit,
long offset,
boolean countTotal)
Executes the given query and returns the result that matches the filter.
|
IterableQueryResult |
queryAndFetch(String query,
String queryType,
Object... params) |
DocumentModelIterator |
queryIt(String query,
Filter filter,
int max)
Executes the given NXQL query and returns an iterators of results.
|
DocumentModelList |
querySimpleFts(String keywords)
Deprecated.
|
DocumentModelList |
querySimpleFts(String keywords,
Filter filter)
Deprecated.
|
DocumentModelIterator |
querySimpleFtsIt(String query,
Filter filter,
int pageSize)
Deprecated.
|
DocumentModelIterator |
querySimpleFtsIt(String query,
String startingPath,
Filter filter,
int pageSize)
Deprecated.
|
DocumentModel.DocumentModelRefresh |
refreshDocument(DocumentRef ref,
int refreshFlags,
String[] schemas)
Internal method - it is used internally by
DocumentModel.refresh() |
void |
reinitLifeCycleState(DocumentRef docRef)
Reinitializes the life cycle state of the document to its default state.
|
void |
removeChildren(DocumentRef docRef)
Removes all children from the given document.
|
void |
removeDocument(DocumentRef docRef)
Removes this document and all its children, if any.
|
void |
removeDocuments(DocumentRef[] docRefs)
Implementation uses the fact that the lexicographic ordering of paths is
a refinement of the "contains" partial ordering.
|
Lock |
removeLock(DocumentRef docRef)
Removes the lock on the given document.
|
DocumentModel |
restoreToVersion(DocumentRef docRef,
DocumentRef versionRef)
Restores the given document to the specified version.
|
DocumentModel |
restoreToVersion(DocumentRef docRef,
DocumentRef versionRef,
boolean skipSnapshotCreation,
boolean skipCheckout)
Restores the given document to the specified version.
|
DocumentModel |
restoreToVersion(DocumentRef docRef,
VersionModel version)
Deprecated.
|
DocumentModel |
restoreToVersion(DocumentRef docRef,
VersionModel version,
boolean skipSnapshotCreation)
Deprecated.
|
<T> T |
run(Operation<T> op)
Run a command
|
<T> T |
run(Operation<T> op,
ProgressMonitor monitor)
Run a command and notify the given monitor about the execution progress
|
void |
save()
Saves any pending changes done until now through this session.
|
DocumentModel |
saveDocument(DocumentModel docModel)
Saves changes done on the given document model.
|
void |
saveDocuments(DocumentModel[] docModels)
Bulk document saving.
|
void |
setACP(DocumentRef docRef,
ACP newAcp,
boolean overwrite)
Sets the ACP for this document.
|
<T extends Serializable> |
setDocumentSystemProp(DocumentRef ref,
String systemProperty,
T value)
Sets given value as a system property.
|
Lock |
setLock(DocumentRef docRef)
Sets a lock on the given document.
|
void |
setLock(DocumentRef docRef,
String key)
Deprecated.
|
void |
startOperation(Operation<?> operation)
This method is for compatibility reasons to notify an operation start.
|
String |
unlock(DocumentRef docRef)
Deprecated.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isStateSharedByAllThreadSessions, supportsTags, supportsTags
public static final NuxeoPrincipal ANONYMOUS
public abstract Session getSession() throws ClientException
ClientException
public String connect(String repositoryName, Map<String,Serializable> context) throws ClientException
CoreSession
This method must never be called by users. Is is indirectly called
from CoreInstance.open(String, Map)
when creating the client.
connect
in interface CoreSession
repositoryName
- the repository URI (unique in the platform)context
- a map of properties used to initialize the session. Can be
null if no context properties are specified.ClientException
public DocumentType getDocumentType(String type)
CoreSession
getDocumentType
in interface CoreSession
type
- the document type namepublic String generateVersionLabelFor(DocumentRef docRef) throws ClientException
generateVersionLabelFor
in interface CoreSession
ClientException
public String getSessionId()
CoreSession
If the client is not connected returns null.
getSessionId
in interface CoreSession
public Principal getPrincipal()
CoreSession
getPrincipal
in interface CoreSession
public DocumentEventContext newEventContext(DocumentModel source)
public EventService getEventService()
public void afterBegin()
CoreSession
afterBegin
in interface CoreSession
public void beforeCompletion()
CoreSession
beforeCompletion
in interface CoreSession
public void afterCompletion(boolean committed)
CoreSession
afterCompletion
in interface CoreSession
public void fireEvent(Event event) throws ClientException
ClientException
public boolean hasPermission(Principal principal, DocumentRef docRef, String permission) throws ClientException
CoreSession
hasPermission
in interface CoreSession
ClientException
public boolean hasPermission(DocumentRef docRef, String permission) throws ClientException
CoreSession
hasPermission
in interface CoreSession
ClientException
public DocumentModel copy(DocumentRef src, DocumentRef dst, String name) throws ClientException
CoreSession
If the destination document is not a folder or it doesn't exists then throws an exception.
If the source is a proxy the destination will be a copy of the proxy.
copy
in interface CoreSession
src
- the source document referencedst
- the destination folder referencename
- the new name of the file or null if the original name must be
preservedClientException
public List<DocumentModel> copy(List<DocumentRef> src, DocumentRef dst) throws ClientException
CoreSession
copy
in interface CoreSession
src
- the documents to copydst
- the destination folderClientException
public DocumentModel copyProxyAsDocument(DocumentRef src, DocumentRef dst, String name) throws ClientException
CoreSession
copyProxyAsDocument
in interface CoreSession
src
- the source document referencedst
- the destination folder referencename
- the new name of the file or null if the original name must be
preservedClientException
CoreSession.copy(DocumentRef, DocumentRef, String)
public List<DocumentModel> copyProxyAsDocument(List<DocumentRef> src, DocumentRef dst) throws ClientException
CoreSession
copyProxyAsDocument
in interface CoreSession
src
- the documents to copydst
- the destination folderClientException
public DocumentModel move(DocumentRef src, DocumentRef dst, String name) throws ClientException
CoreSession
null
or if there is a collision, a suitable new
name is found.
If the destination document is not a folder or it doesn't exists then throws an exception.
move
in interface CoreSession
src
- the source document referencedst
- the destination folder referencename
- the new name of the file, or null
ClientException
public void move(List<DocumentRef> src, DocumentRef dst) throws ClientException
CoreSession
move
in interface CoreSession
src
- the documents to movedst
- the destination folderClientException
public ACP getACP(DocumentRef docRef) throws ClientException
CoreSession
The returned ACP is the ACP defined on that document if any + the inherited ACL if any. If neither a local ACP nor inherited ACL exists null is returned.
Note that modifying the returned ACP will not affect in any way the
stored document ACP. To modify the ACP you must explicitely set it by
calling CoreSession.setACP(DocumentRef, ACP, boolean)
This method will always fetch a fresh ACP from the storage. The
recommended way to get the ACP is to use DocumentModel.getACP()
this way the ACP will be cached at the document model level and so you
can use it for multiple permission checks without fetching it each time.
getACP
in interface CoreSession
docRef
- the doc ref to retrieve ACP or null if noneClientException
public void setACP(DocumentRef docRef, ACP newAcp, boolean overwrite) throws ClientException
CoreSession
If the ACP contains an INHERITED
ACL it will be discarded.
Only ACLs relative to the current document may be changed.
If the overwrite
argument is false, the ACP is merged with
the existing one if any. The merge is done as follow:
owners
are specified then they will replace the
existing ones if any. Otherwise the old owners are preserved if any. As
for the ACL if you want to remove existing owners you need to specify an
empty owner array (and not a null one)
overwrite
argument is true, the old ACP will be
replaced by the new one.
This way if you can remove the existing ACP by specifying a null ACP and
overwrite
argument set to true.
Setting a null ACP when overwrite
is false will do nothing.
setACP
in interface CoreSession
ClientException
public void cancel() throws ClientException
CoreSession
cancel
in interface CoreSession
ClientException
public DocumentModel createDocumentModel(String typeName) throws ClientException
CoreSession
Used to fetch initial datamodels from the type definition.
DocumentModel creation notifies a
DocumentEventTypes.EMPTY_DOCUMENTMODEL_CREATED
so that core event
listener can initialize its content with computed properties.
createDocumentModel
in interface CoreSession
ClientException
public DocumentModel createDocumentModel(String parentPath, String id, String typeName) throws ClientException
CoreSession
Used to fetch initial datamodels from the type definition.
DocumentModel creation notifies a
DocumentEventTypes.EMPTY_DOCUMENTMODEL_CREATED
so that core event
listener can initialize its content with computed properties.
createDocumentModel
in interface CoreSession
ClientException
public DocumentModel createDocumentModel(String typeName, Map<String,Object> options) throws ClientException
CoreSession
Used to fetch initial datamodels from the type definition.
DocumentModel creation notifies a
DocumentEventTypes.EMPTY_DOCUMENTMODEL_CREATED
so that core event
listener can initialize its content with computed properties.
createDocumentModel
in interface CoreSession
options
- additional contextual data provided to core event
listenersClientException
public DocumentModel createDocument(DocumentModel docModel) throws ClientException
CoreSession
The model contains path of the new document, its type and optionally the initial data models of the document.
createDocument
in interface CoreSession
docModel
- the document model to use for initializationClientException
public void importDocuments(List<DocumentModel> docModels) throws ClientException
CoreSession
This method is used to import documents with given ids, or directly import versions and proxies.
The id, parent, name and typeName must be present in each docModel.
The context data needs to be filled with values depending on the type of the document:
For a proxy (type = "ecm:proxyType"
):
CoreSession.IMPORT_PROXY_TARGET_ID
and CoreSession.IMPORT_PROXY_VERSIONABLE_ID
.
For a version (no parent): CoreSession.IMPORT_VERSION_VERSIONABLE_ID
,
CoreSession.IMPORT_VERSION_CREATED
, CoreSession.IMPORT_VERSION_LABEL
and
CoreSession.IMPORT_VERSION_DESCRIPTION
.
For a live document: CoreSession.IMPORT_BASE_VERSION_ID
and
CoreSession.IMPORT_CHECKED_IN
(Boolean).
For a live document or a version: CoreSession.IMPORT_LIFECYCLE_POLICY
,
CoreSession.IMPORT_LIFECYCLE_STATE
, CoreSession.IMPORT_VERSION_MAJOR
(Long) and
CoreSession.IMPORT_VERSION_MINOR
(Long).
importDocuments
in interface CoreSession
docModels
- the documents to createClientException
public String generateDocumentName(Document parent, String name) throws DocumentException
If name is null, a name is generated. If name is already used, a random suffix is appended to it.
DocumentException
public DocumentModel[] createDocument(DocumentModel[] docModels) throws ClientException
CoreSession
createDocument
in interface CoreSession
docModels
- the document models to use for intializationClientException
public abstract boolean isSessionAlive()
public void disconnect() throws ClientException
CoreSession
This method must never be called by users. Is is indirectly called
from CoreInstance.close(CoreSession)
when closing the client
All pending change made on the repository through this session are saved.
disconnect
in interface CoreSession
ClientException
public boolean exists(DocumentRef docRef) throws ClientException
CoreSession
This operation makes no difference between non-existence and permission problems.
If the parent is null or its path is null, then root is considered.
exists
in interface CoreSession
docRef
- the reference to the document to test for existenceClientException
public DocumentModel getChild(DocumentRef parent, String name) throws ClientException
CoreSession
Throws an exception if the document could not be found.
If the supplied id is null, returns the default child of the document if any, otherwise raises an exception.
If the parent is null or its path is null, then root is considered.
getChild
in interface CoreSession
parent
- the reference to the parent documentname
- the name of the child document to retrieveClientException
- if there is no child with the given namepublic DocumentModelList getChildren(DocumentRef parent) throws ClientException
CoreSession
getChildren
in interface CoreSession
parent
- the parent referenceClientException
public DocumentModelIterator getChildrenIterator(DocumentRef parent) throws ClientException
CoreSession
getChildrenIterator
in interface CoreSession
parent
- the parent referenceClientException
public DocumentModelList getChildren(DocumentRef parent, String type) throws ClientException
CoreSession
getChildren
in interface CoreSession
parent
- the parent referencetype
- the wanted document typeClientException
public DocumentModelIterator getChildrenIterator(DocumentRef parent, String type) throws ClientException
CoreSession
getChildrenIterator
in interface CoreSession
ClientException
public DocumentModelList getChildren(DocumentRef parent, String type, String perm) throws ClientException
CoreSession
getChildren
in interface CoreSession
parent
- the parent referencetype
- the wanted document typeClientException
public DocumentModelList getChildren(DocumentRef parent, String type, Filter filter, Sorter sorter) throws ClientException
CoreSession
CoreSession.getChildren(DocumentRef, String, String, Filter, Sorter)
without specific permission filtering.getChildren
in interface CoreSession
parent
- the parent referencetype
- the wanted typefilter
- the filter to use if any, null otherwisesorter
- the sorter to use if any, null otherwiseClientException
public DocumentModelList getChildren(DocumentRef parent, String type, String perm, Filter filter, Sorter sorter) throws ClientException
CoreSession
CoreSession.getChildren(DocumentRef, String, String)
but the result
is filtered and then sorted using the specified filter and sorter.getChildren
in interface CoreSession
parent
- the parent referencetype
- the wanted typeperm
- permission to check for. If null, defaults to READfilter
- the filter to use if any, null otherwisesorter
- the sorter to use if any, null otherwiseClientException
public List<DocumentRef> getChildrenRefs(DocumentRef parentRef, String perm) throws ClientException
CoreSession
getChildrenRefs
in interface CoreSession
parentRef
- the parent referenceperm
- the permission to check on the children (usually READ); if
null, no permission is checkedClientException
public DocumentModelsChunk getDocsResultChunk(DocsQueryProviderDef def, String type, String perm, Filter filter, int start, int max) throws ClientException
getDocsResultChunk
in interface CoreSession
ClientException
public DocumentModelIterator getChildrenIterator(DocumentRef parent, String type, String perm, Filter filter) throws ClientException
CoreSession
getChildrenIterator
in interface CoreSession
ClientException
public DocumentModel getDocument(DocumentRef docRef) throws ClientException
CoreSession
The default schemas are used to populate the returned document model. Default schemas are configured via the document type manager.
Any other data model not part of the default schemas will be lazily loaded as needed.
getDocument
in interface CoreSession
docRef
- the document referenceClientException
@Deprecated public DocumentModel getDocument(DocumentRef docRef, String[] schemas) throws ClientException
getDocument
in interface CoreSession
ClientException
public DocumentModelList getDocuments(DocumentRef[] docRefs) throws ClientException
CoreSession
Documents that are not accessible are skipped.
getDocuments
in interface CoreSession
ClientException
public DocumentModelList getFiles(DocumentRef parent) throws ClientException
CoreSession
CoreSession.getChildren(DocumentRef)
but returns only
non-folder documents.getFiles
in interface CoreSession
parent
- the parent referenceClientException
public DocumentModelIterator getFilesIterator(DocumentRef parent) throws ClientException
CoreSession
CoreSession.getFiles(DocumentRef)
but returns an
iterator.getFilesIterator
in interface CoreSession
ClientException
public DocumentModelList getFiles(DocumentRef parent, Filter filter, Sorter sorter) throws ClientException
CoreSession
CoreSession.getFiles(org.nuxeo.ecm.core.api.DocumentRef)
but uses an optional filter and sorter on the
result.getFiles
in interface CoreSession
parent
- the parent referencefilter
- the filter to use or null if nonesorter
- the sorter to use or null if noneClientException
public DocumentModelList getFolders(DocumentRef parent) throws ClientException
CoreSession
CoreSession.getChildren(DocumentRef)
but returns only
folder documents.getFolders
in interface CoreSession
parent
- the parent refClientException
public DocumentModelIterator getFoldersIterator(DocumentRef parent) throws ClientException
CoreSession
CoreSession.getFolders(DocumentRef)
but returns a lazy
loading iterator over the list of children.getFoldersIterator
in interface CoreSession
parent
- the parent referenceClientException
public DocumentModelList getFolders(DocumentRef parent, Filter filter, Sorter sorter) throws ClientException
CoreSession
CoreSession.getFolders(DocumentRef)
but uses an optional
filter and sorter on the result.getFolders
in interface CoreSession
parent
- the parent referencefilter
- the filter to use or null if nonesorter
- the sorter to use or null if noneClientException
public DocumentRef getParentDocumentRef(DocumentRef docRef) throws ClientException
CoreSession
docRef
or
null
if this is the root document.
This method does not check the permissions on the parent document of this
CoreSession
's Principal
.
getParentDocumentRef
in interface CoreSession
ClientException
public DocumentModel getParentDocument(DocumentRef docRef) throws ClientException
CoreSession
getParentDocument
in interface CoreSession
ClientException
public List<DocumentModel> getParentDocuments(DocumentRef docRef) throws ClientException
CoreSession
Documents the principal is is not allowed to browse are filtered out the parents list.
getParentDocuments
in interface CoreSession
ClientException
public DocumentModel getRootDocument() throws ClientException
CoreSession
getRootDocument
in interface CoreSession
ClientException
public boolean hasChildren(DocumentRef docRef) throws ClientException
CoreSession
This operation silently ignores non-folder documents: If the document is not a folder then returns false.
If the parent is null or its path is null, then root is considered.
hasChildren
in interface CoreSession
docRef
- the reference to the document to testClientException
public DocumentModelList query(String query) throws ClientException
CoreSession
query
in interface CoreSession
query
- the query to executeClientException
public DocumentModelList query(String query, int max) throws ClientException
CoreSession
query
in interface CoreSession
query
- the query to executemax
- number of document to retrieveClientException
public DocumentModelList query(String query, Filter filter) throws ClientException
CoreSession
query
in interface CoreSession
query
- the query to executefilter
- the filter to apply to resultClientException
public DocumentModelList query(String query, Filter filter, int max) throws ClientException
CoreSession
query
in interface CoreSession
query
- the query to executefilter
- the filter to apply to resultmax
- number of document to retrieveClientException
public DocumentModelList query(String query, Filter filter, long limit, long offset, boolean countTotal) throws ClientException
CoreSession
query
in interface CoreSession
query
- the query to executefilter
- the filter to apply to resultlimit
- the maximum number of documents to retrieve, or 0 for all of
themoffset
- the offset (starting at 0) into the list of documentscountTotal
- if true
, return a DocumentModelList
that includes a total size of the underlying list (size if
there was no limit or offset)ClientException
public DocumentModelList query(String query, String queryType, Filter filter, long limit, long offset, boolean countTotal) throws ClientException
CoreSession
query
in interface CoreSession
query
- the query to executequeryType
- the query type, like "NXQL"filter
- the filter to apply to resultlimit
- the maximum number of documents to retrieve, or 0 for all of
themoffset
- the offset (starting at 0) into the list of documentscountTotal
- if true
, return a DocumentModelList
that includes a total size of the underlying list (size if
there was no limit or offset)ClientException
public IterableQueryResult queryAndFetch(String query, String queryType, Object... params) throws ClientException
queryAndFetch
in interface CoreSession
ClientException
public DocumentModelIterator queryIt(String query, Filter filter, int max) throws ClientException
CoreSession
queryIt
in interface CoreSession
query
- the query to executefilter
- the filter to apply to resultmax
- number of document to retrieveClientException
@Deprecated public DocumentModelList querySimpleFts(String keywords) throws ClientException
CoreSession
querySimpleFts
in interface CoreSession
ClientException
@Deprecated public DocumentModelList querySimpleFts(String keywords, Filter filter) throws ClientException
CoreSession
querySimpleFts
in interface CoreSession
ClientException
@Deprecated public DocumentModelIterator querySimpleFtsIt(String query, Filter filter, int pageSize) throws ClientException
querySimpleFtsIt
in interface CoreSession
ClientException
@Deprecated public DocumentModelIterator querySimpleFtsIt(String query, String startingPath, Filter filter, int pageSize) throws ClientException
querySimpleFtsIt
in interface CoreSession
ClientException
public void removeChildren(DocumentRef docRef) throws ClientException
CoreSession
removeChildren
in interface CoreSession
docRef
- the reference to the document to removeClientException
public boolean canRemoveDocument(DocumentRef docRef) throws ClientException
CoreSession
For an archived version to be removeable, it must not be referenced from any proxy or be the base of a working document, and the REMOVE permission must be available on the working document (or the user must be an administrator if no working document exists).
canRemoveDocument
in interface CoreSession
docRef
- the documentClientException
public void removeDocument(DocumentRef docRef) throws ClientException
CoreSession
removeDocument
in interface CoreSession
docRef
- the reference to the document to removeClientException
public void removeDocuments(DocumentRef[] docRefs) throws ClientException
removeDocuments
in interface CoreSession
docRefs
- the refs to the document to removeClientException
public void save() throws ClientException
CoreSession
save
in interface CoreSession
ClientException
public DocumentModel saveDocument(DocumentModel docModel) throws ClientException
CoreSession
saveDocument
in interface CoreSession
docModel
- the document model that needs modifiedClientException
@Deprecated public boolean isDirty(DocumentRef docRef) throws ClientException
CoreSession
isDirty
in interface CoreSession
docRef
- the doc referenceClientException
public void saveDocuments(DocumentModel[] docModels) throws ClientException
CoreSession
saveDocuments
in interface CoreSession
docModels
- the document models that needs to be savedClientException
public DocumentModel getSourceDocument(DocumentRef docRef) throws ClientException
CoreSession
getSourceDocument
in interface CoreSession
docRef
- the reference to the documentClientException
- if any error occurspublic VersionModel getLastVersion(DocumentRef docRef) throws ClientException
CoreSession
getLastVersion
in interface CoreSession
docRef
- the reference to the documentClientException
- if any error occurspublic DocumentModel getLastDocumentVersion(DocumentRef docRef) throws ClientException
CoreSession
getLastDocumentVersion
in interface CoreSession
docRef
- the reference to the documentClientException
public DocumentRef getLastDocumentVersionRef(DocumentRef docRef) throws ClientException
CoreSession
getLastDocumentVersionRef
in interface CoreSession
docRef
- the reference to the documentClientException
public List<DocumentRef> getVersionsRefs(DocumentRef docRef) throws ClientException
CoreSession
getVersionsRefs
in interface CoreSession
docRef
- the reference to the documentClientException
public List<DocumentModel> getVersions(DocumentRef docRef) throws ClientException
CoreSession
getVersions
in interface CoreSession
docRef
- the reference to the documentDocumentModel
representing versions, empty
list if none is found.ClientException
public List<VersionModel> getVersionsForDocument(DocumentRef docRef) throws ClientException
CoreSession
getVersionsForDocument
in interface CoreSession
docRef
- the reference to the documentVersionModel
representing versions, empty
list if none is found.ClientException
public DocumentModel restoreToVersion(DocumentRef docRef, DocumentRef versionRef) throws ClientException
CoreSession
restoreToVersion
in interface CoreSession
docRef
- the reference to the documentversionRef
- the reference to the versionClientException
@Deprecated public DocumentModel restoreToVersion(DocumentRef docRef, VersionModel version) throws ClientException
CoreSession
restoreToVersion
in interface CoreSession
docRef
- the reference to the documentversion
- the version to which the document should be restored to -
only the label is used for the momentClientException
@Deprecated public DocumentModel restoreToVersion(DocumentRef docRef, VersionModel version, boolean skipSnapshotCreation) throws ClientException
CoreSession
restoreToVersion
in interface CoreSession
docRef
- the reference to the documentversion
- the version to which the document should be restored to -
only the label is used for the momentskipSnapshotCreation
- indicates if skipping snapshot creationClientException
public DocumentModel restoreToVersion(DocumentRef docRef, DocumentRef versionRef, boolean skipSnapshotCreation, boolean skipCheckout) throws ClientException
CoreSession
restoreToVersion
in interface CoreSession
docRef
- the reference to the documentversionRef
- the reference to the versionskipSnapshotCreation
- true
if the document should not be
snapshotted before being restoredskipCheckout
- true
if the restored document should be kept
in a checked-in stateClientException
public DocumentRef getBaseVersion(DocumentRef docRef) throws ClientException
CoreSession
Returns null
for a checked out document or a version or a proxy.
getBaseVersion
in interface CoreSession
null
ClientException
@Deprecated public DocumentModel checkIn(DocumentRef docRef, VersionModel ver) throws ClientException
CoreSession
checkIn
in interface CoreSession
docRef
- the reference to the documentver
- the version descriptorClientException
public DocumentRef checkIn(DocumentRef docRef, VersioningOption option, String checkinComment) throws ClientException
CoreSession
checkIn
in interface CoreSession
docRef
- the reference to the documentoption
- whether to do create a new VersioningOption.MINOR
or VersioningOption.MAJOR
version during check incheckinComment
- the checkin commentClientException
public void checkOut(DocumentRef docRef) throws ClientException
CoreSession
checkOut
in interface CoreSession
docRef
- the reference to the documentClientException
public void internalCheckOut(DocumentRef docRef) throws ClientException
ClientException
public boolean isCheckedOut(DocumentRef docRef) throws ClientException
CoreSession
isCheckedOut
in interface CoreSession
docRef
- the reference to the documentClientException
public String getVersionSeriesId(DocumentRef docRef) throws ClientException
CoreSession
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 CoreSession
docRef
- the document referenceClientException
public DocumentModel getWorkingCopy(DocumentRef docRef) throws ClientException
CoreSession
getWorkingCopy
in interface CoreSession
docRef
- the document referencenull
if not foundClientException
public DocumentModel getVersion(String versionableId, VersionModel versionModel) throws ClientException
CoreSession
The version model contains the label of the version to look for. On return, it is filled with the version's description and creation date.
Restricted to administrators.
getVersion
in interface CoreSession
versionableId
- the versionable idversionModel
- the version model holding the labelnull
if not foundClientException
public String getVersionLabel(DocumentModel docModel) throws ClientException
CoreSession
getVersionLabel
in interface CoreSession
docModel
- the documentClientException
public DocumentModel getDocumentWithVersion(DocumentRef docRef, VersionModel version) throws ClientException
CoreSession
getDocumentWithVersion
in interface CoreSession
docRef
- the reference to the documentversion
- the version for which we want the corresponding documentClientException
public DocumentModel createProxy(DocumentRef docRef, DocumentRef folderRef) throws ClientException
CoreSession
The document may be a version, or a working copy (live document) in which case the proxy will be a "shortcut".
createProxy
in interface CoreSession
ClientException
@Deprecated public DocumentModel createProxy(DocumentRef parentRef, DocumentRef docRef, VersionModel version, boolean overwriteExistingProxy) throws ClientException
CoreSession
createProxy
in interface CoreSession
docRef
- the reference to the documentversion
- the versionClientException
- if any error occurspublic DocumentModelList getProxies(DocumentRef docRef, DocumentRef folderRef) throws ClientException
CoreSession
If the document is a version, then only proxies to that version will be looked up.
If the document is a proxy, then all similar proxies (pointing to any version of the same versionable) are retrieved.
getProxies
in interface CoreSession
docRef
- the target document for the proxiesfolderRef
- the folder where proxies are located or null
ClientException
- if any error occurspublic String[] getProxyVersions(DocumentRef docRef, DocumentRef folderRef) throws ClientException
CoreSession
Intended to be used by UI clients to display information about proxies in sections.
getProxyVersions
in interface CoreSession
docRef
- the target document for the proxiesfolderRef
- the folder where proxies are locatednull
is returned if no proxies are
found the specified folderClientException
- if any error occurspublic List<String> getAvailableSecurityPermissions() throws ClientException
CoreSession
getAvailableSecurityPermissions
in interface CoreSession
ClientException
@Deprecated public DataModel getDataModel(DocumentRef docRef, String schema) throws ClientException
getDataModel
in interface CoreSession
ClientException
public DataModel getDataModel(DocumentRef docRef, Schema schema) throws ClientException
CoreSession
For INTERNAL use by the core.
getDataModel
in interface CoreSession
ClientException
@Deprecated public Object getDataModelField(DocumentRef docRef, String schema, String field) throws ClientException
getDataModelField
in interface CoreSession
ClientException
@Deprecated public Object[] getDataModelFields(DocumentRef docRef, String schema, String[] fields) throws ClientException
getDataModelFields
in interface CoreSession
ClientException
public SerializableInputStream getContentData(String key) throws ClientException
CoreSession
The key is implementation-dependent - this can be a property path an ID, etc.
This method is used to lazily fetch blob streams.
getContentData
in interface CoreSession
ClientException
public String getStreamURI(String blobPropertyId) throws ClientException
CoreSession
The blob is fetched from the repository and the blob stream is registered against the streaming service so the stream will be available remotely through stream service API.
After the client has called this method, it will be able to download the stream using streaming server API.
getStreamURI
in interface CoreSession
ClientException
public String getCurrentLifeCycleState(DocumentRef docRef) throws ClientException
CoreSession
getCurrentLifeCycleState
in interface CoreSession
docRef
- the document referenceClientException
org.nuxeo.ecm.core.lifecycle
public String getLifeCyclePolicy(DocumentRef docRef) throws ClientException
CoreSession
getLifeCyclePolicy
in interface CoreSession
docRef
- the document referenceClientException
org.nuxeo.ecm.core.lifecycle
public boolean followTransition(DocumentRef docRef, String transition) throws ClientException
CoreSession
This will update the current life cycle of the document.
followTransition
in interface CoreSession
docRef
- the document referencetransition
- the name of the transition to followClientException
public Collection<String> getAllowedStateTransitions(DocumentRef docRef) throws ClientException
CoreSession
getAllowedStateTransitions
in interface CoreSession
docRef
- the document referenceClientException
public void reinitLifeCycleState(DocumentRef docRef) throws ClientException
CoreSession
reinitLifeCycleState
in interface CoreSession
docRef
- the documentClientException
public Object[] getDataModelsField(DocumentRef[] docRefs, String schema, String field) throws ClientException
CoreSession
getDataModelsField
in interface CoreSession
docRefs
- the document referencesschema
- the schemafield
- the field nameClientException
public DocumentRef[] getParentDocumentRefs(DocumentRef docRef) throws ClientException
CoreSession
getParentDocumentRefs
in interface CoreSession
ClientException
public Object[] getDataModelsFieldUp(DocumentRef docRef, String schema, String field) throws ClientException
CoreSession
getDataModelsFieldUp
in interface CoreSession
docRef
- the document referenceschema
- the schemafield
- the field nameClientException
@Deprecated public String getLock(DocumentRef docRef) throws ClientException
CoreSession
A lock key has the form someuser:Nov 29, 2010
.
getLock
in interface CoreSession
docRef
- the document referenceClientException
@Deprecated public void setLock(DocumentRef docRef, String key) throws ClientException
CoreSession
A lock key must have the form someuser:Nov 29, 2010
.
setLock
in interface CoreSession
docRef
- the document referencekey
- the lock keyClientException
- if a lock is already set or other exception
occurred@Deprecated public String unlock(DocumentRef docRef) throws ClientException
CoreSession
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.
unlock
in interface CoreSession
docRef
- the document to unlockClientException
public Lock setLock(DocumentRef docRef) throws ClientException
CoreSession
setLock
in interface CoreSession
ClientException
- if a lock was already setpublic Lock getLockInfo(DocumentRef docRef) throws ClientException
CoreSession
Lock info is never cached, and needs to use a separate transaction in a separate thread, so care should be taken to not call this method needlessly.
getLockInfo
in interface CoreSession
null
otherwiseClientException
public Lock removeLock(DocumentRef docRef) throws ClientException
CoreSession
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 CoreSession
docRef
- the document to unlocknull
if there was no lockClientException
public void applyDefaultPermissions(String userOrGroupName) throws ClientException
CoreSession
Usage: As an administrator, you may want to add new users or groups. This method needs to be called to grand default reading permissions on the root document of the repository for the newly created users/groups.
applyDefaultPermissions
in interface CoreSession
ClientException
public void destroy()
CoreSession
Called when the instance is no more needed.
destroy
in interface CoreSession
public DocumentModel publishDocument(DocumentModel docToPublish, DocumentModel section) throws ClientException
CoreSession
publishDocument
in interface CoreSession
ClientException
public DocumentModel publishDocument(DocumentModel docModel, DocumentModel section, boolean overwriteExistingProxy) throws ClientException
CoreSession
publishDocument
in interface CoreSession
ClientException
public String getSuperParentType(DocumentModel doc) throws ClientException
CoreSession
getSuperParentType
in interface CoreSession
ClientException
public DocumentModel getSuperSpace(DocumentModel doc) throws ClientException
CoreSession
getSuperSpace
in interface CoreSession
ClientException
public List<SecuritySummaryEntry> getSecuritySummary(DocumentModel docModel, Boolean includeParents) throws ClientException
CoreSession
getSecuritySummary
in interface CoreSession
docModel
- the document node from where the security export is doneincludeParents
- flag is the parent nodes holding security
information should be added at the top of the returned listClientException
public String getRepositoryName()
CoreSession
getRepositoryName
in interface CoreSession
public <T extends Serializable> T getDocumentSystemProp(DocumentRef ref, String systemProperty, Class<T> type) throws ClientException, DocumentException
CoreSession
getDocumentSystemProp
in interface CoreSession
ClientException
DocumentException
public <T extends Serializable> void setDocumentSystemProp(DocumentRef ref, String systemProperty, T value) throws ClientException, DocumentException
CoreSession
setDocumentSystemProp
in interface CoreSession
ClientException
DocumentException
public void orderBefore(DocumentRef parent, String src, String dest) throws ClientException
CoreSession
docModel.getName()
) To place the source document at the end
of the children list use a null destination node.orderBefore
in interface CoreSession
parent
- the parent documentsrc
- the document to be moved (ordered)dest
- the document before which the reordered document will be
placed If null the source document will be placed at the end
of the children listClientException
- if the parent document is not an orderable folder
or other error occurspublic <T> T run(Operation<T> op) throws ClientException
CoreSession
run
in interface CoreSession
T
- command result typeop
- the command to runClientException
- if any error occurspublic <T> T run(Operation<T> op, ProgressMonitor monitor) throws ClientException
CoreSession
run
in interface CoreSession
ClientException
public void startOperation(Operation<?> operation)
startOperation
in interface OperationHandler
in
nuxeo-core-event-compat
public void endOperation(Operation<?> operation)
endOperation
in interface OperationHandler
in
nuxeo-core-event-compat
public DocumentModel.DocumentModelRefresh refreshDocument(DocumentRef ref, int refreshFlags, String[] schemas) throws ClientException
CoreSession
DocumentModel.refresh()
Get fresh data from a document given a description of what kind of data should be refetched.
The refresh information is specified using a bit mask. See
DocumentModel
for all accepted flags.
When the flag DocumentModel.REFRESH_CONTENT_IF_LOADED
is
specified a third argument must be passed representing the schema names
for document parts to refresh. This argument is ignored if the flag is
not specified or no schema names are provided
refreshDocument
in interface CoreSession
ref
- the document referencerefreshFlags
- refresh flags as defined in DocumentModel
schemas
- the schema names if a partial content refresh is requiredClientException
public String[] getPermissionsToCheck(String permission)
CoreSession
SecurityService.getPermissionsToCheck(java.lang.String)
available remote.getPermissionsToCheck
in interface CoreSession
public <T extends DetachedAdapter> T adaptFirstMatchingDocumentWithFacet(DocumentRef docRef, String facet, Class<T> adapterClass) throws ClientException
CoreSession
facet
and adapt it on the
adapterClass
.
This method does not check the permissions on the document to be adapted of this
CoreSession
's Principal
, and so the adapter must not need
other schemas from the DocumentModel
except the schemas related
to the given facet.
adaptFirstMatchingDocumentWithFacet
in interface CoreSession
facet
adapted, or
null
if no parent found or the document does not support
the given adapterClass
.ClientException
Copyright © 2011 Nuxeo SA. All Rights Reserved.