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.Task;
import com.tinkerpop.blueprints.Direction;
public interface TaskDefinition extends DVertexFrame {
/* BEGIN Starts relationships */
@IncidenceUnique(label = StartsWith.LABEL_STARTSWITH, direction = Direction.IN)
public Iterable<StartsWith> getStartsWith();
@IncidenceUnique(label = StartsWith.LABEL_STARTSWITH, direction = Direction.IN)
public StartsWith addStartsWith(FlowDefinition definition);
@IncidenceUnique(label = StartsWith.LABEL_STARTSWITH, direction = Direction.IN)
public void removeStartsWith(FlowDefinition definition);
@AdjacencyUnique(label = StartsWith.LABEL_STARTSWITH, direction = Direction.IN)
public Iterable<FlowDefinition> getStartFlows();
@AdjacencyUnique(label = StartsWith.LABEL_STARTSWITH, direction = Direction.IN)
public FlowDefinition addStartFlow(FlowDefinition definition);
@AdjacencyUnique(label = StartsWith.LABEL_STARTSWITH, direction = Direction.IN)
public void removeStartFlow(FlowDefinition definition);
/* END Starts relationships */
/* BEGIN Finishes relationships */
@IncidenceUnique(label = Finishes.LABEL_FINISHES)
public Iterable<Finishes> getFinishes();
@IncidenceUnique(label = Finishes.LABEL_FINISHES)
public Finishes addFinishes(FlowDefinition definition);
@IncidenceUnique(label = Finishes.LABEL_FINISHES)
public void removeFinishes(FlowDefinition definition);
@AdjacencyUnique(label = Finishes.LABEL_FINISHES)
public Iterable<FlowDefinition> getFinishFlows();
@AdjacencyUnique(label = Finishes.LABEL_FINISHES)
public FlowDefinition addFinishFlow(FlowDefinition definition);
@AdjacencyUnique(label = Finishes.LABEL_FINISHES)
public void removeFinishFlow(FlowDefinition definition);
/* END Finishes relationships */
/* BEGIN FollowedBy relationships */
@IncidenceUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public Iterable<FollowedBy> getFollowedBys();
@IncidenceUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public FollowedBy addFollowedBy(TaskDefinition definition);
@IncidenceUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public void removeFollowedBy(TaskDefinition definition);
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public Iterable<TaskDefinition> getFollowedByTasks();
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public TaskDefinition addFollowedByTask(TaskDefinition definition);
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public void removeFollowedByTask(TaskDefinition definition);
/* END FollowedBy relationships */
/* BEGIN Follows relationships */
@IncidenceUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY, direction = Direction.IN)
public Iterable<FollowedBy> getFollows();
@IncidenceUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY, direction = Direction.IN)
public FollowedBy addFollows(TaskDefinition definition);
@IncidenceUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY, direction = Direction.IN)
public void removeFollows(TaskDefinition definition);
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY, direction = Direction.IN)
public Iterable<TaskDefinition> getFollowsTasks();
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY, direction = Direction.IN)
public TaskDefinition addFollowsTask(TaskDefinition definition);
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY, direction = Direction.IN)
public void removeFollowsTask(TaskDefinition definition);
/* END Follows relationships */
/* BEGIN Defines relationships */
@IncidenceUnique(label = Defines.LABEL_FLOWABLEDEFINES)
public Iterable<Defines> getDefines();
@IncidenceUnique(label = Defines.LABEL_FLOWABLEDEFINES)
public Defines addDefines(Task task);
@IncidenceUnique(label = Defines.LABEL_FLOWABLEDEFINES)
public void removeDefines(Task task);
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public Iterable<Task> getDefinesTasks();
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public Task addDefinesTask(Task task);
@AdjacencyUnique(label = FollowedBy.LABEL_FLOWFOLLOWEDBY)
public void removeDefinesTask(Task task);
/* END Defines relationships */
}