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

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.utilities.AbstractPivotSaver
Direct Known Subclasses:
PivotSaver

public abstract class AbstractPivotSaver
extends java.lang.Object

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


Nested Class Summary
static interface AbstractPivotSaver.Factory
           
static interface AbstractPivotSaver.LocateVisitor
           
static interface AbstractPivotSaver.ResolveVisitor
           
 
Constructor Summary
AbstractPivotSaver()
           
 
Method Summary
static void addFactory(AbstractPivotSaver.Factory factory)
           
abstract  void addSpecializingElement(Element object)
           
abstract  boolean addSpecializingElement(Element object, Operation referredOperation)
           
abstract  boolean addSpecializingElement(Element object, Type referredType)
           
protected  AbstractPivotSaver.LocateVisitor getLocateVisitor(org.eclipse.emf.ecore.EObject eObject)
           
protected  AbstractPivotSaver.ResolveVisitor getResolveVisitor(org.eclipse.emf.ecore.EObject eObject)
           
abstract
<T extends Operation>
T
resolveOperation(T referredOperation)
           
abstract
<T extends Type>
T
resolveType(T referredType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractPivotSaver

public AbstractPivotSaver()
Method Detail

addFactory

public static void addFactory(AbstractPivotSaver.Factory factory)

addSpecializingElement

public abstract void addSpecializingElement(Element object)

addSpecializingElement

public abstract boolean addSpecializingElement(Element object,
                                               Operation referredOperation)

addSpecializingElement

public abstract boolean addSpecializingElement(Element object,
                                               Type referredType)

getLocateVisitor

protected AbstractPivotSaver.LocateVisitor getLocateVisitor(org.eclipse.emf.ecore.EObject eObject)

getResolveVisitor

protected AbstractPivotSaver.ResolveVisitor getResolveVisitor(org.eclipse.emf.ecore.EObject eObject)

resolveOperation

public abstract <T extends Operation> T resolveOperation(T referredOperation)

resolveType

public abstract <T extends Type> T resolveType(T referredType)