| java.lang.Object org.griphyn.vdl.router.Route
Route | public class Route (Code) | | This class traverses the dependency tree. The tree is built by
Derivation objects. The linkage is data-flow oriented.
If a derivation requires one or more input files, all derivations
that produce these files will be considered etc. Thus, a build-style
directed acyclic graph (DAG) is formed.
author: Jens-S. Vöckler author: Yong Zhao version: $Revision: 50 $ |
Inner Class :class DatabaseSchemaStack | |
Field Summary | |
final public static int | MAXIMUM_DEPTH Default max depths of recursion into the graph before the circuit
breaker hits. |
Constructor Summary | |
public | Route(DatabaseSchema backend) The constructor initializes the stack of definitions with the
default database manager backend. | public | Route(DatabaseSchema backend, Definitions defs) The constructor initializes the stack of definitions with the
default database manager backend. |
MAXIMUM_DEPTH | final public static int MAXIMUM_DEPTH(Code) | | Default max depths of recursion into the graph before the circuit
breaker hits.
|
Route | public Route(DatabaseSchema backend)(Code) | | The constructor initializes the stack of definitions with the
default database manager backend. This backend will be used to
pose the various search requests.
Parameters: backend - is the backend database manager. |
getArbiter | public Arbiter getArbiter()(Code) | | Queries the current arbitrarion instance.
a reference to the current arbiter for conflict resolution. |
getMaximumDepth | public int getMaximumDepth()(Code) | | Queries the current maximum depths that the router is willing to go.
the current maximum depth, or Integer.MAX_VALUE for unlimited. See Also: Route.setMaximumDepth(int) |
removeDefinitions | public DatabaseSchema removeDefinitions()(Code) | | Removes the current top of stack. Effective a pop() operation.
the top of stack as it was before the pop(). |
requestDerivation | public BookKeeper requestDerivation(Derivation dv)(Code) | | This helper method is the entry point when requesting a certain
derivation. As a result, a build-style DAG will be produced and
maintained in the book-keeping structure. FIXME: It is assumed that
the derivation is part of the DatabaseSchema that was used with the
c'tor.
Parameters: dv - is the derivation asked for. a new bookkeeper containing the DAG information. See Also: Route.requestDerivation(Collection) See Also: BookKeeper See Also: |
requestDerivation | public BookKeeper requestDerivation(Collection list)(Code) | | This helper method is the entry point when requesting a set of
derivations. As a result, a build-style DAG will be produced and
maintained in the book-keeping structure. Note that the resulting
graph may be disconnected. FIXME: It is assumed that the derivation
is part of the DatabaseSchema that was used with the c'tor.
Parameters: list - is the set of derivations to asked for. a new bookkeeper containing the DAG information. See Also: BookKeeper See Also: |
requestDerivation | public BookKeeper requestDerivation(String namespace, String name, String version)(Code) | | This helper retrieves a build-DAG for running the specified logical
derivation and all its required predecessors. It assumes a fully
qualified derivation specification.
Parameters: namespace - is the namespace the derivation lives in. A valueof Separator.DEFAULT will be assumed for a value of null. Parameters: name - is the name of the derivation. Although anonymousderivations are allowed, this method requires a named derivation. Parameters: version - is a version string within the minVersion and maxVersionrange defined by the derivation, which might be null. a book-keeping structure, or null, if either no matchingderivation was found. |
requestDerivation | public boolean requestDerivation(String namespace, String name, String version, BookKeeper state)(Code) | | This helper retrieves a DAX for running the specified logical
derivation match and all its required predecessors. It assumes a fully
qualified or partial-null derivation specification.
Parameters: namespace - is the namespace the derivation lives in. Null isthe joker value. Parameters: name - is the name of the derivation. Although anonymousderivations are allowed, this method requires a named derivation. Parameters: version - is a version string within the minVersion and maxVersionrange defined by the derivation, which might be null. Parameters: state - is the book-keeping structure true, if something was found, and false if not. |
requestDerivation | public boolean requestDerivation(Collection fqdi, BookKeeper state)(Code) | | This helper retrieves a DAX for a number of symbolically specified
derivations. The resulting graph may be disconnected. It assumes a
fully qualified or partial-null derivation specification.
Parameters: fqdi - is a collection of fully-qualified derivation identifiers. Parameters: state - is the book-keeping structure true, if something was found, and false if not. See Also: org.griphyn.common.util.Separator.splitFQDI(String) |
requestLfn | public BookKeeper requestLfn(String lfn)(Code) | | This method requests a data product logical filename. As a result,
the complete build-style DAG for producing the requested filename
will be constructed.
Parameters: lfn - is the filename that was requested the book-keeping information to construct the DAG. Pleasenote that it might be empty, if no derivation is known to producethe file. It will be null, if the definitionslist is empty. See Also: Route.requestLfn(Collection,BookKeeper) See Also: Route.requestLfn(String,BookKeeper,int,String) |
requestLfn | public void requestLfn(Collection list, BookKeeper state)(Code) | | This method requests multiple data product logical filenames. As a
result, the complete build-style DAG for producing the requested
filename will be constructed. Please note that the result may
constitute a disconnected graph.
Parameters: list - is a collection of logical filename strings. Parameters: state - is the book-keeping structure See Also: Route.requestLfn(String) See Also: Route.requestLfn(String,BookKeeper,int,String) |
setArbiter | public void setArbiter(Arbiter arbiter)(Code) | | Replaces the current arbiter with a new instance.
Parameters: arbiter - is a new instance of a conflict resolution class. |
setMaximumDepth | public void setMaximumDepth(int depth)(Code) | | Allows to limit the maximum depth that the router is willing to go.
Parameters: depth - is the maximum depth. Use Integer.MAX_VALUE for unlimited. See Also: Route.getMaximumDepth() |
|
|