org.eclipse.ocl.examples.domain.elements
Interface DomainInheritance

All Superinterfaces:
DomainElement, DomainType
All Known Implementing Classes:
AbstractInheritance, DomainReflectiveType, EcoreExecutorEnumeration, EcoreExecutorType, EcoreReflectiveType, ExecutorType, PivotReflectiveAnyType, PivotReflectiveEnumerationType, PivotReflectiveInvalidType, PivotReflectiveType, PivotReflectiveVoidType, ReflectiveType

public interface DomainInheritance
extends DomainType

An Inheritance provides access to the transitive inheritance relationships of a type with respect to a particular type regime, noting that the complexities of CompleteOCL allow for different inheritance for different applications. The allSuperInheritances relationship is computed lazily and invalidated whenever a superclass changes. KnownSubInheritances are also notified of invalidation avoiding the need for an adapting Inheritance to adapt more than its own target class.


Method Summary
 java.lang.Iterable<DomainFragment> getAllSuperFragments()
          Return a depth ordered, OclAny-first, OclSelf-last, Iterable of all the super-adapters including this one.
 DomainInheritance getCommonInheritance(DomainInheritance inheritance)
           
 int getDepth()
          Return the inheritance depth of the target type: OclAny is at depth 0.
 DomainFragment getFragment(DomainInheritance thatInheritance)
           
 DomainFragment getFragment(int fragmentNumber)
           
 int getIndex(int fragmentNumber)
           
 int getIndexes()
           
 DomainFragment getSelfFragment()
           
 DomainStandardLibrary getStandardLibrary()
          Return the Standard Library managing the dispatch tables.
 IndexableIterable<DomainFragment> getSuperFragments(int depth)
          Return an Iterable of all the super-inheritances at a specified depth, between 0 and getDepth() inclusive.
 boolean isSubInheritanceOf(DomainInheritance inheritance)
           
 boolean isSuperInheritanceOf(DomainStandardLibrary standardLibrary, DomainInheritance inheritance)
           
 boolean isUndefined()
           
 DomainOperation lookupLocalOperation(DomainStandardLibrary standardLibrary, java.lang.String operationName, DomainInheritance... argumentTypes)
           
 
Methods inherited from interface org.eclipse.ocl.examples.domain.elements.DomainType
conformsTo, createInstance, createInstance, getCommonType, getInheritance, getLocalOperations, getLocalProperties, getLocalSuperTypes, getMetaTypeName, getName, getNormalizedType, getPackage, isEqualTo, isEqualToUnspecializedType, isOrdered, isUnique, lookupImplementation
 

Method Detail

getAllSuperFragments

java.lang.Iterable<DomainFragment> getAllSuperFragments()
Return a depth ordered, OclAny-first, OclSelf-last, Iterable of all the super-adapters including this one.


getDepth

int getDepth()
Return the inheritance depth of the target type: OclAny is at depth 0.


getStandardLibrary

DomainStandardLibrary getStandardLibrary()
Return the Standard Library managing the dispatch tables.


getSuperFragments

IndexableIterable<DomainFragment> getSuperFragments(int depth)
Return an Iterable of all the super-inheritances at a specified depth, between 0 and getDepth() inclusive.


isSubInheritanceOf

boolean isSubInheritanceOf(DomainInheritance inheritance)

isSuperInheritanceOf

boolean isSuperInheritanceOf(DomainStandardLibrary standardLibrary,
                             DomainInheritance inheritance)

getFragment

DomainFragment getFragment(DomainInheritance thatInheritance)

getFragment

DomainFragment getFragment(int fragmentNumber)

getIndex

int getIndex(int fragmentNumber)

getIndexes

int getIndexes()

getCommonInheritance

DomainInheritance getCommonInheritance(DomainInheritance inheritance)

isUndefined

boolean isUndefined()

getSelfFragment

DomainFragment getSelfFragment()

lookupLocalOperation

DomainOperation lookupLocalOperation(DomainStandardLibrary standardLibrary,
                                     java.lang.String operationName,
                                     DomainInheritance... argumentTypes)