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

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

All Known Subinterfaces:
  IterateExp<C,PM>, IterateExp, IteratorExp<C,PM>, IteratorExp, LoopExp

All Known Implementing Classes:
  IterateExpImpl, IterateExpImpl, IteratorExpImpl, IteratorExpImpl, LoopExpImpl, LoopExpImpl

    public interface LoopExp<C,PM>

extends CallExp<C>

A representation of the model object 'Loop Exp'.

The following features are supported:

- `Body`
- `Iterator`

See Also:
  `ExpressionsPackage.getLoopExp()`

Method Summary
`boolean` `checkLoopVariableInit(DiagnosticChain diagnostics, Map<Object,Object> context)` self.iterator->forAll(initExpression->isEmpty())
`boolean` `checkLoopVariableType(DiagnosticChain diagnostics, Map<Object,Object> context)` self.iterator->forAll(type = source.type.oclAsType(CollectionType).elementType)
`boolean` `checkSourceCollection(DiagnosticChain diagnostics, Map<Object,Object> context)` source.type.oclIsKindOf(CollectionType)
`OCLExpression<C>` `getBody()` Returns the value of the 'Body' containment reference
`EList<Variable<C,PM>>` `getIterator()` Returns the value of the 'Iterator' containment reference list.
`void` `setBody(OCLExpression<C> value)` Sets the value of the '`Body`' containment reference

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

### getBody

    OCLExpression<C> getBody()

  Returns the value of the 'Body' containment reference.

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

  Returns:
    the value of the 'Body' containment reference.
  See Also:
    `setBody(OCLExpression)`, `ExpressionsPackage.getLoopExp_Body()`

### setBody

    void setBody(OCLExpression<C> value)

  Sets the value of the '`Body`' containment reference.

  Parameters:
    `value` - the new value of the 'Body' containment reference.
  See Also:
    `getBody()`

### getIterator

    EList<Variable<C,PM>> getIterator()

  Returns the value of the 'Iterator' containment reference list. The list contents are of type `Variable`<C, PM>.

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

  Returns:
    the value of the 'Iterator' containment reference list.
  See Also:
    `ExpressionsPackage.getLoopExp_Iterator()`

### checkSourceCollection

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

  source.type.oclIsKindOf(CollectionType)

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

### checkLoopVariableInit

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

  self.iterator->forAll(initExpression->isEmpty())

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

### checkLoopVariableType

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

  self.iterator->forAll(type = source.type.oclAsType(CollectionType).elementType)

  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.