Class Dom4jReaderGenerator
java.lang.Object
org.codehaus.plexus.logging.AbstractLogEnabled
org.codehaus.modello.plugin.AbstractModelloGenerator
org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
org.codehaus.modello.plugins.xml.AbstractXmlJavaGenerator
org.codehaus.modello.plugin.dom4j.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 Summary
FieldsFields inherited from class org.codehaus.modello.plugins.xml.AbstractXmlJavaGenerator
strictXmlAttributes
Fields inherited from class org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
DEFAULT_DATE_FORMAT, domAsXpp3
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate JMethod
convertNumericalType
(String methodName, JType returnType, String expression, String typeDesc) void
generate
(Model model, Properties parameters) private void
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.private void
writeAllClassesParser
(Model objectModel, JClass jClass) private void
writeClassParser
(ModelClass modelClass, JClass jClass, boolean rootElement) private void
writeDomHelpers
(JClass jClass) private void
writeHelpers
(JClass jClass) private void
writePrimitiveField
(ModelField field, String type, String objectName, String setterName, JSourceCode sc, JClass jClass, String parentElementName, String childElementName) Methods inherited from class org.codehaus.modello.plugins.xml.AbstractXmlJavaGenerator
getContentField, getFieldsForXml, getFileName, getValue, initialize, resolveTagName, resolveTagName, resolveTagName, writeDateParsingHelper
Methods inherited from class org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
addModelImport, addModelImports, getClasses, getDefaultValue, getJavaDefaultValue, getPrefix, getValueChecker, hasJavaSourceSupport, initHeader, initHeader, isJavaEnabled, isRelevant, isTrackingSupport, 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, newWriter, newWriter, singular, uncapitalise
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
requiresDomSupport
private boolean requiresDomSupport
-
-
Constructor Details
-
Dom4jReaderGenerator
public Dom4jReaderGenerator()
-
-
Method Details
-
generate
- Throws:
ModelloException
-
generateDom4jReader
- Throws:
ModelloException
IOException
-
writeAllClassesParser
-
writeClassParser
-
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 processxmlFieldMetadata
- its XML metadataaddElse
- add anelse
statement before generating a newif
sc
- the method source code to add toobjectName
- the object name in the sourcejClass
- 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
-
writeDomHelpers
-
convertNumericalType
-