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