public class JavaModelloGenerator extends AbstractJavaModelloGenerator
Modifier and Type | Field and Description |
---|---|
private java.util.Collection<java.lang.String> |
immutableTypes |
DEFAULT_DATE_FORMAT, domAsXpp3, useJava5
Constructor and Description |
---|
JavaModelloGenerator() |
Modifier and Type | Method and Description |
---|---|
private void |
addParameter(JMethodSignature jMethod,
java.lang.String type,
java.lang.String name,
java.lang.String comment) |
private void |
appendEntryMethod(java.lang.String type,
java.lang.String method,
java.lang.StringBuilder target,
ModelAssociation modelAssociation) |
private java.lang.String |
appendPeriod(java.lang.String string)
Utility method that adds a period to the end of a string, if the last non-whitespace character of the string is
not a punctuation mark or an end-tag.
|
private void |
createAdder(ModelAssociation modelAssociation,
JClass jClass) |
private void |
createAdder(ModelAssociation modelAssociation,
JClass jClass,
boolean isBuilderMethod) |
private void |
createAssociation(JClass jClass,
ModelAssociation modelAssociation,
JSourceCode jConstructorSource) |
private void |
createBreakAssociation(JClass jClass,
ModelAssociation modelAssociation) |
private void |
createBuilderAssociation(JClass jClass,
ModelAssociation modelAssociation) |
private void |
createBuilderField(JClass jClass,
ModelField modelField) |
private void |
createClassCastAssertion(JSourceCode sc,
ModelAssociation modelAssociation,
java.lang.String crudModifier) |
private void |
createCreateAssociation(JClass jClass,
ModelAssociation modelAssociation) |
private void |
createField(JClass jClass,
ModelField modelField) |
private JField |
createField(ModelField modelField) |
private JMethod |
createGetter(JField field,
ModelField modelField) |
private java.lang.String |
createHashCodeForField(ModelField identifier) |
private void |
createInstanceAndSetProperties(ModelClass modelClass,
JConstructor constructor,
JSourceCode sc) |
private void |
createSetBuilderAssociationToInstance(java.util.Set<java.lang.String> ctorArgs,
ModelAssociation modelAssociation,
JSourceCode sc) |
private boolean |
createSetBuilderFieldToInstance(java.util.Set<java.lang.String> ctorArgs,
ModelField modelField,
JSourceCode sc) |
private JMethod |
createSetter(JField field,
ModelField modelField) |
private JMethod |
createSetter(JField field,
ModelField modelField,
boolean isBuilderMethod) |
void |
generate(Model model,
java.util.Properties parameters) |
private void |
generateBuilder(ModelClass modelClass,
JClass builderClass,
JConstructor outherClassConstructor) |
private JMethod[] |
generateClone(ModelClass modelClass,
ModelClass locationClass) |
private JMethod |
generateEquals(ModelClass modelClass) |
private JMethod |
generateHashCode(ModelClass modelClass) |
private void |
generateInterface(ModelInterface modelInterface) |
private void |
generateJava() |
private void |
generateLocationBean(JClass jClass,
ModelClass locationClass,
ModelClass sourceClass) |
private java.lang.String |
generateLocationTracker(Model objectModel,
ModelClass locationClass) |
private void |
generateLocationTracking(JClass jClass,
ModelClass modelClass,
ModelClass locationClass) |
private void |
generateStaticCreator(ModelClass modelClass,
JClass jClass,
JConstructor constructor) |
private JMethod |
generateToString(ModelClass modelClass,
boolean onlyIdentifierFields) |
private java.lang.String |
getCloneHook(ModelClass modelClass) |
private java.lang.String |
getCloneMode(ModelAssociation modelAssociation,
java.lang.String cloneModeClass) |
private java.lang.String |
getCloneMode(ModelClass modelClass) |
private JType |
getComponentType(ModelAssociation modelAssociation,
JavaAssociationMetadata javaAssociationMetadata) |
private java.lang.String |
getDefaultValue(ModelAssociation modelAssociation,
JType componentType) |
private JType |
getDesiredType(ModelField modelField,
boolean useTo) |
private JavaAssociationMetadata |
getJavaAssociationMetadata(ModelAssociation modelAssociation) |
private boolean |
isBidirectionalAssociation(ModelAssociation association) |
addModelImport, addModelImports, getClasses, getDefaultValue, getJavaDefaultValue, getPrefix, getValueChecker, initHeader, initHeader, initialize, isJavaEnabled, isRelevant, isTrackingSupport, newJSourceWriter, suppressAllWarnings
capitalise, contextualize, getBuildContext, getEncoding, getFieldsForClass, getGeneratedVersion, getHeader, getModel, getOutputDirectory, getParameter, getParameter, getParameter, isClassInModel, isCollection, isEmpty, isInnerAssociation, isMap, isPackageWithVersion, singular, uncapitalise
public void generate(Model model, java.util.Properties parameters) throws ModelloException
ModelloException
private void generateJava() throws ModelloException, java.io.IOException
ModelloException
java.io.IOException
private void generateInterface(ModelInterface modelInterface) throws ModelloException, java.io.IOException
ModelloException
java.io.IOException
private JMethod generateEquals(ModelClass modelClass)
private JMethod generateToString(ModelClass modelClass, boolean onlyIdentifierFields)
private JMethod generateHashCode(ModelClass modelClass)
private JMethod[] generateClone(ModelClass modelClass, ModelClass locationClass) throws ModelloException
ModelloException
private java.lang.String getCloneMode(ModelClass modelClass) throws ModelloException
ModelloException
private java.lang.String getCloneMode(ModelAssociation modelAssociation, java.lang.String cloneModeClass) throws ModelloException
ModelloException
private java.lang.String getCloneHook(ModelClass modelClass) throws ModelloException
ModelloException
private java.lang.String generateLocationTracker(Model objectModel, ModelClass locationClass) throws ModelloException, java.io.IOException
ModelloException
java.io.IOException
private void generateLocationTracking(JClass jClass, ModelClass modelClass, ModelClass locationClass) throws ModelloException
ModelloException
private void generateLocationBean(JClass jClass, ModelClass locationClass, ModelClass sourceClass) throws ModelloException
ModelloException
private java.lang.String appendPeriod(java.lang.String string)
string
- The string to work withprivate java.lang.String createHashCodeForField(ModelField identifier)
private JField createField(ModelField modelField) throws ModelloException
ModelloException
private void createField(JClass jClass, ModelField modelField) throws ModelloException
ModelloException
private JMethod createGetter(JField field, ModelField modelField)
private JMethod createSetter(JField field, ModelField modelField) throws ModelloException
ModelloException
private JMethod createSetter(JField field, ModelField modelField, boolean isBuilderMethod) throws ModelloException
ModelloException
private void createClassCastAssertion(JSourceCode sc, ModelAssociation modelAssociation, java.lang.String crudModifier) throws ModelloException
ModelloException
private void createAssociation(JClass jClass, ModelAssociation modelAssociation, JSourceCode jConstructorSource) throws ModelloException
ModelloException
private java.lang.String getDefaultValue(ModelAssociation modelAssociation, JType componentType)
private JavaAssociationMetadata getJavaAssociationMetadata(ModelAssociation modelAssociation) throws ModelloException
ModelloException
private JType getComponentType(ModelAssociation modelAssociation, JavaAssociationMetadata javaAssociationMetadata)
private void createCreateAssociation(JClass jClass, ModelAssociation modelAssociation)
private void createBreakAssociation(JClass jClass, ModelAssociation modelAssociation)
private void createAdder(ModelAssociation modelAssociation, JClass jClass) throws ModelloException
ModelloException
private void createAdder(ModelAssociation modelAssociation, JClass jClass, boolean isBuilderMethod) throws ModelloException
ModelloException
private boolean isBidirectionalAssociation(ModelAssociation association)
private JType getDesiredType(ModelField modelField, boolean useTo) throws ModelloException
ModelloException
private void addParameter(JMethodSignature jMethod, java.lang.String type, java.lang.String name, java.lang.String comment)
private void generateBuilder(ModelClass modelClass, JClass builderClass, JConstructor outherClassConstructor) throws ModelloException
ModelloException
private void createInstanceAndSetProperties(ModelClass modelClass, JConstructor constructor, JSourceCode sc) throws ModelloException
ModelloException
private void createBuilderField(JClass jClass, ModelField modelField) throws ModelloException
ModelloException
private boolean createSetBuilderFieldToInstance(java.util.Set<java.lang.String> ctorArgs, ModelField modelField, JSourceCode sc) throws ModelloException
ModelloException
private void createBuilderAssociation(JClass jClass, ModelAssociation modelAssociation) throws ModelloException
ModelloException
private void createSetBuilderAssociationToInstance(java.util.Set<java.lang.String> ctorArgs, ModelAssociation modelAssociation, JSourceCode sc) throws ModelloException
ModelloException
private void appendEntryMethod(java.lang.String type, java.lang.String method, java.lang.StringBuilder target, ModelAssociation modelAssociation)
private void generateStaticCreator(ModelClass modelClass, JClass jClass, JConstructor constructor) throws ModelloException
ModelloException