Package org.eigenbase.xom
Class MetaGenerator
- java.lang.Object
-
- org.eigenbase.xom.MetaGenerator
-
public class MetaGenerator extends java.lang.ObjectMetaGeneratoris a utility class which reads a XOM Meta Model description in XML and generates the corresponding .dtd and .java definition files. MetaGenerator is invoked during the build process to help generate files for the build.
-
-
Constructor Summary
Constructors Modifier Constructor Description MetaGenerator(java.lang.String xmlFile, boolean testMode)Construct a MetaGenerator from an XML file.protectedMetaGenerator(java.lang.String xmlFile, boolean testMode, java.lang.String className)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddebugDisplay()Display information about this generator for debug purposes.org.eigenbase.xom.MetaGenerator.TypeInfogetTypeInfo(java.lang.String name, boolean fail)Return the TypeInfo class associated with the given name.static voidmain(java.lang.String[] args)Main function for MetaGenerator.voidwriteDtd(java.io.PrintWriter out)voidwriteFiles(java.lang.String outputDirName, java.lang.String dtdFileName)Create all files associated with the metamodel, including a Java class and a DTD file.voidwriteJava(java.io.PrintWriter out)voidwriteJavaDeclareAnyContent(java.io.PrintWriter out, boolean mixed)voidwriteJavaDeclareAttribute(java.io.PrintWriter out, MetaDef.Attribute attr)voidwriteJavaDeclareCDataContent(java.io.PrintWriter out)voidwriteJavaDeclareContent(java.io.PrintWriter out, MetaDef.Content content)voidwriteJavaDeclarePluginAttributes(java.io.PrintWriter out)voidwriteJavaDeclarePluginContent(java.io.PrintWriter out, boolean mixed)voidwriteJavaDisplayAnyContent(java.io.PrintWriter out)voidwriteJavaDisplayAttribute(java.io.PrintWriter out, MetaDef.Attribute attr)voidwriteJavaDisplayCDataContent(java.io.PrintWriter out)voidwriteJavaDisplayContent(java.io.PrintWriter out, MetaDef.Content content)voidwriteJavaDisplayDiffAnyContent(java.io.PrintWriter out, int[] diffCount)voidwriteJavaDisplayDiffAttribute(java.io.PrintWriter out, int[] diffCount, MetaDef.Attribute attr)voidwriteJavaDisplayDiffCDataContent(java.io.PrintWriter out, int[] diffCount)voidwriteJavaDisplayDiffContent(java.io.PrintWriter out, int[] diffCount, MetaDef.Content content)voidwriteJavaDisplayDiffPluginAttributes(java.io.PrintWriter out, int[] diffCount)voidwriteJavaDisplayDiffPluginContent(java.io.PrintWriter out, int[] diffCount)voidwriteJavaDisplayPluginAttributes(java.io.PrintWriter out)voidwriteJavaDisplayPluginContent(java.io.PrintWriter out)voidwriteJavaDisplayXMLAnyContent(java.io.PrintWriter out)voidwriteJavaDisplayXMLAttribute(java.io.PrintWriter out, MetaDef.Attribute attr)voidwriteJavaDisplayXMLCDataContent(java.io.PrintWriter out)voidwriteJavaDisplayXMLContent(java.io.PrintWriter out, MetaDef.Content content)voidwriteJavaDisplayXMLPluginAttributes(java.io.PrintWriter out)voidwriteJavaDisplayXMLPluginContent(java.io.PrintWriter out)voidwriteJavaGetAnyContent(java.io.PrintWriter out, boolean mixed)voidwriteJavaGetAttribute(java.io.PrintWriter out, MetaDef.Attribute attr)voidwriteJavaGetCDataContent(java.io.PrintWriter out)voidwriteJavaGetContent(java.io.PrintWriter out, MetaDef.Content content)voidwriteJavaGetPluginContent(java.io.PrintWriter out, boolean mixed)voidwriteOutputs()Write the name of the dtd file and java class to standard output.
-
-
-
Constructor Detail
-
MetaGenerator
public MetaGenerator(java.lang.String xmlFile, boolean testMode) throws XOMException, java.io.IOExceptionConstruct a MetaGenerator from an XML file. The XML should meet the specifications of the XOM Meta Model.- Parameters:
xmlFile- a filename for the xml description of the model to be processed.- Throws:
XOMExceptionjava.io.IOException
-
MetaGenerator
protected MetaGenerator(java.lang.String xmlFile, boolean testMode, java.lang.String className) throws XOMException, java.io.IOException- Throws:
XOMExceptionjava.io.IOException
-
-
Method Detail
-
getTypeInfo
public org.eigenbase.xom.MetaGenerator.TypeInfo getTypeInfo(java.lang.String name, boolean fail) throws XOMExceptionReturn the TypeInfo class associated with the given name.- Throws:
XOMException- if the type has not been defined- Post-condition:
- fail == false || return != null
-
writeFiles
public void writeFiles(java.lang.String outputDirName, java.lang.String dtdFileName) throws XOMException, java.io.IOExceptionCreate all files associated with the metamodel, including a Java class and a DTD file. The DTD is primarily for reference--it will not work if any advanced features (plugins, includes) are used.- Parameters:
outputDirName- the output directory in which to generate the files.- Throws:
XOMExceptionjava.io.IOException
-
writeDtd
public void writeDtd(java.io.PrintWriter out) throws XOMException- Throws:
XOMException
-
writeJava
public void writeJava(java.io.PrintWriter out) throws XOMException- Throws:
XOMException
-
writeJavaGetAttribute
public void writeJavaGetAttribute(java.io.PrintWriter out, MetaDef.Attribute attr) throws XOMException- Throws:
XOMException
-
writeJavaDeclareAttribute
public void writeJavaDeclareAttribute(java.io.PrintWriter out, MetaDef.Attribute attr) throws XOMException- Throws:
XOMException
-
writeJavaDisplayAttribute
public void writeJavaDisplayAttribute(java.io.PrintWriter out, MetaDef.Attribute attr) throws XOMException- Throws:
XOMException
-
writeJavaDisplayXMLAttribute
public void writeJavaDisplayXMLAttribute(java.io.PrintWriter out, MetaDef.Attribute attr) throws XOMException- Throws:
XOMException
-
writeJavaDisplayDiffAttribute
public void writeJavaDisplayDiffAttribute(java.io.PrintWriter out, int[] diffCount, MetaDef.Attribute attr) throws XOMException- Throws:
XOMException
-
writeJavaGetContent
public void writeJavaGetContent(java.io.PrintWriter out, MetaDef.Content content) throws XOMException- Throws:
XOMException
-
writeJavaGetAnyContent
public void writeJavaGetAnyContent(java.io.PrintWriter out, boolean mixed)
-
writeJavaGetCDataContent
public void writeJavaGetCDataContent(java.io.PrintWriter out)
-
writeJavaDeclareContent
public void writeJavaDeclareContent(java.io.PrintWriter out, MetaDef.Content content) throws XOMException- Throws:
XOMException
-
writeJavaDeclareAnyContent
public void writeJavaDeclareAnyContent(java.io.PrintWriter out, boolean mixed)
-
writeJavaDeclareCDataContent
public void writeJavaDeclareCDataContent(java.io.PrintWriter out)
-
writeJavaDisplayContent
public void writeJavaDisplayContent(java.io.PrintWriter out, MetaDef.Content content) throws XOMException- Throws:
XOMException
-
writeJavaDisplayAnyContent
public void writeJavaDisplayAnyContent(java.io.PrintWriter out)
-
writeJavaDisplayCDataContent
public void writeJavaDisplayCDataContent(java.io.PrintWriter out)
-
writeJavaDisplayXMLContent
public void writeJavaDisplayXMLContent(java.io.PrintWriter out, MetaDef.Content content) throws XOMException- Throws:
XOMException
-
writeJavaDisplayXMLAnyContent
public void writeJavaDisplayXMLAnyContent(java.io.PrintWriter out)
-
writeJavaDisplayXMLCDataContent
public void writeJavaDisplayXMLCDataContent(java.io.PrintWriter out)
-
writeJavaDisplayDiffContent
public void writeJavaDisplayDiffContent(java.io.PrintWriter out, int[] diffCount, MetaDef.Content content) throws XOMException- Throws:
XOMException
-
writeJavaDisplayDiffAnyContent
public void writeJavaDisplayDiffAnyContent(java.io.PrintWriter out, int[] diffCount)
-
writeJavaDisplayDiffCDataContent
public void writeJavaDisplayDiffCDataContent(java.io.PrintWriter out, int[] diffCount)
-
writeJavaDeclarePluginAttributes
public void writeJavaDeclarePluginAttributes(java.io.PrintWriter out)
-
writeJavaDisplayPluginAttributes
public void writeJavaDisplayPluginAttributes(java.io.PrintWriter out)
-
writeJavaDisplayXMLPluginAttributes
public void writeJavaDisplayXMLPluginAttributes(java.io.PrintWriter out)
-
writeJavaDisplayDiffPluginAttributes
public void writeJavaDisplayDiffPluginAttributes(java.io.PrintWriter out, int[] diffCount)
-
writeJavaGetPluginContent
public void writeJavaGetPluginContent(java.io.PrintWriter out, boolean mixed)
-
writeJavaDeclarePluginContent
public void writeJavaDeclarePluginContent(java.io.PrintWriter out, boolean mixed)
-
writeJavaDisplayPluginContent
public void writeJavaDisplayPluginContent(java.io.PrintWriter out)
-
writeJavaDisplayXMLPluginContent
public void writeJavaDisplayXMLPluginContent(java.io.PrintWriter out)
-
writeJavaDisplayDiffPluginContent
public void writeJavaDisplayDiffPluginContent(java.io.PrintWriter out, int[] diffCount)
-
writeOutputs
public void writeOutputs()
Write the name of the dtd file and java class to standard output. This output is used by shell scripts to grab these values. The output is only produced in test mode.
-
main
public static void main(java.lang.String[] args)
Main function for MetaGenerator. Arguments:- Name of XML file describing input model.
- Name of output file directory.
-
debugDisplay
public void debugDisplay()
Display information about this generator for debug purposes.
-
-