public class PivotSaver extends AbstractPivotSaver
| Modifier and Type | Class and Description |
|---|---|
static class |
PivotSaver.LocateVisitor
LocateVisitor locates references to shared specializations, so that
local copies can be created and then replaced by the ResolveVisitor.
|
static class |
PivotSaver.ResolveVisitor
ResolveVisitor converts references to shared specializations
to references to local copies.
|
| Modifier and Type | Field and Description |
|---|---|
static AbstractPivotSaver.Factory |
FACTORY |
protected org.eclipse.emf.ecore.resource.Resource |
resource |
| Constructor and Description |
|---|
PivotSaver(org.eclipse.emf.ecore.resource.Resource resource) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSpecializingElement(Element object) |
boolean |
addSpecializingElement(Element object,
Operation referredOperation) |
boolean |
addSpecializingElement(Element object,
Type referredType) |
protected Package |
getOrphanPackage(org.eclipse.emf.ecore.resource.Resource resource) |
protected boolean |
isOrphanOperation(Operation operation) |
Package |
localizeSpecializations()
Prepare a pivot resource for save by redirecting all type references to
specializations to local copies of the specializations.
|
protected void |
locateSpecializations(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects) |
<T extends Operation> |
resolveOperation(T referredOperation)
Return the resolved variant of referredType, which may require creation
of a local copy of a specialization.
|
<T extends Type> |
resolveType(T referredType)
Return the resolved variant of referredType, which may require creation
of a local copy of a specialization.
|
addFactory, getLocateVisitor, getResolveVisitorpublic static AbstractPivotSaver.Factory FACTORY
protected final org.eclipse.emf.ecore.resource.Resource resource
public void addSpecializingElement(@NonNull
Element object)
addSpecializingElement in class AbstractPivotSaverpublic boolean addSpecializingElement(@NonNull
Element object,
@NonNull
Operation referredOperation)
addSpecializingElement in class AbstractPivotSaverpublic boolean addSpecializingElement(@NonNull
Element object,
@NonNull
Type referredType)
addSpecializingElement in class AbstractPivotSaverprotected Package getOrphanPackage(org.eclipse.emf.ecore.resource.Resource resource)
protected boolean isOrphanOperation(Operation operation)
public Package localizeSpecializations()
protected void locateSpecializations(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects)
@NonNull public <T extends Operation> T resolveOperation(@NonNull T referredOperation)
resolveOperation in class AbstractPivotSaver@NonNull public <T extends Type> T resolveType(@NonNull T referredType)
resolveType in class AbstractPivotSaver