tom.library.sl
Class OneId

java.lang.Object
  extended by tom.library.sl.AbstractStrategy
      extended by tom.library.sl.AbstractStrategyCombinator
          extended by tom.library.sl.OneId
All Implemented Interfaces:
Strategy, Visitable

public class OneId
extends AbstractStrategyCombinator

T(t1,...,ti,...,tN).accept(OneId(v)) = T(t1,...,ti.accept(v),...,tN) if ti is the first child that is modified.

Strategy combinator with one argument, that applies this argument to exactly one child. If no children are visited successfully, then OneId(v) fails.

Note that side-effects of failing visits to children are not undone.


Field Summary
static int ARG
           
 
Fields inherited from class tom.library.sl.AbstractStrategyCombinator
arguments
 
Fields inherited from class tom.library.sl.AbstractStrategy
environment
 
Constructor Summary
OneId(Strategy v)
           
 
Method Summary
 int visit(Introspector introspector)
          Visits the current subject (found in the environment) and place its result in the environment.
<T> T
visitLight(T any, Introspector introspector)
          Visit the subject any in a light way (without environment)
 
Methods inherited from class tom.library.sl.AbstractStrategyCombinator
getChildAt, getChildCount, getChildren, getVisitor, getVisitors, initSubterm, initSubterm, initSubterm, initSubterm, initSubterm, setChildAt, setChildren
 
Methods inherited from class tom.library.sl.AbstractStrategy
getAncestor, getEnvironment, getPosition, getRoot, getSubject, init, init, setEnvironment, setRoot, setSubject, visit, visit, visit, visit, visitLight
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ARG

public static final int ARG
See Also:
Constant Field Values
Constructor Detail

OneId

public OneId(Strategy v)
Method Detail

visitLight

public <T> T visitLight(T any,
                        Introspector introspector)
             throws VisitFailure
Description copied from interface: Strategy
Visit the subject any in a light way (without environment)

Parameters:
any - the subject to visit.
Throws:
VisitFailure - in case of failure.

visit

public int visit(Introspector introspector)
Visits the current subject (found in the environment) and place its result in the environment. Sets the environment flag to Environment.FAILURE in case of failure

Parameters:
introspector - the introspector