|
||||||||||
| 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.Call
public class Call
Call is an implementation of an anonymous
Derivation. A call describes the mutable part
concerning input, processing, and output (IPO). Calls can
only be part of a CompoundTransformation.
A call parametrizes the template provided by a
Transformation with actual values. Think of a call
as something akin to a C function call. The call provides the
actual parameter to a job. The immutable parts are hidden in a
Transformation.
FIXME: A Call is essentially an anonymous
Derivation that occurs within a
CompoundTransformation. Thus, the first two should
share code. Also, the latter two already share code. Therefore,
the class hierarchies need to be re-designed, and attribute groups
should be out-sourced.
Definition,
Definitions,
Transformation,
Derivation,
Serialized Form| Field Summary | |
|---|---|
private String |
m_id
This is the sequence number assigned by the c'tor to this call. |
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 Calls may have a name of their own,
most of the times, though, calls are anonymous. |
private String |
m_usesspace
The namespace in which a call resides can differ from the namespace that the transformation lives in. |
private static SequenceGenerator |
s_sequence
Since Call is an anonymous Derivation,
we still need some unique identifiers for the call. |
| Constructor Summary | |
|---|---|
Call()
ctor. |
|
Call(String uses)
Convenience ctor: Names the used Transformation |
|
Call(String uses,
String min,
String max)
Convenience ctor: Supplies the used Transformation
as well as the permissable version range. |
|
| 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 of a given scalar 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. |
String |
getUses()
Accessor: Obtains the name of the logical Transformation
that this call refers to. |
String |
getUsesspace()
Accessor: Obtains the namespace of the logical Transformation
that this call refers to. |
String |
identify()
Since calls are anonymous derivations, this function can only construct the mapped transformation |
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. |
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. |
String |
shortID()
Generates a pseudo id for this 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.Chimera |
|---|
escape, quote, toString, toXML, toXML, writeAttribute |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private String m_uses
Calls may have a name of their own,
most of the times, though, calls are anonymous. A call
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.
private static SequenceGenerator s_sequence
Call is an anonymous Derivation,
we still need some unique identifiers for the call. This is a
sequence generator.
private String m_id
| Constructor Detail |
|---|
public Call()
public Call(String uses)
Transformation
uses - is the name of the TransformationTransformation
public Call(String uses,
String min,
String max)
Transformation
as well as the permissable version range.
uses - is the name of the Transformation.min - is the minimum inclusive permissable version.max - is the maximum inclusive permissable version.Transformation| Method Detail |
|---|
public 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 to check for, -1 for any linkage.
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 Iterator iteratePass()
Pass list with.Passpublic String getUses()
Transformation
that this call refers to.
getUses in interface HasPasssetUses( java.lang.String )public String getUsesspace()
Transformation
that this call refers to.
getUsesspace in interface HasPasssetUsesspace( java.lang.String )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.
Derivation.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 shortID()
shortID in interface HasPassObject.hashCode()public String identify()
identify in interface HasPass
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 | |||||||||