package org.openntf.domino.graph2.builtin.workflow.definition; import org.openntf.domino.graph2.annotations.AdjacencyUnique; import org.openntf.domino.graph2.annotations.IncidenceUnique; import org.openntf.domino.graph2.builtin.DVertexFrame; import org.openntf.domino.graph2.builtin.workflow.Flowable; import com.tinkerpop.blueprints.Direction; public interface FlowDefinition extends DVertexFrame { /* BEGIN Starts relationships */ @IncidenceUnique(label = StartsWith.LABEL_STARTSWITH) public StartsWith getStartsWith(); @IncidenceUnique(label = StartsWith.LABEL_STARTSWITH) public StartsWith addStartsWith(TaskDefinition definition); @IncidenceUnique(label = StartsWith.LABEL_STARTSWITH) public void removeStartsWith(TaskDefinition definition); @AdjacencyUnique(label = StartsWith.LABEL_STARTSWITH) public TaskDefinition getStartTask(); @AdjacencyUnique(label = StartsWith.LABEL_STARTSWITH) public TaskDefinition addStartTask(TaskDefinition definition); @AdjacencyUnique(label = StartsWith.LABEL_STARTSWITH) public void removeStartTask(TaskDefinition definition); /* END Starts relationships */ /* BEGIN Finishes relationships */ @IncidenceUnique(label = Finishes.LABEL_FINISHES, direction = Direction.IN) public Iterable<Finishes> getFinishes(); @IncidenceUnique(label = Finishes.LABEL_FINISHES, direction = Direction.IN) public Finishes addFinishes(TaskDefinition definition); @IncidenceUnique(label = Finishes.LABEL_FINISHES, direction = Direction.IN) public void removeFinishes(TaskDefinition definition); @AdjacencyUnique(label = Finishes.LABEL_FINISHES, direction = Direction.IN) public Iterable<TaskDefinition> getFinishTasks(); @AdjacencyUnique(label = Finishes.LABEL_FINISHES, direction = Direction.IN) public TaskDefinition addFinishTask(TaskDefinition definition); @AdjacencyUnique(label = Finishes.LABEL_FINISHES, direction = Direction.IN) public void removeFinishTask(TaskDefinition definition); /* END Finishes relationships */ /* BEGIN Flowable relationships */ @IncidenceUnique(label = Uses.LABEL_FLOWABLEUSES, direction = Direction.IN) public Iterable<Uses> getUses(); @IncidenceUnique(label = Uses.LABEL_FLOWABLEUSES, direction = Direction.IN) public Uses addUses(Flowable flowable); @IncidenceUnique(label = Uses.LABEL_FLOWABLEUSES, direction = Direction.IN) public void removeUses(Flowable flowable); @AdjacencyUnique(label = Uses.LABEL_FLOWABLEUSES, direction = Direction.IN) public Iterable<Flowable> getUsesFlowables(); @AdjacencyUnique(label = Uses.LABEL_FLOWABLEUSES, direction = Direction.IN) public Flowable addUsesFlowable(Flowable flowable); @AdjacencyUnique(label = Uses.LABEL_FLOWABLEUSES, direction = Direction.IN) public void removeUsesFlowable(Flowable flowable); /* END Flowable relationships */ }