org.eclipse.ocl.ecore.delegate
Class AbstractDelegatedBehavior<E extends org.eclipse.emf.ecore.EModelElement,R,F>

java.lang.Object
  extended by org.eclipse.ocl.ecore.delegate.AbstractDelegatedBehavior<E,R,F>
All Implemented Interfaces:
DelegatedBehavior<E,R,F>
Direct Known Subclasses:
InvocationBehavior, SettingBehavior, ValidationBehavior

public abstract class AbstractDelegatedBehavior<E extends org.eclipse.emf.ecore.EModelElement,R,F>
extends java.lang.Object
implements DelegatedBehavior<E,R,F>

A basic implementation of a delegated behavior.

Since:
3.0

Nested Class Summary
protected static class AbstractDelegatedBehavior.ExpressionCacheAdapter
          Caches a single OCL expression in an adapter that can be attached, e.g., to an Ecore object without "modifying" the object to which the adapter gets attached.
 
Field Summary
static OCLExpression NO_OCL_DEFINITION
          An "identifying" instance that helps distinguish between the case where an OCL expression isn't found in the expression cache and hasn't been looked up elsewhere yet from the case where we looked around for a definition but couldn't find one
 
Constructor Summary
AbstractDelegatedBehavior()
           
 
Method Summary
static java.util.List<DelegatedBehavior<?,?,?>> getDelegatedBehaviors()
           
 java.util.List<DelegateDomain> getDelegateDomains(E eObject)
           
 java.util.List<F> getFactories(E eObject)
           
protected abstract  F getFactory(DelegateDomain delegateDomain, E eObject)
           
 F getFactory(E eObject)
           
static boolean isNoOCLDefinition(OCLExpression e)
          Return true if e is a reserved expression used to cache a miss and so avoid repeating the miss processing on subsequent accesses.
 void setDelegates(org.eclipse.emf.ecore.EPackage ePackage, java.util.List<java.lang.String> delegateURIs)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.ecore.delegate.DelegatedBehavior
getDefaultFactory, getDefaultRegistry, getEPackage, getFactoryClass, getName, getRegistryClass
 

Field Detail

NO_OCL_DEFINITION

public static final OCLExpression NO_OCL_DEFINITION
An "identifying" instance that helps distinguish between the case where an OCL expression isn't found in the expression cache and hasn't been looked up elsewhere yet from the case where we looked around for a definition but couldn't find one

Since:
3.1
Constructor Detail

AbstractDelegatedBehavior

public AbstractDelegatedBehavior()
Method Detail

getDelegatedBehaviors

public static java.util.List<DelegatedBehavior<?,?,?>> getDelegatedBehaviors()

isNoOCLDefinition

public static boolean isNoOCLDefinition(OCLExpression e)
Return true if e is a reserved expression used to cache a miss and so avoid repeating the miss processing on subsequent accesses.

Since:
3.1

getDelegateDomains

public java.util.List<DelegateDomain> getDelegateDomains(E eObject)

getFactories

public java.util.List<F> getFactories(E eObject)
Specified by:
getFactories in interface DelegatedBehavior<E extends org.eclipse.emf.ecore.EModelElement,R,F>

getFactory

protected abstract F getFactory(DelegateDomain delegateDomain,
                                E eObject)

getFactory

public F getFactory(E eObject)
Specified by:
getFactory in interface DelegatedBehavior<E extends org.eclipse.emf.ecore.EModelElement,R,F>

setDelegates

public void setDelegates(org.eclipse.emf.ecore.EPackage ePackage,
                         java.util.List<java.lang.String> delegateURIs)
Specified by:
setDelegates in interface DelegatedBehavior<E extends org.eclipse.emf.ecore.EModelElement,R,F>

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object