Package org.codehaus.modello.plugins.xml
Class AbstractXmlGenerator
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.codehaus.modello.plugin.AbstractModelloGenerator
-
- org.codehaus.modello.plugins.xml.AbstractXmlGenerator
-
- All Implemented Interfaces:
ModelloGenerator
,org.codehaus.plexus.logging.LogEnabled
,org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
- Direct Known Subclasses:
XdocGenerator
,XsdGenerator
public abstract class AbstractXmlGenerator extends AbstractModelloGenerator
Abstract class for plugins working on XML representation of the model, without having any need to generate Java code.
-
-
Constructor Summary
Constructors Constructor Description AbstractXmlGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ModelField
getContentField(java.util.List<ModelField> modelFields)
Get the field which type isContent
if any.protected java.util.List<ModelField>
getFieldsForXml(ModelClass modelClass, Version version)
Return the XML fields of this class, with proper XML order and no XML transient fields.protected java.util.List<ModelField>
getXmlAttributeFields(java.util.List<ModelField> modelFields)
Gets all fields that are not marked as XML attribute.protected boolean
hasContentField(java.util.List<ModelField> modelFields)
protected void
initHeader(org.codehaus.plexus.util.xml.XMLWriter w)
protected java.lang.String
resolveTagName(java.lang.String fieldTagName, XmlAssociationMetadata xmlAssociationMetadata)
Resolve XML tag name for an item in an association with many multiplicity.protected java.lang.String
resolveTagName(ModelClass modelClass)
Resolve XML tag name for a class.protected java.lang.String
resolveTagName(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, 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
-
-
-
-
Method Detail
-
initHeader
protected void initHeader(org.codehaus.plexus.util.xml.XMLWriter w)
-
resolveTagName
protected java.lang.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 java.lang.String resolveTagName(ModelField modelField, XmlFieldMetadata xmlFieldMetadata)
Resolve XML tag name for a field.- Parameters:
modelField
- the model fieldxmlFieldMetadata
- the XML metadata of the field- Returns:
- the XML tag name for the field
-
resolveTagName
protected java.lang.String resolveTagName(java.lang.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 associationxmlAssociationMetadata
- the XML metadata of the association- Returns:
- the XML tag name for items
-
hasContentField
protected boolean hasContentField(java.util.List<ModelField> modelFields)
-
getContentField
protected ModelField getContentField(java.util.List<ModelField> modelFields)
Get the field which type isContent
if any.- Parameters:
modelFields
- the fields to check- Returns:
- the field, or
null
if no field isContent
-
getXmlAttributeFields
protected java.util.List<ModelField> getXmlAttributeFields(java.util.List<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 benull
.- Returns:
- The list of XML attributes fields, can be empty but never
null
.
-
getFieldsForXml
protected java.util.List<ModelField> getFieldsForXml(ModelClass modelClass, Version version)
Return the XML fields of this class, with proper XML order and no XML transient fields.- Parameters:
modelClass
- current classversion
- the version of the class to use- Returns:
- the list of XML fields of this class
-
-