📄 processstateimpl.java
字号:
package org.jbpm.model.definition.impl;
import org.jbpm.*;
import org.jbpm.delegation.*;
import org.jbpm.model.definition.*;
import org.jbpm.model.execution.impl.*;
public class ProcessStateImpl extends StateImpl implements ProcessState {
private String subProcessName = null;
private Definition subProcess = null;
private transient DelegationImpl processInvocationDelegation = null;
public ProcessStateImpl() {}
public ProcessStateImpl( String name ) {
super( name );
}
public String getSubProcessName() { return this.subProcessName; }
public void setSubProcessName(String subProcessName) { this.subProcessName = subProcessName; }
public Definition getSubProcess() { return this.subProcess; }
public void setSubProcess(Definition subProcess) { this.subProcess = subProcess; }
public DelegationImpl getProcessInvocationDelegation() { return processInvocationDelegation; }
public void setProcessInvocationDelegation( DelegationImpl processInvocationDelegation ) { this.processInvocationDelegation = processInvocationDelegation; }
public void acceptToken(ExecutionContextImpl executionContext) throws ExecutionException {
ProcessInvocationHandler processInvocationHandler = (ProcessInvocationHandler) processInvocationDelegation.instantiate();
ProcessInstanceImpl subProcessInstance = null;
try {
subProcessInstance = (ProcessInstanceImpl)processInvocationHandler.startSubProcess( executionContext );
} catch (RuntimeException e) {
processInvocationDelegation.handleException(e);
}
if ( subProcessInstance != null ) {
TokenImpl token = (TokenImpl) executionContext.getToken();
token.setActorId( null );
token.setState( this );
token.setSubProcessInstance( subProcessInstance );
} else {
throw new ExecutionException( "process-invocation-handler '" + processInvocationDelegation.getClassName() + "' didn't return a sub-process-instance at handleSubProcessStart in process-state '" + name + "'");
}
}
public void subProcessEnded(ExecutionContextImpl superExecutionContext, ExecutionContextImpl subExecutionContext) throws ExecutionException {
ProcessInvocationHandler processInvocationHandler = (ProcessInvocationHandler) processInvocationDelegation.instantiate();
String transitionName = processInvocationHandler.handleSubProcessEnd( superExecutionContext, subExecutionContext );
TransitionImpl transition = getLeavingTransition( transitionName );
transition.acceptToken( superExecutionContext );
}
public EventType getDefaultEventType() {
return EventType.PROCESS_STATE_ENTER;
}
public void toXml(org.dom4j.Element element) {
toXmlNameAndDescription(element);
processInvocationDelegation.toXml( element.addElement( "delegation" ) );
toXmlActions(element);
toXmlTransitions(element);
}
public String getTagName() {
return "process-state";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -