Class AbstractXmlGenerator

java.lang.Object
org.codehaus.plexus.logging.AbstractLogEnabled
org.codehaus.modello.plugin.AbstractModelloGenerator
org.codehaus.modello.plugins.xml.AbstractXmlGenerator
All Implemented Interfaces:
org.codehaus.modello.plugin.ModelloGenerator, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable

public abstract class AbstractXmlGenerator extends org.codehaus.modello.plugin.AbstractModelloGenerator
Abstract class for plugins working on XML representation of the model, without having any need to generate Java code.
Author:
Hervé Boutemy
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.codehaus.modello.model.ModelField
    getContentField(List<org.codehaus.modello.model.ModelField> modelFields)
    Get the field which type is Content if any.
    protected List<org.codehaus.modello.model.ModelField>
    getFieldsForXml(org.codehaus.modello.model.ModelClass modelClass, org.codehaus.modello.model.Version version)
    Return the XML fields of this class, with proper XML order and no XML transient fields.
    protected List<org.codehaus.modello.model.ModelField>
    getXmlAttributeFields(List<org.codehaus.modello.model.ModelField> modelFields)
    Gets all fields that are not marked as XML attribute.
    protected boolean
    hasContentField(List<org.codehaus.modello.model.ModelField> modelFields)
     
    protected void
    initHeader(org.codehaus.plexus.util.xml.XMLWriter w)
     
    protected String
    resolveTagName(String fieldTagName, XmlAssociationMetadata xmlAssociationMetadata)
    Resolve XML tag name for an item in an association with many multiplicity.
    protected String
    resolveTagName(org.codehaus.modello.model.ModelClass modelClass)
    Resolve XML tag name for a class.
    protected String
    resolveTagName(org.codehaus.modello.model.ModelField modelField, XmlFieldMetadata xmlFieldMetadata)
    Resolve XML tag name for a field.

    Methods inherited from class org.codehaus.modello.plugin.AbstractModelloGenerator

    capitalise, contextualize, getBuildContext, getEncoding, getFieldsForClass, getGeneratedVersion, getHeader, getModel, getOutputDirectory, getParameter, getParameter, getParameter, initialize, isClassInModel, isCollection, isEmpty, isInnerAssociation, isMap, isPackageWithVersion, newWriter, newWriter, singular, uncapitalise

    Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled

    enableLogging, getLogger, setupLogger, setupLogger, setupLogger

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.codehaus.modello.plugin.ModelloGenerator

    generate
  • Constructor Details

    • AbstractXmlGenerator

      public AbstractXmlGenerator()
  • Method Details

    • initHeader

      protected void initHeader(org.codehaus.plexus.util.xml.XMLWriter w)
    • resolveTagName

      protected String resolveTagName(org.codehaus.modello.model.ModelClass modelClass)
      Resolve XML tag name for a class. Note: only root class needs such a resolution.
      Parameters:
      modelClass - the model class
      Returns:
      the XML tag name for the class
    • resolveTagName

      protected String resolveTagName(org.codehaus.modello.model.ModelField modelField, XmlFieldMetadata xmlFieldMetadata)
      Resolve XML tag name for a field.
      Parameters:
      modelField - the model field
      xmlFieldMetadata - the XML metadata of the field
      Returns:
      the XML tag name for the field
    • resolveTagName

      protected String resolveTagName(String fieldTagName, XmlAssociationMetadata xmlAssociationMetadata)
      Resolve XML tag name for an item in an association with many multiplicity.
      Parameters:
      fieldTagName - the XML tag name of the field containing the association
      xmlAssociationMetadata - the XML metadata of the association
      Returns:
      the XML tag name for items
    • hasContentField

      protected boolean hasContentField(List<org.codehaus.modello.model.ModelField> modelFields)
    • getContentField

      protected org.codehaus.modello.model.ModelField getContentField(List<org.codehaus.modello.model.ModelField> modelFields)
      Get the field which type is Content if any.
      Parameters:
      modelFields - the fields to check
      Returns:
      the field, or null if no field is Content
    • getXmlAttributeFields

      protected List<org.codehaus.modello.model.ModelField> getXmlAttributeFields(List<org.codehaus.modello.model.ModelField> modelFields)
      Gets all fields that are not marked as XML attribute.
      Parameters:
      modelFields - The collection of model fields from which to extract the XML attributes, must not be null.
      Returns:
      The list of XML attributes fields, can be empty but never null.
    • getFieldsForXml

      protected List<org.codehaus.modello.model.ModelField> getFieldsForXml(org.codehaus.modello.model.ModelClass modelClass, org.codehaus.modello.model.Version version)
      Return the XML fields of this class, with proper XML order and no XML transient fields.
      Parameters:
      modelClass - current class
      version - the version of the class to use
      Returns:
      the list of XML fields of this class