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

All Superinterfaces:
DomainElement
All Known Subinterfaces:
AnyType, AssociationClass, BagType, Class, ClassifierType, CollectionType, DataType, DomainClassifierType, DomainCollectionType, DomainEnumeration, DomainInheritance, DomainLambdaType, DomainTupleType, Enumeration, ExecutorTypeArgument, InvalidType, LambdaType, MessageType, OrderedSetType, PrimitiveType, SelfType, SequenceType, SetType, TemplateParameterType, TupleType, Type, UnspecifiedType, VoidType
All Known Implementing Classes:
AbstractClassifierType, AbstractCollectionType, AbstractInheritance, AbstractSpecializedType, AbstractTupleType, AbstractType, AnyTypeImpl, AssociationClassImpl, BagTypeImpl, ClassifierTypeImpl, ClassImpl, CollectionTypeImpl, DataTypeImpl, DomainReflectiveType, EcoreExecutorEnumeration, EcoreExecutorType, EcoreReflectiveType, EnumerationImpl, ExecutorLambdaType, ExecutorSpecializedType, ExecutorType, ExecutorTypeParameter, InvalidTypeImpl, LambdaTypeImpl, MessageTypeImpl, OrderedSetTypeImpl, PivotReflectiveAnyType, PivotReflectiveEnumerationType, PivotReflectiveInvalidType, PivotReflectiveType, PivotReflectiveVoidType, PrimitiveTypeImpl, ReflectiveType, SelfTypeImpl, SequenceTypeImpl, SetTypeImpl, TemplateParameterTypeImpl, TupleTypeImpl, TypeImpl, UnspecifiedTypeImpl, VoidTypeImpl

public interface DomainType
extends DomainElement


Method Summary
 boolean conformsTo(DomainStandardLibrary standardLibrary, DomainType thatType)
          Return true if this type conform to thatType within standardLibrary.
 ObjectValue createInstance(ValueFactory valueFactory)
          Return a new instance of this type from valueFactory.
 Value createInstance(ValueFactory valueFactory, java.lang.String value)
          Return a new instance of this data type from valueFactory.
 DomainType getCommonType(DomainStandardLibrary standardLibrary, DomainType thatType)
          Return the most derived type com mon to this type and thatType within standardLibrary.
 DomainInheritance getInheritance(DomainStandardLibrary standardLibrary)
          Return the inheritance description for this type within standardLibrary.
 java.lang.Iterable<? extends DomainOperation> getLocalOperations()
           
 java.lang.Iterable<? extends DomainProperty> getLocalProperties()
           
 java.lang.Iterable<? extends DomainType> getLocalSuperTypes()
           
 java.lang.String getMetaTypeName()
          Return the name of the meta-type of this type.
 java.lang.String getName()
          Return the name of this type (without any decoratuions for specializations).
 DomainType getNormalizedType(DomainStandardLibrary standardLibrary)
          Return the unique executable form of this type within standardLibrary.
 DomainPackage getPackage()
          Return the package containing this type.
 boolean isEqualTo(DomainStandardLibrary standardLibrary, DomainType thatType)
          Return true if this is the same type as thatType within standardLibrary.
 boolean isEqualToUnspecializedType(DomainStandardLibrary standardLibrary, DomainType type)
           
 boolean isOrdered()
          Return true if this type is a Collection type and has ordered elements.
 boolean isUnique()
          Return true if this type is a Collection type and has unique elements.
 LibraryFeature lookupImplementation(DomainStandardLibrary standardLibrary, DomainOperation staticOperation)
          Return the dynamic (overloaded) implementation of the staticOperation applicable to the types managed by the given Standard Library.
 

Method Detail

conformsTo

boolean conformsTo(DomainStandardLibrary standardLibrary,
                   DomainType thatType)
Return true if this type conform to thatType within standardLibrary.


createInstance

ObjectValue createInstance(ValueFactory valueFactory)
Return a new instance of this type from valueFactory. Properties may be initialised using DomainProperty.setValue(ObjectValue, Value) provided no side-effect free OCL functionality is permitted to use the ObjectValue until initialisation has completed.

Parameters:
value -

createInstance

Value createInstance(ValueFactory valueFactory,
                     java.lang.String value)
Return a new instance of this data type from valueFactory.

Parameters:
value - string initial value

getCommonType

DomainType getCommonType(DomainStandardLibrary standardLibrary,
                         DomainType thatType)
Return the most derived type com mon to this type and thatType within standardLibrary.


getInheritance

DomainInheritance getInheritance(DomainStandardLibrary standardLibrary)
Return the inheritance description for this type within standardLibrary.


getLocalOperations

java.lang.Iterable<? extends DomainOperation> getLocalOperations()

getLocalProperties

java.lang.Iterable<? extends DomainProperty> getLocalProperties()

getLocalSuperTypes

java.lang.Iterable<? extends DomainType> getLocalSuperTypes()

getMetaTypeName

java.lang.String getMetaTypeName()
Return the name of the meta-type of this type.


getName

java.lang.String getName()
Return the name of this type (without any decoratuions for specializations).


getNormalizedType

DomainType getNormalizedType(DomainStandardLibrary standardLibrary)
Return the unique executable form of this type within standardLibrary.


getPackage

DomainPackage getPackage()
Return the package containing this type.


isEqualTo

boolean isEqualTo(DomainStandardLibrary standardLibrary,
                  DomainType thatType)
Return true if this is the same type as thatType within standardLibrary.


isEqualToUnspecializedType

boolean isEqualToUnspecializedType(DomainStandardLibrary standardLibrary,
                                   DomainType type)

isOrdered

boolean isOrdered()
Return true if this type is a Collection type and has ordered elements.


isUnique

boolean isUnique()
Return true if this type is a Collection type and has unique elements.


lookupImplementation

LibraryFeature lookupImplementation(DomainStandardLibrary standardLibrary,
                                    DomainOperation staticOperation)
Return the dynamic (overloaded) implementation of the staticOperation applicable to the types managed by the given Standard Library.