org.eclipse.ocl.examples.impactanalyzer.deltaPropagation
Class OperationBodyPropagationStrategy

java.lang.Object
  extended by org.eclipse.ocl.examples.impactanalyzer.deltaPropagation.OperationBodyPropagationStrategy
All Implemented Interfaces:
DeltaPropagationStrategy

public class OperationBodyPropagationStrategy
extends java.lang.Object
implements DeltaPropagationStrategy


Constructor Summary
OperationBodyPropagationStrategy(OperationBodyToCallMapper mapper)
           
 
Method Summary
 java.util.Collection<Tuple.Pair<OCLExpression,java.util.Collection<java.lang.Object>>> mapDelta(OCLExpression e, java.util.Collection<java.lang.Object> delta)
          Maps a delta of e's value to the delta of one or more other expressions, typically such expressions that contain or use e, as in the case where e is the body of a collect expression or the source of a CallExp expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OperationBodyPropagationStrategy

public OperationBodyPropagationStrategy(OperationBodyToCallMapper mapper)
Method Detail

mapDelta

public java.util.Collection<Tuple.Pair<OCLExpression,java.util.Collection<java.lang.Object>>> mapDelta(OCLExpression e,
                                                                                                       java.util.Collection<java.lang.Object> delta)
Description copied from interface: DeltaPropagationStrategy
Maps a delta of e's value to the delta of one or more other expressions, typically such expressions that contain or use e, as in the case where e is the body of a collect expression or the source of a CallExp expression. The case where multiple pairs are returned may happen, e.g., when e is the body of an operation which gets called by several OperationCallExp expressions in the context of the overall expression for which to analyze the change propagation.

Specified by:
mapDelta in interface DeltaPropagationStrategy
Returns:
null if the delta cannot be propagated, or zero or more pairs each of which containing the expression to which the original delta propagates monotonically and the mapped, non-null non-empty delta in the b component of the pair returned. If delta propagates to an empty delta for some other expression, no entry is created for this in the result collection. If a non-null but empty collection is returned this means that the delta of e's value has no effect on the overall expression analyzed.