org.codehaus.modello.plugins.xml
Class AbstractXmlJavaGenerator

java.lang.Object
  extended by org.codehaus.plexus.logging.AbstractLogEnabled
      extended by org.codehaus.modello.plugin.AbstractModelloGenerator
          extended by org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
              extended by org.codehaus.modello.plugins.xml.AbstractXmlJavaGenerator
All Implemented Interfaces:
ModelloGenerator, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
Direct Known Subclasses:
AbstractJDOMGenerator, AbstractStaxGenerator, AbstractXpp3Generator, Dom4jReaderGenerator, Dom4jWriterGenerator

public abstract class AbstractXmlJavaGenerator
extends AbstractJavaModelloGenerator

Abstract class for plugins generating Java code for XML representation of the model.

Version:
$Id: AbstractXmlJavaGenerator.java 1273 2009-07-04 14:46:19Z bentmann $
Author:
Hervé Boutemy

Field Summary
 
Fields inherited from class org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
DEFAULT_DATE_FORMAT, useJava5
 
Constructor Summary
AbstractXmlJavaGenerator()
           
 
Method Summary
protected  ModelField getContentField(List modelFields)
          Get the field which type is Content if any.
protected  String getFileName(String suffix)
           
protected  List getNonTransientFields(List modelFields)
          Gets all fields that are not marked as transient.
protected  String getValue(String type, String initialValue, XmlFieldMetadata xmlFieldMetadata)
           
protected  String resolveTagName(ModelClass modelClass)
          Resolve XML tag name for a class.
protected  String resolveTagName(ModelField modelField, XmlFieldMetadata xmlFieldMetadata)
          Resolve XML tag name for a field.
protected  String resolveTagName(String fieldTagName, XmlAssociationMetadata xmlAssociationMetadata)
          Resolve XML tag name for an item in an association with many multiplicity.
protected  void writeDateParsingHelper(JSourceCode sc, String exception)
           
 
Methods inherited from class org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
addModelImports, getDefaultValue, getJavaDefaultValue, getPrefix, getValueChecker, initHeader, initHeader, initialize, newJSourceWriter, suppressAllWarnings
 
Methods inherited from class org.codehaus.modello.plugin.AbstractModelloGenerator
capitalise, contextualize, getBuildContext, getEncoding, getFieldsForClass, getGeneratedVersion, getHeader, getModel, getOutputDirectory, getParameter, getParameter, getParameter, isClassInModel, isCollection, isEmpty, isInnerAssociation, isMap, isPackageWithVersion, 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 Detail

AbstractXmlJavaGenerator

public AbstractXmlJavaGenerator()
Method Detail

getFileName

protected String getFileName(String suffix)

resolveTagName

protected String resolveTagName(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(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

getContentField

protected ModelField getContentField(List 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

getNonTransientFields

protected List getNonTransientFields(List modelFields)
Gets all fields that are not marked as transient.

Parameters:
modelFields - The collection of model fields from which to extract the non-transient fields, must not be null.
Returns:
The list of non-transient fields, can be empty but never null.

getValue

protected String getValue(String type,
                          String initialValue,
                          XmlFieldMetadata xmlFieldMetadata)

writeDateParsingHelper

protected void writeDateParsingHelper(JSourceCode sc,
                                      String exception)


Copyright © 2001-2013 Codehaus. All Rights Reserved.