## org.eclipse.ocl.expressions
Interface IteratorExp<C,PM>

All Superinterfaces:
  ASTNode, CallExp<C>, CallingASTNode, EObject, LoopExp<C,PM>, Notifier, OCLExpression<C>, TypedElement<C>, Visitable

All Known Subinterfaces:
  IteratorExp, IteratorExp

All Known Implementing Classes:
  IteratorExpImpl, IteratorExpImpl, IteratorExpImpl

    public interface IteratorExp<C,PM>

extends LoopExp<C,PM>

A representation of the model object 'Iterator Exp'.

See Also:
  `ExpressionsPackage.getIteratorExp()`

Method Summary
`boolean` `checkBooleanBodyType(DiagnosticChain diagnostics, Map<Object,Object> context)` name = 'exists' or name = 'forAll' or name = 'select' or name = 'reject' implies body.type.name = 'Boolean'
`boolean` `checkBooleanType(DiagnosticChain diagnostics, Map<Object,Object> context)` name = 'exists' or name = 'forAll' or name = 'isUnique' implies type.oclIsKindOf(PrimitiveType) and type.name = 'Boolean'
`boolean` `checkCollectType(DiagnosticChain diagnostics, Map<Object,Object> context)` name = 'collect' implies if source.type.oclIsKindOf(SequenceType) then type = expression.type.collectionType->select(oclIsTypeOf(SequenceType))->first() else type = expression.type.collectionType->select(oclIsTypeOf(BagType))->first() endif
`boolean` `checkSelectRejectType(DiagnosticChain diagnostics, Map<Object,Object> context)` name = 'select' or name = 'reject' implies type = source.type

Methods inherited from interface org.eclipse.ocl.expressions.LoopExp
`checkLoopVariableInit, checkLoopVariableType, checkSourceCollection, getBody, getIterator, setBody`

Methods inherited from interface org.eclipse.ocl.expressions.CallExp
`getSource, setSource`

Methods inherited from interface org.eclipse.ocl.utilities.TypedElement
`getName, getType, setName, setType`

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`

Methods inherited from interface org.eclipse.ocl.utilities.Visitable
`accept`

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`

Methods inherited from interface org.eclipse.ocl.utilities.ASTNode
`getEndPosition, getStartPosition, setEndPosition, setStartPosition`

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`

Methods inherited from interface org.eclipse.ocl.utilities.CallingASTNode
`getPropertyEndPosition, getPropertyStartPosition, setPropertyEndPosition, setPropertyStartPosition`

Methods inherited from interface org.eclipse.ocl.utilities.ASTNode
`getEndPosition, getStartPosition, setEndPosition, setStartPosition`

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`

Method Detail

### checkBooleanType

    boolean checkBooleanType(DiagnosticChain diagnostics,
                             Map<Object,Object> context)

  name = 'exists' or name = 'forAll' or name = 'isUnique' implies type.oclIsKindOf(PrimitiveType) and type.name = 'Boolean'

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

### checkCollectType

    boolean checkCollectType(DiagnosticChain diagnostics,
                             Map<Object,Object> context)

  name = 'collect' implies if source.type.oclIsKindOf(SequenceType) then type = expression.type.collectionType->select(oclIsTypeOf(SequenceType))->first() else type = expression.type.collectionType->select(oclIsTypeOf(BagType))->first() endif

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

### checkSelectRejectType

    boolean checkSelectRejectType(DiagnosticChain diagnostics,
                                  Map<Object,Object> context)

  name = 'select' or name = 'reject' implies type = source.type

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

### checkBooleanBodyType

    boolean checkBooleanBodyType(DiagnosticChain diagnostics,
                                 Map<Object,Object> context)

  name = 'exists' or name = 'forAll' or name = 'select' or name = 'reject' implies body.type.name = 'Boolean'

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

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