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(@NonNull
                              AbstractPivotSaver.Factory factory)

addSpecializingElement

public abstract void addSpecializingElement(@NonNull
                                            Element object)

addSpecializingElement

public abstract boolean addSpecializingElement(@NonNull
                                               Element object,
                                               @NonNull
                                               Operation referredOperation)

addSpecializingElement

public abstract boolean addSpecializingElement(@NonNull
                                               Element object,
                                               @NonNull
                                               Type referredType)

getLocateVisitor

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

getResolveVisitor

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

resolveOperation

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

resolveType

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