org.eclipse.ocl.examples.pivot.utilities
Class PivotSaver

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.utilities.PivotSaver

public class PivotSaver
extends java.lang.Object

PivotSaver ensures that all references to specialized types are terminated by local copies of the specialization.


Nested Class Summary
 class PivotSaver.PivotSaveLocateVisitor
          PivotSaveLocateVisitor locates references to shared specializations, so that local copies can be created and then replaced by the PivotSaveResolveVisitor.
 class PivotSaver.PivotSaveResolveVisitor
          PivotSaveResolveVisitor converts references to shared specializations to references to local copies.
 
Field Summary
protected  org.eclipse.emf.ecore.resource.Resource resource
           
 
Constructor Summary
PivotSaver(org.eclipse.emf.ecore.resource.Resource resource)
           
 
Method Summary
protected  Package getOrphanPackage(org.eclipse.emf.ecore.resource.Resource resource)
           
protected  boolean isOrphanOperation(Operation operation)
           
protected  boolean isOrphanType(Type type)
           
 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

resource

protected final org.eclipse.emf.ecore.resource.Resource resource
Constructor Detail

PivotSaver

public PivotSaver(org.eclipse.emf.ecore.resource.Resource resource)
Method Detail

getOrphanPackage

protected Package getOrphanPackage(org.eclipse.emf.ecore.resource.Resource resource)

isOrphanOperation

protected boolean isOrphanOperation(Operation operation)

isOrphanType

protected boolean isOrphanType(Type type)

localizeSpecializations

public Package localizeSpecializations()
Prepare a pivot resource for save by redirecting all type references to specializations to local copies of the specializations.


locateSpecializations

protected void locateSpecializations(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects)