branch develop updated (5a28950 -> a8217ee)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository eugene. See http://git.nuiton.org/eugene.git from 5a28950 Generate a new object to init all beans of a model (fixes #3756) new a8217ee Add an generic information on an attribute (SimpleJavaBeanWithNoInterfaceTransformer only\!) (fixes #3760) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit a8217eebc039a6b88b8a1794a181376f0ffb8f2f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 20 15:03:36 2015 +0200 Add an generic information on an attribute (SimpleJavaBeanWithNoInterfaceTransformer only\!) (fixes #3760) Summary of changes: .../nuiton/eugene/java/JavaTemplatesTagValues.java | 25 ++++++++++++++++++++++ .../SimpleJavaBeanWithNoInterfaceTransformer.java | 19 ++++++++++++++++ 2 files changed, 44 insertions(+) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository eugene. See http://git.nuiton.org/eugene.git commit a8217eebc039a6b88b8a1794a181376f0ffb8f2f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 20 15:03:36 2015 +0200 Add an generic information on an attribute (SimpleJavaBeanWithNoInterfaceTransformer only\!) (fixes #3760) --- .../nuiton/eugene/java/JavaTemplatesTagValues.java | 25 ++++++++++++++++++++++ .../SimpleJavaBeanWithNoInterfaceTransformer.java | 19 ++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java b/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java index e11ebd9..104487f 100644 --- a/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java +++ b/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java @@ -24,6 +24,7 @@ package org.nuiton.eugene.java; import org.apache.commons.lang3.StringUtils; import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClassifier; import org.nuiton.eugene.models.object.ObjectModelPackage; import org.nuiton.eugene.models.tagvalue.TagValueDefinition; @@ -456,6 +457,18 @@ public class JavaTemplatesTagValues extends TagValueDefinitionProvider { public static final String TAG_SIMPLE_BEAN_WITH_NO_INTERFACE_DEFAULTS_CLASS_NAME_SUFFIX = "simpleBeanWithNoInterfaceDefaultsClassNameSuffix"; /** + * To add a generic to an attribute. + * + * @see #getSimpleBeanWithNoInterfaceAttributeGenericTagValue(ObjectModelAttribute) + * @since 3.0 + */ + @TagValueDefinition( + target = {ObjectModelAttribute.class}, + documentation = "To add a generic to an attribute.\n" + + "(only effective with simple bean generator)") + public static final String TAG_SIMPLE_BEAN_WITH_NO_INTERFACE_ATTRIBUTE_GENERIC = "simpleBeanWithNoInterfaceAttributeGeneric"; + + /** * Obtain the value of the {@link #TAG_BEAN_SUPER_CLASS} tag value on the given model or classifier. * * It will first look on the model, and then in the given classifier. @@ -721,4 +734,16 @@ public class JavaTemplatesTagValues extends TagValueDefinitionProvider { return value; } + /** + * Obtain the value of the {@link #TAG_SIMPLE_BEAN_WITH_NO_INTERFACE_ATTRIBUTE_GENERIC} tag value on the given attribute. + * + * @param attribute attribute to seek + * @return the none empty value of the found tag value or {@code null} if not found nor empty. + * @see #TAG_SIMPLE_BEAN_WITH_NO_INTERFACE_ATTRIBUTE_GENERIC + * @since 3.0 + */ + public String getSimpleBeanWithNoInterfaceAttributeGenericTagValue(ObjectModelAttribute attribute) { + String value = findTagValue(TAG_SIMPLE_BEAN_WITH_NO_INTERFACE_ATTRIBUTE_GENERIC, attribute); + return value; + } } diff --git a/eugene-java-templates/src/main/java/org/nuiton/eugene/java/SimpleJavaBeanWithNoInterfaceTransformer.java b/eugene-java-templates/src/main/java/org/nuiton/eugene/java/SimpleJavaBeanWithNoInterfaceTransformer.java index 4734da7..e73eca3 100644 --- a/eugene-java-templates/src/main/java/org/nuiton/eugene/java/SimpleJavaBeanWithNoInterfaceTransformer.java +++ b/eugene-java-templates/src/main/java/org/nuiton/eugene/java/SimpleJavaBeanWithNoInterfaceTransformer.java @@ -689,6 +689,25 @@ public class SimpleJavaBeanWithNoInterfaceTransformer extends AbstractJavaBeanTr if (attributeType != null) { attrType = attributeClass.getPackageName() + "." + attributeType; } + String generic = getJavaTemplatesTagValues().getSimpleBeanWithNoInterfaceAttributeGenericTagValue(attr); + + if (generic != null) { + attrType += "<" + getAttributeType(generic) + ">"; + } + } + } + return attrType; + } + + protected String getAttributeType(String attrType) { + if (!JavaGeneratorUtil.isPrimitiveType(attrType)) { + boolean hasClass = model.hasClass(attrType); + if (hasClass) { + ObjectModelClass attributeClass = model.getClass(attrType); + String attributeType = beanNameTranslation.get(attributeClass); + if (attributeType != null) { + attrType = attributeClass.getPackageName() + "." + attributeType; + } } } return attrType; -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm