/*
* Initial version copyright 2008 Lockheed Martin Corporation, except
* as stated in the file entitled Licensing-Information.
*
* All modifications copyright 2009-2012 Data Access Technologies, Inc.
*
* Licensed under the Academic Free License version 3.0
* (http://www.opensource.org/licenses/afl-3.0.php), except as stated
* in the file entitled Licensing-Information.
*/
package fUML.Semantics.Actions.IntermediateActions;
import fUML.Debug;
import UMLPrimitiveTypes.*;
import fUML.Syntax.*;
import fUML.Syntax.Classes.Kernel.*;
import fUML.Syntax.CommonBehaviors.BasicBehaviors.*;
import fUML.Syntax.CommonBehaviors.Communications.*;
import fUML.Syntax.Activities.IntermediateActivities.*;
import fUML.Syntax.Actions.BasicActions.*;
import fUML.Syntax.Actions.IntermediateActions.*;
import fUML.Semantics.*;
import fUML.Semantics.Classes.Kernel.*;
import fUML.Semantics.CommonBehaviors.BasicBehaviors.*;
import fUML.Semantics.Activities.IntermediateActivities.*;
import fUML.Semantics.Actions.BasicActions.*;
import fUML.Semantics.Loci.*;
public abstract class WriteStructuralFeatureActionActivation
extends
fUML.Semantics.Actions.IntermediateActions.StructuralFeatureActionActivation {
public int position(fUML.Semantics.Classes.Kernel.Value value,
fUML.Semantics.Classes.Kernel.ValueList list, int startAt) {
// Return the position (counting from 1) of the first occurance of the
// given value in the given list at or after the starting index, or 0 if
// it is not found.
boolean found = false;
int i = startAt;
while (!found & i <= list.size()) {
found = list.getValue(i - 1).equals(value);
i = i + 1;
}
if (!found) {
i = 1;
}
return i - 1;
} // position
} // WriteStructuralFeatureActionActivation