Java Reference
In-Depth Information
eStructuralFeatures += self .features[Association]. map
toReference( result );
eStructuralFeatures += self .features[Reference]. map
toReference( result );
eAnnotations += toAnnotation('description', self .description, null );
eAnnotations += toAnnotation('annotation', '@Entity', null );
eAnnotations += toAnnotation('annotation', '@Table(name="' +
self .name.toUpperCase() + '")', null );
-- Add id field with getter, no setter
fields += object java::Field {
name := self .name.toLowerCase() + 'Id';
eType := 'int'. map toClass();
javaVisibility := java::JavaVisibilityKind::PRIVATE;
eAnnotations += toAnnotation('annotation', '@Id', null );
eAnnotations += toAnnotation('annotation', '@Column(name="'
+ self .name.toUpperCase() + '_ID")', null );
eAnnotations += toAnnotation('annotation',
'@GeneratedValue(strategy=GenerationType.AUTO)', null );
};
methods += object java::Method {
name := 'get' + self .name.firstToUpper() + 'Id';
eType := 'int'. map toClass();
javaVisibility := java::JavaVisibilityKind::PUBLIC;
source := object java::Statement {
source := 'return ' + self .name.toLowerCase() + 'Id;';
};
};
end {
result .classImport += 'javax.persistence.Entity'. map toClass();
result .classImport += 'javax.persistence.Table'. map toClass();
result .classImport += 'javax.persistence.Column'. map toClass();
result .classImport += 'javax.persistence.Id'. map toClass();
result .classImport += 'javax.persistence.GeneratedValue'. map
toClass();
result .classImport +=
'javax.persistence.GenerationType'. map toClass();
}
}
/**
* Creates reference from association with annotations
*/
mapping dnc::Association::toReference( inout class : java::JavaClass) :
ecore::EReference
when {
not self .opposite. oclIsUndefined () and
self .opposite.owner.isEntity()
} {
name := self .name;
eType := self .type. oclAsType (dnc::Archetype). late
resolveone (java::JavaClass);
lowerBound := self .lowerBound;
upperBound := self .upperBound;
Search WWH ::




Custom Search