| ------------------------------------------------------------------------------------------------- |
| ----------------- 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. |