Class DocumentRouteElementImpl
- java.lang.Object
-
- org.nuxeo.ecm.platform.routing.core.impl.DocumentRouteElementImpl
-
- All Implemented Interfaces:
Serializable
,DocumentRouteElement
,DocumentRouteStep
- Direct Known Subclasses:
DocumentRouteStepsContainerImpl
,GraphNodeImpl
public class DocumentRouteElementImpl extends Object implements DocumentRouteElement, DocumentRouteStep
- Author:
- arussel
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
DocumentRouteElementImpl.GetIsParentRunningUnrestricted
protected class
DocumentRouteElementImpl.SetDocumentOnReadOnlyUnrestrictedSessionRunner
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.platform.routing.api.DocumentRouteElement
DocumentRouteElement.ElementLifeCycleState, DocumentRouteElement.ElementLifeCycleTransistion
-
-
Field Summary
Fields Modifier and Type Field Description protected DocumentModel
document
protected ElementRunner
runner
-
Constructor Summary
Constructors Constructor Description DocumentRouteElementImpl(DocumentModel doc, ElementRunner runner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
backToReady(CoreSession session)
Set the step back to the ready state from running or done.void
cancel(CoreSession session)
Cancel this element.boolean
canDeleteStep(CoreSession session)
If this session can delete this step.boolean
canUndoStep(CoreSession session)
If this step can be undone.boolean
canUpdateStep(CoreSession session)
If this session can update this step.boolean
canValidateStep(CoreSession session)
If this session can validate the step.protected boolean
checkLifeCycleState(DocumentRouteElement.ElementLifeCycleState state)
void
followTransition(DocumentRouteElement.ElementLifeCycleTransistion transition, CoreSession session, boolean recursive)
make this element follow a transition.DocumentModelList
getAttachedDocuments(CoreSession session)
Return the list of documents that this route processes.String
getDescription()
the description of this element.DocumentModel
getDocument()
Get the underlying document representing this element.DocumentRoute
getDocumentRoute(CoreSession session)
Return the DocumentRoute this element is part of.String
getName()
The name of this element.protected Object
getProperty(String propertyName)
String
getTitle()
protected boolean
hasPermissionOnDocument(CoreSession session, String permission)
boolean
isCanceled()
boolean
isDone()
if this route is done.boolean
isDraft()
if this route is draft.boolean
isModifiable()
boolean
isReady()
if this element is ready.boolean
isRunning()
if this route is running.boolean
isValidated()
if the route this element is part of has been validated.void
resume(CoreSession session, String nodeId, String taskId, Map<String,Object> data, String status)
Resumes execution on a route node.void
run(CoreSession session)
Execute this element.void
run(CoreSession session, Map<String,Serializable> map)
Execute this element.void
save(CoreSession session)
save the document representing this DocumentRoute.void
setCanceled(CoreSession session)
Set the step to a cancel step.void
setCanDeleteStep(CoreSession session, String userOrGroup)
make this user or group step deleter.void
setCanReadStep(CoreSession session, String userOrGroup)
make this user or group a step reader.void
setCanUpdateStep(CoreSession session, String userOrGroup)
make this user or group a step updater.void
setCanValidateStep(CoreSession session, String userOrGroup)
make this user or group a validator for this step.void
setDone(CoreSession session)
set this element as done.protected void
setPermissionOnDocument(CoreSession session, String userOrGroup, String permission)
void
setReadOnly(CoreSession session)
remove write rights to everyone but the administrators.void
setReady(CoreSession session)
set this element as ready.void
setRunning(CoreSession session)
set this element as running.void
setValidated(CoreSession session)
set this element as validated.DocumentRouteStep
undo(CoreSession session)
Undo this step.void
validate(CoreSession session)
Set this element to the validate state and put it in read only mode.
-
-
-
Field Detail
-
document
protected DocumentModel document
-
runner
protected ElementRunner runner
-
-
Constructor Detail
-
DocumentRouteElementImpl
public DocumentRouteElementImpl(DocumentModel doc, ElementRunner runner)
-
-
Method Detail
-
getAttachedDocuments
public DocumentModelList getAttachedDocuments(CoreSession session)
Description copied from interface:DocumentRouteElement
Return the list of documents that this route processes.- Specified by:
getAttachedDocuments
in interfaceDocumentRouteElement
- Parameters:
session
- the session used to fetch the documents
-
run
public void run(CoreSession session)
Description copied from interface:DocumentRouteElement
Execute this element. If this is a step, it will run the operation, if this is a containter it will run its children.- Specified by:
run
in interfaceDocumentRouteElement
-
run
public void run(CoreSession session, Map<String,Serializable> map)
Description copied from interface:DocumentRouteElement
Execute this element. If this is a step, it will run the operation, if this is a container it will run its children.- Specified by:
run
in interfaceDocumentRouteElement
map
- the values to pass as initial workflow variables
-
resume
public void resume(CoreSession session, String nodeId, String taskId, Map<String,Object> data, String status)
Description copied from interface:DocumentRouteElement
Resumes execution on a route node.- Specified by:
resume
in interfaceDocumentRouteElement
- Parameters:
session
- the sessionnodeId
- the node id to resume ontaskId
- the task iddata
- the data coming from UI formstatus
- the id of the button clicked to submit the related task form
-
getDocumentRoute
public DocumentRoute getDocumentRoute(CoreSession session)
Description copied from interface:DocumentRouteElement
Return the DocumentRoute this element is part of.- Specified by:
getDocumentRoute
in interfaceDocumentRouteElement
- Parameters:
session
- The session use to fetch the route.
-
getDocument
public DocumentModel getDocument()
Description copied from interface:DocumentRouteElement
Get the underlying document representing this element.- Specified by:
getDocument
in interfaceDocumentRouteElement
-
getProperty
protected Object getProperty(String propertyName)
-
getName
public String getName()
Description copied from interface:DocumentRouteElement
The name of this element.- Specified by:
getName
in interfaceDocumentRouteElement
-
getTitle
public String getTitle()
- Specified by:
getTitle
in interfaceDocumentRouteElement
- Since:
- 7.2
-
isValidated
public boolean isValidated()
Description copied from interface:DocumentRouteElement
if the route this element is part of has been validated.- Specified by:
isValidated
in interfaceDocumentRouteElement
-
isReady
public boolean isReady()
Description copied from interface:DocumentRouteElement
if this element is ready.- Specified by:
isReady
in interfaceDocumentRouteElement
-
isDone
public boolean isDone()
Description copied from interface:DocumentRouteElement
if this route is done.- Specified by:
isDone
in interfaceDocumentRouteElement
-
checkLifeCycleState
protected boolean checkLifeCycleState(DocumentRouteElement.ElementLifeCycleState state)
-
getDescription
public String getDescription()
Description copied from interface:DocumentRouteElement
the description of this element.- Specified by:
getDescription
in interfaceDocumentRouteElement
-
isRunning
public boolean isRunning()
Description copied from interface:DocumentRouteElement
if this route is running.- Specified by:
isRunning
in interfaceDocumentRouteElement
-
isCanceled
public boolean isCanceled()
- Specified by:
isCanceled
in interfaceDocumentRouteElement
-
isDraft
public boolean isDraft()
Description copied from interface:DocumentRouteElement
if this route is draft.- Specified by:
isDraft
in interfaceDocumentRouteElement
-
setRunning
public void setRunning(CoreSession session)
Description copied from interface:DocumentRouteElement
set this element as running.- Specified by:
setRunning
in interfaceDocumentRouteElement
-
followTransition
public void followTransition(DocumentRouteElement.ElementLifeCycleTransistion transition, CoreSession session, boolean recursive)
Description copied from interface:DocumentRouteElement
make this element follow a transition.- Specified by:
followTransition
in interfaceDocumentRouteElement
- Parameters:
transition
- the followed transition.session
- the session used to follow the transition.recursive
- If this element has children, do we recurse the follow transition.- See Also:
BulkLifeCycleChangeListener
-
save
public void save(CoreSession session)
Description copied from interface:DocumentRouteElement
save the document representing this DocumentRoute.- Specified by:
save
in interfaceDocumentRouteElement
-
setDone
public void setDone(CoreSession session)
Description copied from interface:DocumentRouteElement
set this element as done.- Specified by:
setDone
in interfaceDocumentRouteElement
-
setValidated
public void setValidated(CoreSession session)
Description copied from interface:DocumentRouteElement
set this element as validated.- Specified by:
setValidated
in interfaceDocumentRouteElement
-
setReady
public void setReady(CoreSession session)
Description copied from interface:DocumentRouteElement
set this element as ready.- Specified by:
setReady
in interfaceDocumentRouteElement
-
validate
public void validate(CoreSession session)
Description copied from interface:DocumentRouteElement
Set this element to the validate state and put it in read only mode.- Specified by:
validate
in interfaceDocumentRouteElement
-
setReadOnly
public void setReadOnly(CoreSession session)
Description copied from interface:DocumentRouteElement
remove write rights to everyone but the administrators.- Specified by:
setReadOnly
in interfaceDocumentRouteElement
-
canValidateStep
public boolean canValidateStep(CoreSession session)
Description copied from interface:DocumentRouteElement
If this session can validate the step.- Specified by:
canValidateStep
in interfaceDocumentRouteElement
-
hasPermissionOnDocument
protected boolean hasPermissionOnDocument(CoreSession session, String permission)
-
setCanValidateStep
public void setCanValidateStep(CoreSession session, String userOrGroup)
Description copied from interface:DocumentRouteElement
make this user or group a validator for this step.- Specified by:
setCanValidateStep
in interfaceDocumentRouteElement
-
setPermissionOnDocument
protected void setPermissionOnDocument(CoreSession session, String userOrGroup, String permission)
-
canUpdateStep
public boolean canUpdateStep(CoreSession session)
Description copied from interface:DocumentRouteElement
If this session can update this step.- Specified by:
canUpdateStep
in interfaceDocumentRouteElement
-
setCanUpdateStep
public void setCanUpdateStep(CoreSession session, String userOrGroup)
Description copied from interface:DocumentRouteElement
make this user or group a step updater.- Specified by:
setCanUpdateStep
in interfaceDocumentRouteElement
-
setCanReadStep
public void setCanReadStep(CoreSession session, String userOrGroup)
Description copied from interface:DocumentRouteElement
make this user or group a step reader.- Specified by:
setCanReadStep
in interfaceDocumentRouteElement
-
canDeleteStep
public boolean canDeleteStep(CoreSession session)
Description copied from interface:DocumentRouteElement
If this session can delete this step.- Specified by:
canDeleteStep
in interfaceDocumentRouteElement
-
setCanDeleteStep
public void setCanDeleteStep(CoreSession session, String userOrGroup)
Description copied from interface:DocumentRouteElement
make this user or group step deleter.- Specified by:
setCanDeleteStep
in interfaceDocumentRouteElement
-
backToReady
public void backToReady(CoreSession session)
Description copied from interface:DocumentRouteElement
Set the step back to the ready state from running or done. This method only modify the step state, it does not run any other action (such as undoing the step action)- Specified by:
backToReady
in interfaceDocumentRouteElement
-
undo
public DocumentRouteStep undo(CoreSession session)
Description copied from interface:DocumentRouteStep
Undo this step. This operation run the undo operation on this element.- Specified by:
undo
in interfaceDocumentRouteStep
-
canUndoStep
public boolean canUndoStep(CoreSession session)
Description copied from interface:DocumentRouteElement
If this step can be undone. Default is to allow undoing only if the parent folder is running.- Specified by:
canUndoStep
in interfaceDocumentRouteElement
-
cancel
public void cancel(CoreSession session)
Description copied from interface:DocumentRouteElement
Cancel this element.- Specified by:
cancel
in interfaceDocumentRouteElement
-
setCanceled
public void setCanceled(CoreSession session)
Description copied from interface:DocumentRouteElement
Set the step to a cancel step. This method only modify the state of this element and does not run any other action.- Specified by:
setCanceled
in interfaceDocumentRouteElement
-
isModifiable
public boolean isModifiable()
- Specified by:
isModifiable
in interfaceDocumentRouteElement
- Returns:
- true
-
-