Class Dom4jReaderGenerator

All Implemented Interfaces:
ModelloGenerator, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable

@Component(role=ModelloGenerator.class, hint="dom4j-reader") public class Dom4jReaderGenerator extends AbstractXmlJavaGenerator
Generator that reads a model using dom4j. TODO: chunks are lifted from xpp3, including the tests. Can we abstract it in some way?
  • Field Details

    • requiresDomSupport

      private boolean requiresDomSupport
  • Constructor Details

    • Dom4jReaderGenerator

      public Dom4jReaderGenerator()
  • Method Details

    • generate

      public void generate(Model model, Properties parameters) throws ModelloException
      Throws:
      ModelloException
    • generateDom4jReader

      private void generateDom4jReader() throws ModelloException, IOException
      Throws:
      ModelloException
      IOException
    • writeAllClassesParser

      private void writeAllClassesParser(Model objectModel, JClass jClass)
    • writeClassParser

      private void writeClassParser(ModelClass modelClass, JClass jClass, boolean rootElement)
    • processField

      private void processField(ModelField field, XmlFieldMetadata xmlFieldMetadata, boolean addElse, JSourceCode sc, String objectName, JClass jClass)
      Generate code to process a field represented as an XML element.
      Parameters:
      field - the field to process
      xmlFieldMetadata - its XML metadata
      addElse - add an else statement before generating a new if
      sc - the method source code to add to
      objectName - the object name in the source
      jClass - the generated class source file
    • writePrimitiveField

      private void writePrimitiveField(ModelField field, String type, String objectName, String setterName, JSourceCode sc, JClass jClass, String parentElementName, String childElementName)
    • writeHelpers

      private void writeHelpers(JClass jClass)
    • writeDomHelpers

      private void writeDomHelpers(JClass jClass)
    • convertNumericalType

      private JMethod convertNumericalType(String methodName, JType returnType, String expression, String typeDesc)