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
strictXmlAttributesFields inherited from class org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
DEFAULT_DATE_FORMAT, domAsXpp3 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate JMethodconvertNumericalType(String methodName, JType returnType, String expression, String typeDesc) voidgenerate(Model model, Properties parameters) private voidprivate voidprocessField(ModelField field, XmlFieldMetadata xmlFieldMetadata, boolean addElse, JSourceCode sc, String objectName, JClass jClass) Generate code to process a field represented as an XML element.private voidwriteAllClassesParser(Model objectModel, JClass jClass) private voidwriteClassParser(ModelClass modelClass, JClass jClass, boolean rootElement) private voidwriteDomHelpers(JClass jClass) private voidwriteHelpers(JClass jClass) private voidwritePrimitiveField(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, writeDateParsingHelperMethods inherited from class org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
addModelImport, addModelImports, getClasses, getDefaultValue, getJavaDefaultValue, getPrefix, getValueChecker, hasJavaSourceSupport, initHeader, initHeader, isJavaEnabled, isRelevant, isTrackingSupport, newJSourceWriter, suppressAllWarningsMethods 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, uncapitaliseMethods 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:
ModelloExceptionIOException
-
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 anelsestatement before generating a newifsc- 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
-