Class MetaGenerator


  • public class MetaGenerator
    extends java.lang.Object
    MetaGenerator is 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 Detail

      • MetaGenerator

        public MetaGenerator​(java.lang.String xmlFile,
                             boolean testMode)
                      throws XOMException,
                             java.io.IOException
        Construct 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:
        XOMException
        java.io.IOException
      • MetaGenerator

        protected MetaGenerator​(java.lang.String xmlFile,
                                boolean testMode,
                                java.lang.String className)
                         throws XOMException,
                                java.io.IOException
        Throws:
        XOMException
        java.io.IOException
    • Method Detail

      • getTypeInfo

        public org.eigenbase.xom.MetaGenerator.TypeInfo getTypeInfo​(java.lang.String name,
                                                                    boolean fail)
                                                             throws XOMException
        Return 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.IOException
        Create 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:
        XOMException
        java.io.IOException
      • writeJavaGetAnyContent

        public void writeJavaGetAnyContent​(java.io.PrintWriter out,
                                           boolean mixed)
      • writeJavaGetCDataContent

        public void writeJavaGetCDataContent​(java.io.PrintWriter out)
      • writeJavaDeclareAnyContent

        public void writeJavaDeclareAnyContent​(java.io.PrintWriter out,
                                               boolean mixed)
      • writeJavaDeclareCDataContent

        public void writeJavaDeclareCDataContent​(java.io.PrintWriter out)
      • writeJavaDisplayAnyContent

        public void writeJavaDisplayAnyContent​(java.io.PrintWriter out)
      • writeJavaDisplayCDataContent

        public void writeJavaDisplayCDataContent​(java.io.PrintWriter out)
      • writeJavaDisplayXMLAnyContent

        public void writeJavaDisplayXMLAnyContent​(java.io.PrintWriter out)
      • writeJavaDisplayXMLCDataContent

        public void writeJavaDisplayXMLCDataContent​(java.io.PrintWriter out)
      • 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:
        1. Name of XML file describing input model.
        2. Name of output file directory.
      • debugDisplay

        public void debugDisplay()
        Display information about this generator for debug purposes.