public abstract class ReflectiveInheritance extends AbstractExecutorClass
AbstractInheritance.FragmentIterable
flags, OCL_ANY, OCL_INVALID, OCL_VOID, ORDERED, UNIQUE
name
EMPTY_ARRAY
Constructor and Description |
---|
ReflectiveInheritance(java.lang.String name,
int flags,
ExecutorTypeParameter... typeParameters) |
Modifier and Type | Method and Description |
---|---|
void |
addSubInheritance(ReflectiveInheritance subInheritance) |
protected static int |
computeFlags(Class domainClass) |
protected abstract AbstractFragment |
createFragment(CompleteInheritance baseInheritance) |
org.eclipse.emf.ecore.EObject |
createInstance()
Return a new instance of this type from valueFactory.
|
java.lang.Object |
createInstance(java.lang.String value)
Return a new instance of this data type from valueFactory.
|
boolean |
gatherUninstalledInheritances(java.util.List<ReflectiveInheritance> inheritances)
Add this Inheritance and all un-installed super-Inheritances to inheritances, returning true if this
inheritance was already installed.
|
AbstractInheritance.FragmentIterable |
getAllProperSuperFragments()
Return a depth ordered, OclAny-first, OclSelf-last, Iterable of all the super-adapters excluding this one.
|
AbstractInheritance.FragmentIterable |
getAllSuperFragments()
Return a depth ordered, OclAny-first, OclSelf-last, Iterable of all the super-adapters including this one.
|
int |
getDepth()
Return the inheritance depth of the target type: OclAny is at depth 0.
|
InheritanceFragment |
getFragment(int fragmentNumber) |
java.lang.Iterable<InheritanceFragment> |
getFragments() |
int |
getIndex(int fragmentNumber) |
int |
getIndexes() |
protected abstract java.lang.Iterable<? extends CompleteInheritance> |
getInitialSuperInheritances()
Return the immediate superinheritances without reference to the fragments.
|
InheritanceFragment |
getSelfFragment() |
AbstractInheritance.FragmentIterable |
getSuperFragments(int depth)
Return an Iterable of all the super-inheritances at a specified depth, between 0 and getDepth() inclusive.
|
protected void |
initialize() |
boolean |
install()
Install this Inheritance establishing its superClass tables and registering
it to be notified of any changes.
|
protected void |
installOclAny()
Install the root OclAny Inheritance.
|
boolean |
isInstallable()
Return true if this is installed or able to be installed.
|
boolean |
isInstalled()
Return true if this is installed.
|
void |
removeSubInheritance(ReflectiveInheritance subInheritance) |
void |
uninstall() |
getBehavioralClass, getExtenders, getInheritance, getInstanceClassName, getMetaTypeName, getOwnedBehaviors, getOwnedBindings, getOwnedConstraints, getOwnedInvariants, getOwnedOperations, getOwnedProperties, getOwnedSignature, getOwningPackage, getSuperClasses, getTypeParameters, getUnspecializedElement, isIsAbstract, isIsActive, isIsInterface, isIsSerializable, isOrdered, isUnique, setBehavioralClass, setInstanceClassName, setIsAbstract, setIsActive, setIsInterface, setIsSerializable, setOwnedSignature, setOwningPackage, setUnspecializedElement, validateUniqueInvariantName
conformsTo, flattenedType, getCommonType, getMemberOperation, getMemberProperty, getNormalizedType, getPivotClass, getTypeId, isClass, isEqualTo, isEqualToUnspecializedType, isTemplateParameter, oclEquals, oclHashCode, specializeIn
getCommonInheritance, getFragment, getType, initStatics, isInvalid, isOclAny, isSubInheritanceOf, isSuperInheritanceOf, isUndefined, lookupActualOperation, lookupImplementation, lookupLocalOperation
getName, setName
accept, allOwnedElements, eAdapters, eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eDeliver, eGet, eGet, eInvoke, eIsProxy, eIsSet, eNotify, eResource, eSet, eSetDeliver, eUnset, getAnnotatingComments, getESObject, getETarget, getOwnedAnnotations, getOwnedComments, getOwnedExtensions, getValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
lookupActualOperation, lookupImplementation
conformsTo, flattenedType, getCommonType, getNormalizedType, getTypeId, isClass, isEqualTo, isEqualToUnspecializedType, isTemplateParameter, specializeIn
oclEquals, oclHashCode
getName, setName
accept, allOwnedElements, getAnnotatingComments, getESObject, getETarget, getOwnedAnnotations, getOwnedComments, getOwnedExtensions, getValue
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
public ReflectiveInheritance(@NonNull java.lang.String name, int flags, ExecutorTypeParameter... typeParameters)
public void addSubInheritance(@NonNull ReflectiveInheritance subInheritance)
protected abstract AbstractFragment createFragment(@NonNull CompleteInheritance baseInheritance)
@NonNull public org.eclipse.emf.ecore.EObject createInstance()
Class
Property.initValue(Object, Object)
provided no side-effect free
OCL functionality is permitted to use the ObjectValue until initialisation has completed.createInstance
in interface Class
createInstance
in class AbstractExecutorClass
@Nullable public java.lang.Object createInstance(@NonNull java.lang.String value)
Class
createInstance
in interface Class
createInstance
in class AbstractExecutorClass
value
- string initial valuepublic boolean gatherUninstalledInheritances(@NonNull java.util.List<ReflectiveInheritance> inheritances)
@NonNull public final AbstractInheritance.FragmentIterable getAllProperSuperFragments()
CompleteInheritance
getAllProperSuperFragments
in interface CompleteInheritance
getAllProperSuperFragments
in class AbstractExecutorType
@NonNull public final AbstractInheritance.FragmentIterable getAllSuperFragments()
CompleteInheritance
getAllSuperFragments
in interface CompleteInheritance
getAllSuperFragments
in class AbstractExecutorType
public final int getDepth()
CompleteInheritance
getDepth
in interface CompleteInheritance
getDepth
in class AbstractExecutorType
public InheritanceFragment getFragment(int fragmentNumber)
getFragment
in interface CompleteInheritance
getFragment
in class AbstractExecutorType
@NonNull public java.lang.Iterable<InheritanceFragment> getFragments()
getFragments
in interface CompleteInheritance
getFragments
in class AbstractExecutorType
public int getIndex(int fragmentNumber)
getIndex
in interface CompleteInheritance
getIndex
in class AbstractExecutorType
public int getIndexes()
getIndexes
in interface CompleteInheritance
getIndexes
in class AbstractExecutorType
@NonNull protected abstract java.lang.Iterable<? extends CompleteInheritance> getInitialSuperInheritances()
@NonNull public InheritanceFragment getSelfFragment()
getSelfFragment
in interface CompleteInheritance
getSelfFragment
in class AbstractExecutorType
@NonNull public final AbstractInheritance.FragmentIterable getSuperFragments(int depth)
CompleteInheritance
getSuperFragments
in interface CompleteInheritance
getSuperFragments
in class AbstractExecutorType
protected void initialize()
public boolean install()
protected final void installOclAny()
public boolean isInstallable()
public boolean isInstalled()
public void removeSubInheritance(@NonNull ReflectiveInheritance subInheritance)
public void uninstall()