package org.jboss.windup.rules.apps.javaee.model;
import org.jboss.windup.graph.model.resource.ReportResourceFileModel;
import org.jboss.windup.rules.apps.java.model.JavaClassModel;
import org.jboss.windup.rules.apps.xml.model.XmlFileModel;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.frames.Adjacency;
import com.tinkerpop.frames.Property;
import com.tinkerpop.frames.modules.typedgraph.TypeValue;
/**
* Contains information regarding a JBPM 3 process model.
*/
@TypeValue(Jbpm3ProcessModel.TYPE)
public interface Jbpm3ProcessModel extends XmlFileModel
{
String TYPE = "Jbpm3ProcessModel";
String PROCESS_NAME = "processName";
String STATE_COUNT = "stateCount";
String NODE_COUNT = "nodeCount";
String DECISION_COUNT = "decisionCount";
String FORK_COUNT = "forkCount";
String SUBPROCESS_COUNT = "subProcessCount";
String TASK_COUNT = "taskCount";
String ACTION_HANDLERS = "actionHandlers";
String DECISION_HANDLERS = "decisionHandlers";
/**
* Contains the name of the process.
*/
@Property(PROCESS_NAME)
String getProcessName();
/**
* Contains the name of the process.
*/
@Property(PROCESS_NAME)
String setProcessName(String processName);
/**
* Contains a link to an image representing the process.
*/
@Adjacency(label = ReportResourceFileModel.TYPE, direction = Direction.OUT)
ReportResourceFileModel getProcessImage();
/**
* Contains a link to an image representing the process.
*/
@Adjacency(label = ReportResourceFileModel.TYPE, direction = Direction.OUT)
void setProcessImage(ReportResourceFileModel processImage);
@Property(DECISION_COUNT)
Integer getDecisionCount();
@Property(DECISION_COUNT)
Integer setDecisionCount(Integer decisionCount);
@Property(STATE_COUNT)
Integer getStateCount();
@Property(STATE_COUNT)
Integer setStateCount(Integer stateCount);
@Property(NODE_COUNT)
Integer getNodeCount();
@Property(NODE_COUNT)
Integer setNodeCount(Integer nodeCount);
@Property(FORK_COUNT)
Integer getForkCount();
@Property(FORK_COUNT)
Integer setForkCount(Integer forkCount);
@Property(SUBPROCESS_COUNT)
Integer getSubProcessCount();
@Property(SUBPROCESS_COUNT)
Integer setSubProcessCount(Integer subProcessCount);
@Property(TASK_COUNT)
Integer getTaskCount();
@Property(TASK_COUNT)
Integer setTaskCount(Integer taskCount);
/**
* Contains a list of action handlers used by this process.
*/
@Adjacency(label = ACTION_HANDLERS, direction = Direction.OUT)
void addActionHandler(final JavaClassModel javaClass);
/**
* Contains a list of action handlers used by this process.
*/
@Adjacency(label = ACTION_HANDLERS, direction = Direction.OUT)
Iterable<JavaClassModel> getActionHandlers();
/**
* Contains a list of decision handlers used by this process.
*/
@Adjacency(label = DECISION_HANDLERS, direction = Direction.OUT)
void addDecisionHandler(final JavaClassModel javaClass);
/**
* Contains a list of decision handlers used by this process.
*/
@Adjacency(label = DECISION_HANDLERS, direction = Direction.OUT)
Iterable<JavaClassModel> getDecisionHandlers();
}