org.eclipse.ocl.examples.library.executor
Class ReflectivePackage

java.lang.Object
  extended by org.eclipse.ocl.examples.library.executor.ExecutorPackage
      extended by org.eclipse.ocl.examples.library.executor.ReflectivePackage
All Implemented Interfaces:
DomainElement, DomainPackage
Direct Known Subclasses:
DomainReflectivePackage, PivotReflectivePackage

public abstract class ReflectivePackage
extends ExecutorPackage

A ReflectivePackage builds a dispatch table representative of a model package at run-time using a minimal reflective API.


Field Summary
protected  java.util.Map<DomainType,ReflectiveType> types
           
 
Fields inherited from class org.eclipse.ocl.examples.library.executor.ExecutorPackage
name, nsURI
 
Constructor Summary
ReflectivePackage(java.lang.String name, java.lang.String nsURI)
           
 
Method Summary
protected  void computeClasses()
           
protected abstract  ReflectiveType createExecutorType(DomainType domainType)
           
protected abstract  java.lang.Iterable<? extends DomainType> getDomainTypes()
           
 ReflectiveType getInheritance(DomainType type)
           
 java.lang.Iterable<? extends DomainType> getOwnedType()
           
protected abstract  DomainStandardLibrary getStandardLibrary()
           
 
Methods inherited from class org.eclipse.ocl.examples.library.executor.ExecutorPackage
getName, getNsURI, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

types

protected java.util.Map<DomainType,ReflectiveType> types
Constructor Detail

ReflectivePackage

public ReflectivePackage(java.lang.String name,
                         java.lang.String nsURI)
Method Detail

computeClasses

protected void computeClasses()

createExecutorType

protected abstract ReflectiveType createExecutorType(DomainType domainType)

getDomainTypes

protected abstract java.lang.Iterable<? extends DomainType> getDomainTypes()

getInheritance

public ReflectiveType getInheritance(DomainType type)

getOwnedType

public java.lang.Iterable<? extends DomainType> getOwnedType()

getStandardLibrary

protected abstract DomainStandardLibrary getStandardLibrary()