org.eclipse.ocl.examples.library.ecore
Class EcoreReflectiveType

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.types.AbstractInheritance
      extended by org.eclipse.ocl.examples.library.executor.ReflectiveType
          extended by org.eclipse.ocl.examples.library.ecore.EcoreReflectiveType
All Implemented Interfaces:
DomainElement, DomainInheritance, DomainNamedElement, DomainNamespace, DomainType, Nameable, OCLValue
Direct Known Subclasses:
EcoreReflectiveEnumeration

public class EcoreReflectiveType
extends ReflectiveType


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.domain.types.AbstractInheritance
AbstractInheritance.FragmentIterable
 
Field Summary
protected  org.eclipse.emf.ecore.EClassifier eClassifier
           
static java.util.List<DomainInheritance> EMPTY_INHERITANCES
           
protected  DomainTypeParameters typeParameters
           
 
Fields inherited from class org.eclipse.ocl.examples.domain.types.AbstractInheritance
evaluationPackage, flags, name, operationMap, ORDERED, propertyMap, UNIQUE
 
Fields inherited from interface org.eclipse.ocl.examples.domain.elements.DomainInheritance
EMPTY_ARRAY
 
Constructor Summary
EcoreReflectiveType(EcoreReflectivePackage evaluationPackage, int flags, org.eclipse.emf.ecore.EClassifier eClassifier, DomainTemplateParameter... typeParameters)
           
 
Method Summary
protected  AbstractFragment createFragment(DomainInheritance baseInheritance)
           
 java.lang.Object 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.
 java.lang.Iterable<? extends DomainOperation> getAllOperations(FeatureFilter featureFilter)
           
 java.lang.Iterable<? extends DomainProperty> getAllProperties(FeatureFilter featureFilter)
           
 org.eclipse.emf.ecore.EClassifier getEClassifier()
           
 java.lang.Iterable<? extends DomainInheritance> getInitialSuperInheritances()
          Return the immediate superinheritances without reference to the fragments.
 java.util.List<? extends DomainOperation> getLocalOperations()
           
 java.util.List<? extends DomainProperty> getLocalProperties()
           
 java.util.List<? extends DomainType> getLocalSuperTypes()
           
 DomainProperty getMemberProperty(java.lang.String name)
           
 java.lang.String getMetaTypeName()
          Return the name of the meta-type of this type.
 java.util.List<? extends DomainProperty> getOwnedAttribute()
           
 java.util.List<? extends DomainOperation> getOwnedOperation()
           
 DomainStandardLibrary getStandardLibrary()
          Return the Standard Library managing the dispatch tables.
 DomainTypeParameters getTypeParameters()
          Return the ordered list of type parameters of this type.
 
Methods inherited from class org.eclipse.ocl.examples.library.executor.ReflectiveType
addSubInheritance, computeFlags, dispose, gatherUninstalledInheritances, getAllSuperFragments, getDepth, getFragment, getFragments, getIndex, getIndexes, getSelfFragment, getSuperFragments, getType, getTypeId, initialize, install, installOclAny, isInstallable, isInstalled, removeSubInheritance, uninstall
 
Methods inherited from class org.eclipse.ocl.examples.domain.types.AbstractInheritance
conformsTo, getCommonInheritance, getCommonType, getFragment, getInheritance, getMemberOperation, getName, getNormalizedType, getOclAnyInheritance, getOwnedInvariant, getOwnedRule, getPackage, initStatics, isEqualTo, isEqualToUnspecializedType, isInvalid, isOrdered, isSubInheritanceOf, isSuperInheritanceOf, isUndefined, isUnique, lookupImplementation, lookupLocalOperation, oclEquals, oclHashCode, specializeIn, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY_INHERITANCES

@NonNull
public static final java.util.List<DomainInheritance> EMPTY_INHERITANCES

eClassifier

@NonNull
protected final org.eclipse.emf.ecore.EClassifier eClassifier

typeParameters

@NonNull
protected final DomainTypeParameters typeParameters
Constructor Detail

EcoreReflectiveType

public EcoreReflectiveType(@NonNull
                           EcoreReflectivePackage evaluationPackage,
                           int flags,
                           @NonNull
                           org.eclipse.emf.ecore.EClassifier eClassifier,
                           @NonNull
                           DomainTemplateParameter... typeParameters)
Method Detail

createFragment

@NonNull
protected AbstractFragment createFragment(@NonNull
                                                  DomainInheritance baseInheritance)
Specified by:
createFragment in class ReflectiveType

createInstance

@NonNull
public java.lang.Object createInstance()
Description copied from interface: DomainType
Return a new instance of this type from valueFactory. Properties may be initialised using DomainProperty.initValue(Object, Object) provided no side-effect free OCL functionality is permitted to use the ObjectValue until initialisation has completed.

Specified by:
createInstance in interface DomainType
Overrides:
createInstance in class ReflectiveType

createInstance

@NonNull
public java.lang.Object createInstance(@NonNull
                                               java.lang.String value)
Description copied from interface: DomainType
Return a new instance of this data type from valueFactory.

Specified by:
createInstance in interface DomainType
Overrides:
createInstance in class ReflectiveType
Parameters:
value - string initial value

getAllOperations

@NonNull
public java.lang.Iterable<? extends DomainOperation> getAllOperations(@Nullable
                                                                              FeatureFilter featureFilter)

getAllProperties

@NonNull
public java.lang.Iterable<? extends DomainProperty> getAllProperties(@Nullable
                                                                             FeatureFilter featureFilter)

getEClassifier

@NonNull
public final org.eclipse.emf.ecore.EClassifier getEClassifier()

getInitialSuperInheritances

@NonNull
public java.lang.Iterable<? extends DomainInheritance> getInitialSuperInheritances()
Description copied from class: ReflectiveType
Return the immediate superinheritances without reference to the fragments.

Specified by:
getInitialSuperInheritances in class ReflectiveType

getLocalOperations

@NonNull
public java.util.List<? extends DomainOperation> getLocalOperations()

getLocalProperties

@NonNull
public java.util.List<? extends DomainProperty> getLocalProperties()

getLocalSuperTypes

@NonNull
public java.util.List<? extends DomainType> getLocalSuperTypes()

getMemberProperty

@Nullable
public DomainProperty getMemberProperty(@NonNull
                                                 java.lang.String name)

getMetaTypeName

@NonNull
public java.lang.String getMetaTypeName()
Description copied from interface: DomainType
Return the name of the meta-type of this type.


getOwnedAttribute

@NonNull
public java.util.List<? extends DomainProperty> getOwnedAttribute()

getOwnedOperation

@NonNull
public java.util.List<? extends DomainOperation> getOwnedOperation()

getStandardLibrary

@NonNull
public DomainStandardLibrary getStandardLibrary()
Description copied from interface: DomainInheritance
Return the Standard Library managing the dispatch tables.


getTypeParameters

@NonNull
public DomainTypeParameters getTypeParameters()
Description copied from interface: DomainType
Return the ordered list of type parameters of this type.