org.eclipse.ocl.examples.library.executor
Class ReflectivePackage
java.lang.Object
org.eclipse.ocl.examples.library.executor.ExecutorPackage
org.eclipse.ocl.examples.library.executor.ReflectivePackage
- All Implemented Interfaces:
- DomainElement, DomainNamedElement, DomainNamespace, DomainPackage, Nameable
- Direct Known Subclasses:
- DomainReflectivePackage, PackageServer
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.
Constructor Summary |
ReflectivePackage(java.lang.String name,
java.lang.String nsPrefix,
java.lang.String nsURI,
PackageId packageId)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
types
@Nullable
protected java.util.Map<DomainType,DomainInheritance> types
ReflectivePackage
public ReflectivePackage(@NonNull
java.lang.String name,
@Nullable
java.lang.String nsPrefix,
@Nullable
java.lang.String nsURI,
@NonNull
PackageId packageId)
computeClasses
@NonNull
protected java.util.Map<DomainType,DomainInheritance> computeClasses()
createExecutorType
@NonNull
protected abstract DomainInheritance createExecutorType(@NonNull
DomainType domainType)
getDomainTypes
@NonNull
protected abstract java.lang.Iterable<? extends DomainType> getDomainTypes()
getInheritance
@NonNull
public DomainInheritance getInheritance(@NonNull
DomainType type)
getOwnedType
@NonNull
public java.util.List<? extends DomainType> getOwnedType()
- Specified by:
getOwnedType
in interface DomainPackage
- Specified by:
getOwnedType
in class ExecutorPackage
getStandardLibrary
@NonNull
protected abstract DomainStandardLibrary getStandardLibrary()