Class SnakeYamlReaderGenerator
- 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.snakeyaml.AbstractSnakeYamlGenerator
-
- org.codehaus.modello.plugin.snakeyaml.SnakeYamlReaderGenerator
-
- All Implemented Interfaces:
ModelloGenerator
,org.codehaus.plexus.logging.LogEnabled
,org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
- Direct Known Subclasses:
SnakeYamlExtendedReaderGenerator
public class SnakeYamlReaderGenerator extends AbstractSnakeYamlGenerator
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
LOCATION_VAR
private java.lang.String
locationField
private ModelClass
locationTracker
private static java.lang.String
SOURCE_PARAM
private ModelClass
sourceTracker
private java.lang.String
trackingArgs
-
Fields inherited from class org.codehaus.modello.plugins.xml.AbstractXmlJavaGenerator
strictXmlAttributes
-
Fields inherited from class org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator
DEFAULT_DATE_FORMAT, domAsXpp3, useJava5
-
-
Constructor Summary
Constructors Constructor Description SnakeYamlReaderGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addTrackingParameters(JMethod method)
private JMethod
convertNumericalType(java.lang.String methodName, JType returnType, java.lang.String expression, java.lang.String typeDesc)
void
generate(Model model, java.util.Properties parameters)
private void
generateSnakeYamlReader()
protected boolean
isLocationTracking()
private void
processField(ModelField field, XmlFieldMetadata xmlFieldMetadata, boolean addElse, JSourceCode sc, java.lang.String objectName, JClass jClass)
Generate code to process a field represented as an XML element.private void
writeAllClassesParser(Model objectModel, JClass jClass)
private void
writeAllClassesReaders(Model objectModel, JClass jClass)
private ModelField
writeClassAttributesParser(java.util.List<ModelField> modelFields, java.lang.String objectName, boolean rootElement)
private void
writeClassParser(ModelClass modelClass, JClass jClass, boolean rootElement)
private void
writeClassReaders(ModelClass modelClass, JClass jClass, boolean rootElement)
private void
writeHelpers(JClass jClass)
private void
writeNewLocation(java.lang.String trackerVariable, JSourceCode sc)
private void
writeNewSetLocation(java.lang.String key, java.lang.String objectName, java.lang.String trackerVariable, JSourceCode sc)
private void
writeNewSetLocation(ModelField field, java.lang.String objectName, java.lang.String trackerVariable, JSourceCode sc)
private void
writePrimitiveField(ModelField field, java.lang.String type, java.lang.String objectName, java.lang.String locatorName, java.lang.String locationKey, java.lang.String setterName, JSourceCode sc, boolean wrappedItem)
Write code to set a primitive field with a value got from the parser, with appropriate default value, trimming and required check logic.private void
writeSetLocation(java.lang.String key, java.lang.String objectName, java.lang.String trackerVariable, JSourceCode sc)
-
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, 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, singular, uncapitalise
-
-
-
-
Field Detail
-
SOURCE_PARAM
private static final java.lang.String SOURCE_PARAM
- See Also:
- Constant Field Values
-
LOCATION_VAR
private static final java.lang.String LOCATION_VAR
- See Also:
- Constant Field Values
-
locationTracker
private ModelClass locationTracker
-
locationField
private java.lang.String locationField
-
sourceTracker
private ModelClass sourceTracker
-
trackingArgs
private java.lang.String trackingArgs
-
-
Method Detail
-
isLocationTracking
protected boolean isLocationTracking()
-
generate
public void generate(Model model, java.util.Properties parameters) throws ModelloException
- Throws:
ModelloException
-
writeClassReaders
private void writeClassReaders(ModelClass modelClass, JClass jClass, boolean rootElement)
-
generateSnakeYamlReader
private void generateSnakeYamlReader() throws ModelloException, java.io.IOException
- Throws:
ModelloException
java.io.IOException
-
writeClassParser
private void writeClassParser(ModelClass modelClass, JClass jClass, boolean rootElement)
-
writeClassAttributesParser
private ModelField writeClassAttributesParser(java.util.List<ModelField> modelFields, java.lang.String objectName, boolean rootElement)
-
processField
private void processField(ModelField field, XmlFieldMetadata xmlFieldMetadata, boolean addElse, JSourceCode sc, java.lang.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
-
writeHelpers
private void writeHelpers(JClass jClass)
-
addTrackingParameters
private void addTrackingParameters(JMethod method)
-
writeNewSetLocation
private void writeNewSetLocation(ModelField field, java.lang.String objectName, java.lang.String trackerVariable, JSourceCode sc)
-
writeNewSetLocation
private void writeNewSetLocation(java.lang.String key, java.lang.String objectName, java.lang.String trackerVariable, JSourceCode sc)
-
writeNewLocation
private void writeNewLocation(java.lang.String trackerVariable, JSourceCode sc)
-
writeSetLocation
private void writeSetLocation(java.lang.String key, java.lang.String objectName, java.lang.String trackerVariable, JSourceCode sc)
-
writePrimitiveField
private void writePrimitiveField(ModelField field, java.lang.String type, java.lang.String objectName, java.lang.String locatorName, java.lang.String locationKey, java.lang.String setterName, JSourceCode sc, boolean wrappedItem)
Write code to set a primitive field with a value got from the parser, with appropriate default value, trimming and required check logic.- Parameters:
field
- the model field to set (either XML attribute or element)type
- the type of the value read from XMLobjectName
- the object name in sourcesetterName
- the setter method namesc
- the source code to add to
-
-