Interface EMFFormsDMRExpander
-
- All Known Implementing Classes:
EMFFormsCustomDMRExpander
,EMFFormsDMRExpanderDefaultHeuristic
,EMFFormsIndexDMRExpander
,EMFFormsKeyAttributeDMRExpander
,EMFFormsMappingDMRExpander
,EMFFormsTableDMRExpander
public interface EMFFormsDMRExpander
This service offers the methodprepareDomainObject(VDomainModelReference, EObject)
that allows to expand a givendomain object
for aVDomainModelReference
. The methodisApplicable(VDomainModelReference)
is used to determine how suitable this service is for a certainVDomainModelReference
.Note: This interface is not intended for public use but defines the services which are internally used in the
EMFFormsDomainExpander
.- Since:
- 1.7
- Author:
- Lucas Koehler
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Double
NOT_APPLICABLE
This value is returned byisApplicable(VDomainModelReference)
if theEMFFormsDMRExpander
is not applicable for the givenVDomainModelReference
anddomain object
.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description double
isApplicable(VDomainModelReference domainModelReference)
Returns how suitable thisEMFFormsDMRExpander
is for the givenVDomainModelReference
.void
prepareDomainObject(VDomainModelReference domainModelReference, org.eclipse.emf.ecore.EObject domainObject)
Prepares adomain object
for the givenVDomainModelReference
.
-
-
-
Field Detail
-
NOT_APPLICABLE
static final java.lang.Double NOT_APPLICABLE
This value is returned byisApplicable(VDomainModelReference)
if theEMFFormsDMRExpander
is not applicable for the givenVDomainModelReference
anddomain object
.
-
-
Method Detail
-
prepareDomainObject
void prepareDomainObject(VDomainModelReference domainModelReference, org.eclipse.emf.ecore.EObject domainObject) throws EMFFormsExpandingFailedException
Prepares adomain object
for the givenVDomainModelReference
. Thereby, the path defined by theVDomainModelReference
is analyzed and missing objects in the domain model are created. Thereby, theVDomainModelReference
is not changed.Example:
DMR: A -> B -> x
domain model is instance of A but does not reference an instance of B
=> An instance of B is created and referenced by the domain model.- Parameters:
domainModelReference
- TheVDomainModelReference
for which thedomain object
should be prepared.domainObject
- Thedomain object
to prepare.- Throws:
EMFFormsExpandingFailedException
- if the domain expansion fails.
-
isApplicable
double isApplicable(VDomainModelReference domainModelReference)
Returns how suitable thisEMFFormsDMRExpander
is for the givenVDomainModelReference
.- Parameters:
domainModelReference
- TheVDomainModelReference
for which adomain object
should be prepared.- Returns:
- a value indicating how suitable this
EMFFormsDMRExpander
is to expand adomain object
for the givenVDomainModelReference
. Returns NOT_APPLICABLE if it's not applicable.
-
-