Package org.nuiton.eugene.java
Class BeanTransformer
java.lang.Object
org.nuiton.eugene.Template<I>
org.nuiton.eugene.Transformer<ObjectModel,O>
org.nuiton.eugene.models.object.ObjectModelTransformer<ObjectModel>
org.nuiton.eugene.java.ObjectModelTransformerToJava
org.nuiton.eugene.java.BeanTransformer
- All Implemented Interfaces:
TemplateConfiguration
@Component(role=org.nuiton.eugene.Template.class, hint="org.nuiton.eugene.java.BeanTransformer") public class BeanTransformer extends ObjectModelTransformerToJava
Generates a bean and a helper class around it.
Generates also a model initializer contract which permits you to interact with all classes of your model.
For example:
GeneratedBoat
Boat (extends GeneratedBoat)
GeneratedBoatHelper
BoatHelper (extends AbstractBoats)
- Since:
- 3.0
- Author:
- Tony Chemit - chemit@codelutin.com
-
Field Summary
Fields Modifier and Type Field Description protected BeanTransformerTagValuesbeanTagValuesprotected EugeneJavaTagValuesjavaTemplatesTagValuesprotected booleanuseJava8Fields inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava
builder, eugeneTagValuesFields inherited from class org.nuiton.eugene.Transformer
outputModel, outputProperties, outputTemplate, previousTransformerFields inherited from class org.nuiton.eugene.Template
configuration, excludeTemplates, generatedPackages, model, resourcesHelperFields inherited from interface org.nuiton.eugene.TemplateConfiguration
PROP_CLASS_LOADER, PROP_DEFAULT_PACKAGE, PROP_ENCODING, PROP_EXCLUDE_TEMPLATES, PROP_GENERATED_PACKAGES, PROP_LAST_MODIFIED_SOURCE, PROP_OVERWRITE, PROP_VERBOSE, PROP_WRITER_REPORT -
Constructor Summary
Constructors Constructor Description BeanTransformer() -
Method Summary
Methods inherited from class org.nuiton.eugene.java.ObjectModelTransformerToJava
addAnnotation, addAnnotation, addAnnotationParameter, addAttribute, addAttribute, addAttribute, addAttribute, addBlock, addComment, addConstant, addConstant, addConstantsFromDependency, addConstructor, addConstructor, addException, addException, addGeneratedAnnotation, addI18n, addImport, addImport, addImport, addInnerClassifier, addInterface, addInterface, addLiteral, addOperation, addOperation, addOperation, addParameter, addParameter, addStereotype, addTagValue, addTagValue, cloneAttribute, cloneClass, cloneClassifier, cloneClassifier, cloneEnumeration, cloneInterface, cloneOperation, cloneOperationSignature, cloneStereotypes, cloneTagValues, copyClassifier, createAbstractClass, createClass, createEnumeration, createInterface, debugOutputModel, generateI18nBlock, getConstantName, getConstantPrefix, getConstantPrefix, getFileInClassPath, getJavaBeanMethodName, getJavaBeanMethodName, getPackage, getPackage, initConstantPrefixFromModel, initOutputModel, initOutputTemplate, isInClassPath, isInClassPath, isInClassPath, setConstantPrefix, setDocumentation, setMaxMultiplicity, setMinMultiplicity, setNavigable, setOperationBody, setSuperClass, setSuperClassMethods inherited from class org.nuiton.eugene.models.object.ObjectModelTransformer
transform, transformFromClassifier, transformFromElement, transformFromEnumeration, transformFromInterfaceMethods inherited from class org.nuiton.eugene.Transformer
addOutputProperty, applyTemplate, getDefaultPackageName, getOutputModel, getOutputProperties, getOutputTemplate, init, initPreviousTransformer, transformMethods inherited from class org.nuiton.eugene.Template
getClassLoader, getConfiguration, getEncoding, getExcludeTemplates, getGeneratedPackages, getLastModifiedSource, getModel, getOverwrite, getProperties, getProperty, getProperty, getResourcesHelper, getWriterReport, isOverwrite, isVerbose, setConfiguration, setProperty
-
Field Details
-
useJava8
protected boolean useJava8 -
javaTemplatesTagValues
-
beanTagValues
-
-
Constructor Details
-
BeanTransformer
public BeanTransformer()
-
-
Method Details
-
transformFromModel
- Overrides:
transformFromModelin classObjectModelTransformer<ObjectModel>
-
transformFromClass
- Overrides:
transformFromClassin classObjectModelTransformer<ObjectModel>
-
generateClass
protected ObjectModelClass generateClass(ObjectModelClass input, String className, String abstractClassName) -
generateGeneratedClass
protected ObjectModelClass generateGeneratedClass(ObjectModelPackage aPackage, ObjectModelClass input, String className) -
generateHelper
protected void generateHelper(ObjectModelClass aClass, String abstractClassName, String defaultClassName) -
generateGeneratedHelper
protected void generateGeneratedHelper(ObjectModelPackage aPackage, ObjectModelClass aClass, String typeName, String abstractClassName) -
generateGeneratedHelperConstructors
-
generateGeneratedHelperCopyMethods
-
generateGeneratedHelperPredicates
protected void generateGeneratedHelperPredicates(ObjectModelClass input, ObjectModelClass output, String typeName) -
generateGeneratedHelperFunctions
protected void generateGeneratedHelperFunctions(ObjectModelClass input, ObjectModelClass output, String typeName) -
getGeneratedHelperSuperClassName
protected String getGeneratedHelperSuperClassName(ObjectModelPackage aPackage, ObjectModelClass aClass) -
getAttributeType
-
getAttributeType
-
notFoundInClassPath
-
createProperty
protected void createProperty(ObjectModelClass output, ObjectModelAttribute attr, boolean usePCS, boolean generateBooleanGetMethods, boolean generateNotEmptyCollections) -
getProperties
-
createGetMethod
protected void createGetMethod(ObjectModelClass output, String attrName, String attrType, String methodPrefix, boolean generateLayzCode, String collectionImplementationType) -
createGetMethod
protected void createGetMethod(ObjectModelClass output, String attrName, String attrType, String methodPrefix) -
createGetChildMethod
protected void createGetChildMethod(ObjectModelClass output, String attrName, String attrType, String simpleType) -
createIsEmptyMethod
-
createSizeMethod
-
createAddChildMethod
protected void createAddChildMethod(ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) -
createAddAllChildrenMethod
protected void createAddAllChildrenMethod(ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) -
createRemoveChildMethod
protected void createRemoveChildMethod(ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) -
createRemoveAllChildrenMethod
protected void createRemoveAllChildrenMethod(ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) -
createContainsChildMethod
protected void createContainsChildMethod(ObjectModelClass output, String attrName, String attrType, String constantName, boolean usePCS) -
createContainsAllChildrenMethod
protected void createContainsAllChildrenMethod(ObjectModelClass output, String attrName, String attrType, String constantName) -
createSetMethod
protected void createSetMethod(ObjectModelClass output, String attrName, String attrType, String simpleType, String constantName, boolean usePCS) -
addSerializable
protected void addSerializable(ObjectModelClass input, ObjectModelClass output, boolean interfaceFound) -
addInterfaces
protected boolean addInterfaces(ObjectModelClass input, ObjectModelClassifier output, String extraInterfaceName)Add all interfaces defines in input class and returns ifSerializableinterface was found.- Parameters:
input- the input model class to processoutput- the output generated class- Returns:
trueifSerializablewas found from input,falseotherwise
-
createPropertyChangeSupport
-
createGetChildMethod
-
generateI18nBlockAndConstants
protected void generateI18nBlockAndConstants(ObjectModelPackage aPackage, ObjectModelClass input, ObjectModelClassifier output) -
addDefaultMethodForNoneBeanSuperClass
protected void addDefaultMethodForNoneBeanSuperClass(ObjectModelClass output, boolean usePCS, List<ObjectModelAttribute> properties) -
wrapPrimitiveType
-
getGetterName
-
generateName
-
canGenerateAbstractClass
-
createPropertyConstant
protected void createPropertyConstant(ObjectModelClassifier output, ObjectModelAttribute attr, String prefix, Set<String> constantNames) -
getAttributeName
-
getAttributeTypeWithGeneric
-
containsMultiple
-