org.eclipse.ocl.examples.domain.ids
Interface TypeId

All Superinterfaces:
ElementId
All Known Subinterfaces:
BuiltInTypeId, ClassId, CollectionTypeId, DataTypeId, EnumerationId, LambdaTypeId, MetaclassId, NestedTypeId, OclInvalidTypeId, OclVoidTypeId, PrimitiveTypeId, TemplateableTypeId, TemplateBinding, TemplateParameterId, TupleTypeId, UnspecifiedId
All Known Implementing Classes:
AbstractMetaclassId, AbstractTypeId, EnumerationIdImpl, EnumerationLiteralIdImpl, GeneralizedClassIdImpl, GeneralizedCollectionTypeIdImpl, GeneralizedDataTypeIdImpl, GeneralizedLambdaTypeIdImpl, GeneralizedMetaclassIdImpl, GeneralizedNestedTypeIdImpl, GeneralizedTupleTypeIdImpl, GeneralizedTypeIdImpl, JavaTypeId, OclInvalidTypeIdImpl, OclVoidTypeIdImpl, PrimitiveTypeIdImpl, SpecializedCollectionTypeIdImpl, SpecializedLambdaTypeIdImpl, SpecializedMetaclassIdImpl, SpecializedTypeIdImpl, TemplateBindingImpl, TemplateParameterIdImpl, UnscopedId, UnspecifiedIdImpl

public interface TypeId
extends ElementId

A TypeId provides a unique hierarchical for type which may have many 'actual' type variants.

For instance 'Boolean' is a well-understood conceptual, but it may have many 'actual' as a result of Complete OCL definitions merging additional features in to the 'actual' type.

See Also:
CollectionTypeId, LambdaTypeId, OclInvalidTypeId, OclVoidTypeId, PrimitiveTypeId, TupleTypeId

Field Summary
static CollectionTypeId BAG
           
static java.lang.String BAG_NAME
           
static PrimitiveTypeId BOOLEAN
           
static java.lang.String BOOLEAN_NAME
           
static java.lang.String CLASS_NAME
           
static CollectionTypeId COLLECTION
           
static java.lang.String COLLECTION_NAME
           
static java.lang.String COLLECTION_TYPE_NAME
           
static java.lang.String DATA_TYPE_NAME
           
static java.lang.String ENUMERATION_NAME
           
static PrimitiveTypeId INTEGER
           
static java.lang.String INTEGER_NAME
           
static PrimitiveTypeId INTEGER_RANGE
          For code generation we need some kind of type identifier for a range.
static java.lang.String INTEGER_RANGE_NAME
           
static java.lang.String LAMBDA_TYPE_NAME
           
static MetaclassId METACLASS
           
static java.lang.String METACLASS_NAME
           
static java.lang.String[] NULL_STRING_ARRAY
           
static TuplePartId[] NULL_TUPLE_PART_ID_ARRAY
           
static TypeId[] NULL_TYPE_ID_ARRAY
           
static PrimitiveTypeId OCL_ANY
           
static java.lang.String OCL_ANY_NAME
           
static PrimitiveTypeId OCL_COMPARABLE
           
static java.lang.String OCL_COMPARABLE_NAME
           
static OclInvalidTypeId OCL_INVALID
          OclInvalid has a distinct Id that captures its conformance to everything and very limited validity.
static java.lang.String OCL_INVALID_NAME
           
static PrimitiveTypeId OCL_SELF
           
static java.lang.String OCL_SELF_NAME
           
static PrimitiveTypeId OCL_SUMMABLE
           
static java.lang.String OCL_SUMMABLE_NAME
           
static OclVoidTypeId OCL_VOID
          OclVoid has a distinct Id that captures its conformance to everything (except invalid).
static java.lang.String OCL_VOID_NAME
           
static java.lang.String OPERATION_NAME
           
static CollectionTypeId ORDERED_SET
           
static java.lang.String ORDERED_SET_NAME
           
static java.lang.String PRIMITIVE_TYPE_NAME
           
static java.lang.String PROPERTY_NAME
           
static PrimitiveTypeId REAL
           
static java.lang.String REAL_NAME
           
static CollectionTypeId SEQUENCE
           
static java.lang.String SEQUENCE_NAME
           
static CollectionTypeId SET
           
static java.lang.String SET_NAME
           
static PrimitiveTypeId STRING
           
static java.lang.String STRING_NAME
           
static TemplateParameterId T_1
           
static TemplateParameterId T_2
           
static TemplateParameterId T_3
           
static java.lang.String TUPLE_NAME
           
static java.lang.String TUPLE_TYPE_NAME
           
static CollectionTypeId UNIQUE_COLLECTION
           
static java.lang.String UNIQUE_COLLECTION_NAME
           
static PrimitiveTypeId UNLIMITED_NATURAL
           
static java.lang.String UNLIMITED_NATURAL_NAME
           
 
Method Summary
 java.lang.String getLiteralName()
           
 java.lang.String getMetaTypeName()
           
 OperationId getOperationId(int templateParameters, java.lang.String name, ParametersId parametersId)
          Return the OperationId for an Operation of this typeId.
 PropertyId getPropertyId(java.lang.String name)
          Return the PropertyId for a Property of this typeId.
 TemplateParameterId getTemplateParameterId(int index)
          Return the typeId for the named type parameter of this typeId.
 int getTemplateParameters()
           
 ElementId specialize(BindingsId templateBindings)
           
 
Methods inherited from interface org.eclipse.ocl.examples.domain.ids.ElementId
accept, getDisplayName
 

Field Detail

BAG_NAME

@NonNull
static final java.lang.String BAG_NAME
See Also:
Constant Field Values

BOOLEAN_NAME

@NonNull
static final java.lang.String BOOLEAN_NAME
See Also:
Constant Field Values

CLASS_NAME

@NonNull
static final java.lang.String CLASS_NAME
See Also:
Constant Field Values

COLLECTION_NAME

@NonNull
static final java.lang.String COLLECTION_NAME
See Also:
Constant Field Values

COLLECTION_TYPE_NAME

@NonNull
static final java.lang.String COLLECTION_TYPE_NAME
See Also:
Constant Field Values

DATA_TYPE_NAME

@NonNull
static final java.lang.String DATA_TYPE_NAME
See Also:
Constant Field Values

ENUMERATION_NAME

@NonNull
static final java.lang.String ENUMERATION_NAME
See Also:
Constant Field Values

INTEGER_NAME

@NonNull
static final java.lang.String INTEGER_NAME
See Also:
Constant Field Values

INTEGER_RANGE_NAME

@NonNull
static final java.lang.String INTEGER_RANGE_NAME
See Also:
Constant Field Values

LAMBDA_TYPE_NAME

@NonNull
static final java.lang.String LAMBDA_TYPE_NAME
See Also:
Constant Field Values

METACLASS_NAME

@NonNull
static final java.lang.String METACLASS_NAME
See Also:
Constant Field Values

OCL_ANY_NAME

@NonNull
static final java.lang.String OCL_ANY_NAME
See Also:
Constant Field Values

OCL_COMPARABLE_NAME

@NonNull
static final java.lang.String OCL_COMPARABLE_NAME
See Also:
Constant Field Values

OCL_INVALID_NAME

@NonNull
static final java.lang.String OCL_INVALID_NAME
See Also:
Constant Field Values

OCL_SELF_NAME

@NonNull
static final java.lang.String OCL_SELF_NAME
See Also:
Constant Field Values

OCL_SUMMABLE_NAME

@NonNull
static final java.lang.String OCL_SUMMABLE_NAME
See Also:
Constant Field Values

OCL_VOID_NAME

@NonNull
static final java.lang.String OCL_VOID_NAME
See Also:
Constant Field Values

OPERATION_NAME

@NonNull
static final java.lang.String OPERATION_NAME
See Also:
Constant Field Values

ORDERED_SET_NAME

@NonNull
static final java.lang.String ORDERED_SET_NAME
See Also:
Constant Field Values

PRIMITIVE_TYPE_NAME

@NonNull
static final java.lang.String PRIMITIVE_TYPE_NAME
See Also:
Constant Field Values

PROPERTY_NAME

@NonNull
static final java.lang.String PROPERTY_NAME
See Also:
Constant Field Values

REAL_NAME

@NonNull
static final java.lang.String REAL_NAME
See Also:
Constant Field Values

SEQUENCE_NAME

@NonNull
static final java.lang.String SEQUENCE_NAME
See Also:
Constant Field Values

SET_NAME

@NonNull
static final java.lang.String SET_NAME
See Also:
Constant Field Values

STRING_NAME

@NonNull
static final java.lang.String STRING_NAME
See Also:
Constant Field Values

TUPLE_NAME

@NonNull
static final java.lang.String TUPLE_NAME
See Also:
Constant Field Values

TUPLE_TYPE_NAME

@NonNull
static final java.lang.String TUPLE_TYPE_NAME
See Also:
Constant Field Values

UNIQUE_COLLECTION_NAME

@NonNull
static final java.lang.String UNIQUE_COLLECTION_NAME
See Also:
Constant Field Values

UNLIMITED_NATURAL_NAME

@NonNull
static final java.lang.String UNLIMITED_NATURAL_NAME
See Also:
Constant Field Values

BOOLEAN

@NonNull
static final PrimitiveTypeId BOOLEAN

INTEGER

@NonNull
static final PrimitiveTypeId INTEGER

INTEGER_RANGE

@NonNull
static final PrimitiveTypeId INTEGER_RANGE
For code generation we need some kind of type identifier for a range. Perhaps it could be a Collection. For now a distinct primitive at least makes it different to everything else.


OCL_ANY

@NonNull
static final PrimitiveTypeId OCL_ANY

OCL_COMPARABLE

@NonNull
static final PrimitiveTypeId OCL_COMPARABLE

OCL_INVALID

@NonNull
static final OclInvalidTypeId OCL_INVALID
OclInvalid has a distinct Id that captures its conformance to everything and very limited validity.


OCL_SELF

@NonNull
static final PrimitiveTypeId OCL_SELF

OCL_SUMMABLE

@NonNull
static final PrimitiveTypeId OCL_SUMMABLE

OCL_VOID

@NonNull
static final OclVoidTypeId OCL_VOID
OclVoid has a distinct Id that captures its conformance to everything (except invalid).


REAL

@NonNull
static final PrimitiveTypeId REAL

STRING

@NonNull
static final PrimitiveTypeId STRING

UNLIMITED_NATURAL

@NonNull
static final PrimitiveTypeId UNLIMITED_NATURAL

BAG

@NonNull
static final CollectionTypeId BAG

COLLECTION

@NonNull
static final CollectionTypeId COLLECTION

METACLASS

@NonNull
static final MetaclassId METACLASS

ORDERED_SET

@NonNull
static final CollectionTypeId ORDERED_SET

SEQUENCE

@NonNull
static final CollectionTypeId SEQUENCE

SET

@NonNull
static final CollectionTypeId SET

UNIQUE_COLLECTION

@NonNull
static final CollectionTypeId UNIQUE_COLLECTION

T_1

@NonNull
static final TemplateParameterId T_1

T_2

@NonNull
static final TemplateParameterId T_2

T_3

@NonNull
static final TemplateParameterId T_3

NULL_STRING_ARRAY

@NonNull
static final java.lang.String[] NULL_STRING_ARRAY

NULL_TUPLE_PART_ID_ARRAY

@NonNull
static final TuplePartId[] NULL_TUPLE_PART_ID_ARRAY

NULL_TYPE_ID_ARRAY

@NonNull
static final TypeId[] NULL_TYPE_ID_ARRAY
Method Detail

getLiteralName

@Nullable
java.lang.String getLiteralName()

getMetaTypeName

@NonNull
java.lang.String getMetaTypeName()

getOperationId

@NonNull
OperationId getOperationId(int templateParameters,
                                   @NonNull
                                   java.lang.String name,
                                   @NonNull
                                   ParametersId parametersId)
Return the OperationId for an Operation of this typeId.

Throws UnsupportedException for typeIds such as Primitive Types that may not have operations.


getPropertyId

@NonNull
PropertyId getPropertyId(@NonNull
                                 java.lang.String name)
Return the PropertyId for a Property of this typeId.

Throws UnsupportedException for typeIds such as Primitive Types that may not have properties.


getTemplateParameterId

@NonNull
TemplateParameterId getTemplateParameterId(int index)
Return the typeId for the named type parameter of this typeId.

Throws UnsupportedException for typeIds such as Primitive Types that may not have type parameters.


getTemplateParameters

int getTemplateParameters()

specialize

@NonNull
ElementId specialize(@NonNull
                             BindingsId templateBindings)