Package uk.ac.starlink.ttools.cea
Class CeaWriter
- java.lang.Object
-
- uk.ac.starlink.util.XmlWriter
-
- uk.ac.starlink.ttools.cea.CeaWriter
-
- Direct Known Subclasses:
ImplementationCeaWriter
,ServiceCeaWriter
public abstract class CeaWriter extends uk.ac.starlink.util.XmlWriter
Writes an application description file suitable for use with the AstroGrid Common Execution Architecture.There are variants of the format according to what the purpose of the output XML will be. This class is an abstract superclass providing common methods whose concrete subclasses do the actual writing.
This makes a best effort at providing a CEA-friendly interface to the capabilities of STILTS. Call the
main(java.lang.String[])
method with the-help
flag for a usage message.- Since:
- 17 March 2006
- Author:
- Mark Taylor
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract int
configure(java.lang.String[] args)
Hook for additional configuration of concrete subclasses using command-line flags.protected void
endElement(ElementDeclaration el)
Convenience method to end an element described by an ElementDeclaration.abstract java.lang.String
getSchemaLocation()
Returns the URL of the schema to which the output of this object conforms.static void
main(java.lang.String[] args)
Main method.protected void
startElement(ElementDeclaration el)
Convenience method to start an element described by an ElementDeclaration.protected void
startElement(ElementDeclaration el, java.lang.String moreAtts)
Convenience method to start an element described by an ElementDeclaration with supplied attributes.protected abstract void
writeContent()
Performs the implementation-specific output of XML elements.void
writeDocument()
Writes the configuration XML document.protected void
writeInterfaces()
Writes an Interfaces element suitable for use with CEA.protected void
writeParameters()
Writes a Parameters element suitable for use with CEA.
-
-
-
Constructor Detail
-
CeaWriter
protected CeaWriter(java.io.PrintStream out, CeaConfig config, CeaTask[] tasks, boolean redirects, java.lang.String cmdline)
Constructor.- Parameters:
out
- output stream for XMLconfig
- configuration object for the specific flavour of outputtasks
- list of tasks to be described by the outputredirects
- true iff you want stdout/stderr parameters for standard output/error redirectioncmdline
- command line string, used for logging within the output only
-
-
Method Detail
-
configure
public abstract int configure(java.lang.String[] args)
Hook for additional configuration of concrete subclasses using command-line flags.- Parameters:
args
- array of command-line arguments all of which are directed at this object (any generic ones will have been removed)- Returns:
- 0 for success, otherwise an error status
-
writeDocument
public void writeDocument() throws org.xml.sax.SAXException
Writes the configuration XML document.- Throws:
org.xml.sax.SAXException
-
writeContent
protected abstract void writeContent() throws org.xml.sax.SAXException
Performs the implementation-specific output of XML elements. Invoked bywriteDocument()
; presumably invokeswriteParameters()
andwriteInterfaces()
.- Throws:
org.xml.sax.SAXException
-
getSchemaLocation
public abstract java.lang.String getSchemaLocation()
Returns the URL of the schema to which the output of this object conforms.- Returns:
- validation schema location
-
writeParameters
protected void writeParameters() throws org.xml.sax.SAXException
Writes a Parameters element suitable for use with CEA.- Throws:
org.xml.sax.SAXException
-
writeInterfaces
protected void writeInterfaces() throws org.xml.sax.SAXException
Writes an Interfaces element suitable for use with CEA.- Throws:
org.xml.sax.SAXException
-
startElement
protected void startElement(ElementDeclaration el)
Convenience method to start an element described by an ElementDeclaration. No attributes are written.- Parameters:
el
- element
-
startElement
protected void startElement(ElementDeclaration el, java.lang.String moreAtts)
Convenience method to start an element described by an ElementDeclaration with supplied attributes.- Parameters:
el
- elementmoreAtts
- formatted attribute string additional to any defined by the element declaration
-
endElement
protected void endElement(ElementDeclaration el)
Convenience method to end an element described by an ElementDeclaration.- Parameters:
el
- element
-
main
public static void main(java.lang.String[] args) throws uk.ac.starlink.util.LoadException, org.xml.sax.SAXException
Main method. Run with-help
for a usage message.- Parameters:
args
- argument list- Throws:
uk.ac.starlink.util.LoadException
org.xml.sax.SAXException
-
-