Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
This file is part of Sarasvati.
Sarasvati is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
Sarasvati is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with Sarasvati. If not, see .
Copyright 2008-2009 Paul Lorenz
*/
package com.googlecode.sarasvati.load;
import java.util.List;
import com.googlecode.sarasvati.Arc;
import com.googlecode.sarasvati.ArcToken;
import com.googlecode.sarasvati.ArcTokenSetMember;
import com.googlecode.sarasvati.CustomNode;
import com.googlecode.sarasvati.Engine;
import com.googlecode.sarasvati.ExecutionType;
import com.googlecode.sarasvati.External;
import com.googlecode.sarasvati.Graph;
import com.googlecode.sarasvati.GraphProcess;
import com.googlecode.sarasvati.JoinType;
import com.googlecode.sarasvati.Node;
import com.googlecode.sarasvati.NodeToken;
import com.googlecode.sarasvati.NodeTokenSetMember;
import com.googlecode.sarasvati.TokenSet;
import com.googlecode.sarasvati.load.definition.CustomDefinition;
public interface GraphFactory
{
/**
* Generates a new graph instance with the given name and version.
*
* @param name The name of the graph to create
* @param version The version of the graph to create
* @param customId The custom id of the graph.
*
* @return A new {@link Graph}
*/
Graph newGraph (String name, int version, String customId);
/**
* Creates a new {@link Arc} with given start node, end node and node name.
*
* @param startNode The arc starting node
* @param endNode The arc ending node
* @param name The arc name
*
* @return The new Arc
*
* @throws SarasvatiLoadException If the arc can not be created, or if it is passed invalid data.
*/
Arc newArc (Graph graph, Node startNode, Node endNode, String name) throws SarasvatiLoadException;
/**
* Creates a new {@link Node}.
*
* @param graph The graph which the node is part of
* @param name The node name
* @param type The node type
* @param joinType The node's join type
* @param joinParam The node's join parameter.
* @param isStart Indicates whether the node is a start node
* @param guard The node guard
* @param customList A list of custom attributes from the process definition. May be empty or null.
*
* @return The new Node
*
* @throws SarasvatiLoadException If an error occurs while loading, such as incorrect custom data is given.
*/
Node newNode (Graph graph,
String name,
String type,
JoinType joinType,
String joinParam,
boolean isStart,
String guard,
List