|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.griphyn.vdl.Chimera
org.griphyn.vdl.classes.VDL
org.griphyn.vdl.classes.Definition
org.griphyn.vdl.classes.Derivation
public class Derivation
Derivation is an implementation of an abstract VDL
Definition. A derivation describes the mutable part
concerning input, processing, and output (IPO) when calling an
application. The environment is part of the capture.
A derivation parametrizes the template provided by a
Transformation with actual values. Think of a derivation
as something akin to a C function call. The derivation provides the
actual parameter to a job. The immutable parts are hidden in a
Transformation.
Definition,
Definitions,
Transformation,
Serialized Form| Field Summary | |
|---|---|
private String |
m_maxIncludeVersion
Any Transformation may exist in multiple versions. |
private String |
m_minIncludeVersion
Any Transformation may exist in multiple versions. |
private TreeMap |
m_passMap
Actual arguments used when calling a Transformation are
matched up with the formal arguments of the transformation by their
names. |
private String |
m_uses
Though most Derivations may have a name of their own,
most of the times, though, derivations are anonymous. |
private String |
m_usesspace
The namespace in which a derivation resides can differ from the namespace that the transformation lives in. |
| Fields inherited from class org.griphyn.vdl.classes.Definition |
|---|
DERIVATION, TRANSFORMATION |
| Constructor Summary | |
|---|---|
Derivation()
ctor. |
|
Derivation(String name,
String uses)
Convenience ctor: Names a derivation and the used Transformation |
|
Derivation(String name,
String uses,
Pass firstChild)
Convenience ctor: Names the derivation and supplies the used Transformation, and the first actual argument. |
|
Derivation(String name,
String uses,
String min,
String max)
Convenience ctor: Names a derivation and supplies the used Transformation as well as the permissable version
range. |
|
Derivation(String ns,
String name,
String version,
String us,
String uses,
String min,
String max)
Complete ctor: Constructs the full three part Derivation
identifier, and four part Transformation mapper. |
|
| Method Summary | |
|---|---|
void |
addPass(Pass vPass)
Accessor: Adds an actual argument to the bag of arguments. |
boolean |
containsLFN(String filename,
int linkage)
Determines if the list contains an LFN of the specified linkage. |
Enumeration |
enumeratePass()
Deprecated. Use the new Collection based interfaces |
List |
getLFNList(int linkage)
Determines all LFN instances from the actual arguments of a given derivation that match the specified linkage. |
String |
getMaxIncludeVersion()
Accessor: Obtains the maximum inclusive version permissable for binding to a Transformation. |
String |
getMinIncludeVersion()
Accessor: Obtains the minimum inclusive version permissable for binding to a Transformation. |
Pass[] |
getPass()
Deprecated. Use the new Collection based interfaces |
Pass |
getPass(String name)
Accessor: Obtains an actual argument identified by the bound variable. |
int |
getPassCount()
Accessor: Counts the number of actual arguments. |
List |
getPassList()
Accessor: Gets an array of all values that constitute the current content. |
Map |
getPassMap()
Accessor: Obtains all actual arguments. |
int |
getType()
Type accessor for quick distinction between definitions. |
String |
getUses()
Accessor: Obtains the name of the logical Transformation
that this derivation refers to. |
String |
getUsesspace()
Accessor: Obtains the namespace of the logical Transformation
that this derivation refers to. |
String |
identify()
Constructs dynamically a short descriptive, hopefully unique identifier for this derivation. |
Iterator |
iteratePass()
Accessor: Provides an iterator for the bag of actual arguments. |
boolean |
match(String version)
Instance method for matching an external version against the inclusive version range. |
static boolean |
match(String version,
String minInc,
String maxInc)
Matches an external version string against the internal range. |
void |
removeAllPass()
Accessor: Removes all actual arguments. |
Pass |
removePass(String name)
Accessor: Removes a specific actual argument. |
void |
setMaxIncludeVersion(String miv)
Accessor: Sets the maximum inclusive permissable version of a logical transformation to run with. |
void |
setMinIncludeVersion(String miv)
Accessor: Sets the minimum inclusive permissable version of a logical transformation to run with. |
void |
setPass(Collection passes)
Accessor: Replaces the bag of actual argument with a bag of new arguments. |
void |
setPass(Map passes)
Accessor: Replaces the bag of actual argument with a map of new arguments. |
void |
setPass(Pass vPass)
Accessor: Adds a new or overwrites an existing actual argument. |
void |
setPass(Pass[] passArray)
Deprecated. Use the new Collection based interfaces |
void |
setUses(String uses)
Accessor: Sets a new name for a logical Transformation
to call. |
void |
setUsesspace(String usesspace)
Accessor: Sets a new namespace identifier for a logical Transformation to call. |
void |
toString(Writer stream)
Dumps the content of the given element into a string. |
void |
toXML(Writer stream,
String indent,
String namespace)
Dump the state of the current element as XML output. |
| Methods inherited from class org.griphyn.vdl.classes.Definition |
|---|
compareTo, equals, getDescription, getKeyword, getName, getNamespace, getTitle, getUrl, getVersion, hashCode, match, setDescription, setKeyword, setName, setNamespace, setTitle, setUrl, setVersion, shortID, shortID, toXML, toXML |
| Methods inherited from class org.griphyn.vdl.Chimera |
|---|
escape, quote, toString, toXML, toXML, writeAttribute |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.griphyn.vdl.classes.HasPass |
|---|
shortID |
| Field Detail |
|---|
private String m_uses
Derivations may have a name of their own,
most of the times, though, derivations are anonymous. A derivation
must provide the name of the Transformation that
it calls, though.
Definition,
Transformationprivate String m_usesspace
Transformation to call.
Definition,
Transformationprivate String m_maxIncludeVersion
Transformation may exist in multiple versions.
This argument specifies the minimum permissable version that can
be used. FIXME: versioning is not really supported.
private String m_minIncludeVersion
Transformation may exist in multiple versions.
This argument specifies the maximum permissable version that can
be used. FIXME: versioning is not really supported.
private TreeMap m_passMap
Transformation are
matched up with the formal arguments of the transformation by their
names.
| Constructor Detail |
|---|
public Derivation()
public Derivation(String name,
String uses)
Transformation
name - is the name of the Derivationuses - is the name of the TransformationTransformation
public Derivation(String name,
String uses,
String min,
String max)
Transformation as well as the permissable version
range.
name - is the name of the Derivation.uses - is the name of the Transformation.min - is the minimum inclusive permissable version.max - is the maximum inclusive permissable version.Transformation
public Derivation(String ns,
String name,
String version,
String us,
String uses,
String min,
String max)
Derivation
identifier, and four part Transformation mapper.
ns - is then namespace of the Derivation.name - is the name of the Derivation.version - is the version of the Derivation.us - is the namespace to search for a Transformation.uses - is the name of the Transformation.min - is the minimum inclusive permissable version.max - is the maximum inclusive permissable version.Transformation
public Derivation(String name,
String uses,
Pass firstChild)
Transformation, and the first actual argument.
name - is the name of the Derivation.uses - is the name of the Transformation.firstChild - is a first (possibly only) actual argument.Transformation,
Pass| Method Detail |
|---|
public int getType()
getType in class DefinitionDefinition.DERIVATIONpublic void addPass(Pass vPass)
addPass in interface HasPassvPass - is the new actual argument to add.Passpublic Enumeration enumeratePass()
enumeratePass in interface HasPassPass elements.Pass,
Enumerationpublic List getLFNList(int linkage)
getLFNList in interface HasPasslinkage - is the linkage type to match against, -1 for all
files.
Value.getLFNList( int ),
LFN
public boolean containsLFN(String filename,
int linkage)
containsLFN in interface HasPassfilename - is the name of the LFNlinkage - is the linkage to check for, -1 for any linkage type.
Value.containsLFN( String, int ),
LFNpublic String getMaxIncludeVersion()
Transformation.
getMaxIncludeVersion in interface HasPasssetMaxIncludeVersion( java.lang.String )public String getMinIncludeVersion()
Transformation.
getMinIncludeVersion in interface HasPasssetMinIncludeVersion( java.lang.String )public Pass getPass(String name)
getPass in interface HasPassname - is the binding name.
Passpublic Pass[] getPass()
getPass in interface HasPassPasspublic int getPassCount()
getPassCount in interface HasPasspublic List getPassList()
Pass elements.Passpublic Map getPassMap()
Passpublic String getUses()
Transformation
that this derivation refers to.
getUses in interface HasPasssetUses( java.lang.String )public String getUsesspace()
Transformation
that this derivation refers to.
getUsesspace in interface HasPasssetUsesspace( java.lang.String )public Iterator iteratePass()
Pass list with.Pass
public static boolean match(String version,
String minInc,
String maxInc)
null values, internally as well as
an external null value.
vers. min max result ----- ---- ----- ------ null null null true null * null true null null * true null * * true * null null true "A" "B" null false "B" "B" null true "C" "B" null true "A" null "B" true "B" null "B" true "C" null "B" false "A" "B" "B" false "B" "B" "B" true "C" "B" "B" false
version - is an externally supplied version to be checked,
if it is within the inclusive interval of min and max.minInc - is the minimum inclusive version of the range.maxInc - is the maximum inclusive version of the range.
public boolean match(String version)
version - is an externally supplied version to be checked,
if it is within the inclusive interval of min and max.
match( String, String, String )public void removeAllPass()
removeAllPass in interface HasPasspublic Pass removePass(String name)
removePass in interface HasPassname - is the bound variable name of the argument to remove.
Passpublic void setMaxIncludeVersion(String miv)
miv - is the (new) maximum inclusive version.getMaxIncludeVersion()public void setMinIncludeVersion(String miv)
miv - is the (new) minimum inclusive version.getMinIncludeVersion()public void setPass(Pass vPass)
setPass in interface HasPassvPass - is a new actual argument with bound name and value.Passpublic void setPass(Pass[] passArray)
setPass in interface HasPasspassArray - is the new actual argument list.Passpublic void setPass(Collection passes)
passes - is the new actual argument collection.Passpublic void setPass(Map passes)
passes - is the new actual argument map.Passpublic void setUses(String uses)
Transformation
to call.
uses - is the new name of the Transformation to use.getUses(),
Transformationpublic void setUsesspace(String usesspace)
Transformation to call.
usesspace - is the new namespace of the
Transformation.getUsesspace(),
Transformationpublic String identify()
identify in interface HasPassidentify in class DefinitionObject.hashCode()
public void toString(Writer stream)
throws IOException
toString in class Chimerastream - is a stream opened and ready for writing. This can also
be a string stream for efficient output.
IOException - if something fishy happens to the stream.
public void toXML(Writer stream,
String indent,
String namespace)
throws IOException
toXML in class Chimerastream - is a stream opened and ready for writing. This can also
be a string stream for efficient output.indent - is a String of spaces used for pretty
printing. The initial amount of spaces should be an empty string.
The parameter is used internally for the recursive traversal.
If a null value is specified, no indentation nor
linefeeds will be generated.namespace - is the XML schema namespace prefix. If neither
empty nor null, each element will be prefixed with this prefix,
and the root element will map the XML namespace.
IOException - if something fishy happens to the stream.Chimera.writeAttribute( Writer, String, String )
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||