org.eclipse.ocl.types
Interface TupleType<O,P>

All Superinterfaces:
EObject, Notifier, PredefinedType<O>
All Known Subinterfaces:
TupleType, TupleType
All Known Implementing Classes:
TupleTypeImpl, TupleTypeImpl, TupleTypeImpl

public interface TupleType<O,P>
extends PredefinedType<O>

A representation of the model object 'Tuple Type'.

See Also:
TypesPackage.getTupleType()

Field Summary
static String SINGLETON_NAME
           
 
Fields inherited from interface org.eclipse.ocl.utilities.PredefinedType
ABS, ABS_NAME, ALL_INSTANCES, ALL_INSTANCES_NAME, AND, AND_NAME, ANY, ANY_NAME, APPEND, APPEND_NAME, AS_BAG, AS_BAG_NAME, AS_ORDERED_SET, AS_ORDERED_SET_NAME, AS_SEQUENCE, AS_SEQUENCE_NAME, AS_SET, AS_SET_NAME, AT, AT_NAME, CLOSURE, CLOSURE_NAME, COLLECT, COLLECT_NAME, COLLECT_NESTED, COLLECT_NESTED_NAME, CONCAT, CONCAT_NAME, COUNT, COUNT_NAME, DIV, DIV_NAME, DIVIDE, DIVIDE_NAME, EQUAL, EQUAL_NAME, EXCLUDES, EXCLUDES_ALL, EXCLUDES_ALL_NAME, EXCLUDES_NAME, EXCLUDING, EXCLUDING_NAME, EXISTS, EXISTS_NAME, FIRST, FIRST_NAME, FLATTEN, FLATTEN_NAME, FLOOR, FLOOR_NAME, FOR_ALL, FOR_ALL_NAME, GREATER_THAN, GREATER_THAN_EQUAL, GREATER_THAN_EQUAL_NAME, GREATER_THAN_NAME, HAS_RETURNED, HAS_RETURNED_NAME, IMPLIES, IMPLIES_NAME, INCLUDES, INCLUDES_ALL, INCLUDES_ALL_NAME, INCLUDES_NAME, INCLUDING, INCLUDING_NAME, INDEX_OF, INDEX_OF_NAME, INSERT_AT, INSERT_AT_NAME, INTERSECTION, INTERSECTION_NAME, IS_EMPTY, IS_EMPTY_NAME, IS_OPERATION_CALL, IS_OPERATION_CALL_NAME, IS_SIGNAL_SENT, IS_SIGNAL_SENT_NAME, IS_UNIQUE, IS_UNIQUE_NAME, LAST, LAST_NAME, LESS_THAN, LESS_THAN_EQUAL, LESS_THAN_EQUAL_NAME, LESS_THAN_NAME, MAX, MAX_NAME, MIN, MIN_NAME, MINUS, MINUS_NAME, MOD, MOD_NAME, NOT, NOT_EMPTY, NOT_EMPTY_NAME, NOT_EQUAL, NOT_EQUAL_NAME, NOT_NAME, OCL_AS_TYPE, OCL_AS_TYPE_NAME, OCL_IS_IN_STATE, OCL_IS_IN_STATE_NAME, OCL_IS_INVALID, OCL_IS_INVALID_NAME, OCL_IS_KIND_OF, OCL_IS_KIND_OF_NAME, OCL_IS_NEW, OCL_IS_NEW_NAME, OCL_IS_TYPE_OF, OCL_IS_TYPE_OF_NAME, OCL_IS_UNDEFINED, OCL_IS_UNDEFINED_NAME, ONE, ONE_NAME, OR, OR_NAME, PLUS, PLUS_NAME, PREPEND, PREPEND_NAME, PRODUCT, PRODUCT_NAME, REJECT, REJECT_NAME, RESULT, RESULT_NAME, ROUND, ROUND_NAME, SELECT, SELECT_NAME, SIZE, SIZE_NAME, SORTED_BY, SORTED_BY_NAME, SUB_ORDERED_SET, SUB_ORDERED_SET_NAME, SUB_SEQUENCE, SUB_SEQUENCE_NAME, SUBSTRING, SUBSTRING_NAME, SUM, SUM_NAME, SYMMETRIC_DIFFERENCE, SYMMETRIC_DIFFERENCE_NAME, TIMES, TIMES_NAME, TO_INTEGER, TO_INTEGER_NAME, TO_LOWER, TO_LOWER_NAME, TO_REAL, TO_REAL_NAME, TO_UPPER, TO_UPPER_NAME, UNION, UNION_NAME, XOR, XOR_NAME
 
Method Summary
 boolean checkFeaturesOnlyProperties(DiagnosticChain diagnostics, Map<Object,Object> context)
          feature->forAll (f | f.oclIsTypeOf(Property))
 boolean checkPartNamesUnique(DiagnosticChain diagnostics, Map<Object,Object> context)
          true
 boolean checkTupleTypeName(DiagnosticChain diagnostics, Map<Object,Object> context)
          name = 'Tuple('.concat ( Sequence{1..allProperties()->size()}->iterate (pn; s: String = '' | let p: Property = allProperties()->at (pn) in ( s.concat ( (if (pn>1) then ',' else '' endif) .concat (p.name).concat (': ') .concat (p.type.name) ) ) ) ).concat (')')
 EList<P> oclProperties()
           If the meaning of the 'Properties' reference list isn't clear, there really should be more of a description here...
 
Methods inherited from interface org.eclipse.ocl.utilities.PredefinedType
getName, oclOperations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Field Detail

SINGLETON_NAME

static final String SINGLETON_NAME
See Also:
Constant Field Values
Method Detail

checkTupleTypeName

boolean checkTupleTypeName(DiagnosticChain diagnostics,
                           Map<Object,Object> context)
name = 'Tuple('.concat ( Sequence{1..allProperties()->size()}->iterate (pn; s: String = '' | let p: Property = allProperties()->at (pn) in ( s.concat ( (if (pn>1) then ',' else '' endif) .concat (p.name).concat (': ') .concat (p.type.name) ) ) ) ).concat (')')

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

checkPartNamesUnique

boolean checkPartNamesUnique(DiagnosticChain diagnostics,
                             Map<Object,Object> context)
true

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

checkFeaturesOnlyProperties

boolean checkFeaturesOnlyProperties(DiagnosticChain diagnostics,
                                    Map<Object,Object> context)
feature->forAll (f | f.oclIsTypeOf(Property))

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

oclProperties

EList<P> oclProperties()

If the meaning of the 'Properties' reference list isn't clear, there really should be more of a description here...


Copyright 2002, 2007 IBM Corporation and others.
All Rights Reserved.