------------------------------------------------------------------------------------------------- ----------------- C U S T O M O P E R A T I O N - LEntityMemberImpl ------------------ ------------------------------------------------------------------------------------------------- LEntityMemberImpl contains custom operation /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated NOT */ public EList<LAnnotationDef> getAnnotations() { if (getAnnotationInfo() != null) { return getAnnotationInfo().getAnnotations(); } return super.getAnnotations(); } It delegates the call to the annotation info. That is required to avoid antlr parser errors. Therefore see also Entity.xtext Rule: EntityMember returns LEntityMember: {LEntityMember} annotations+=LAnnotationDef* ({LProperty.annotationInfo=current} 'var' ((id?='id') | (version?='version') | (transient?='transient'))? type=JvmTypeReference multiplicity=LMultiplicity? name=ValidIDWithKeywords ('=' defaultValueLiteral=STRING)? | {LRefers.annotationInfo=current} 'refers' ((lazy?='lazy')? & (notnull?='notnull')?) type=[LEntity|LFQN] ... ... ... ------------------------------------------------------------------------------------------------- ----------------- C O M P I L E R T E M P L A T E ------------------ ------------------------------------------------------------------------------------------------- The package org.eclipse.osbp.dsl.entity.xtext.jvmmodel.services contains some interfaces. The core is delegating to them to ensure the right compiler is chosen. Each of the interfaces requires the implementation of method boolean isResponsible(LCompilerType compilerType); It should return true, if the implementation should be used for the compiler types. Providing them: See org.eclipse.osbp.dsl.entity.xtext.jvmmodel.services.jpa.DefaultJPACompiler.entitymodel This model provides the JPA Compiler as a template to the Xtext document in the IDE editor. Currently 2 different compilers are implemented: EntityCompiler -> No compilerType definition file required since this is the default JPACompiler -> Generates all the entities in JPA type and adds default annotations to the beans. They can be overridden by specifying annotations directly in the entitymodel file. Note the 'exclude' modifier of all entity definitions. It can be used to suppress the generation of that types of annotations.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=536407, migrate to EPL 2.0 and...
Ralf Mollik
authored
https://bugs.eclipse.org/bugs/show_bug.cgi?id=536407 , migrate to EPL 2.0 and catch up with branch development Signed-off-by:Ralf Mollik <ramollik@compex-commerce.com>