## org.ascape.model.engine
Class IncrementalExecutionStrategy

    java.lang.Object
      org.ascape.model.engine.ExecutionStrategy
          org.ascape.model.engine.IncrementalExecutionStrategy

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable

Direct Known Subclasses:
  ParallelExecutionStrategy

    public abstract class IncrementalExecutionStrategy

extends ExecutionStrategy

The Class IncrementalExecutionStrategy.

See Also:
  Serialized Form

Constructor Summary
`IncrementalExecutionStrategy(StrategyFactory factory)` Instantiates a new incremental execution strategy.

Method Summary
`java.lang.Object` `clone()`
`void` `execute()` Execute.
`void` `fire()` Fire.
`ResetableIterator` `getAgentIterator()` Gets the agent iterator.
`AgentSelector` `getAgentSelector()` Gets the agent selector.
`Agent` `getCurrentAgent()` Gets the current agent.
`Rule` `getCurrentRule()` Gets the current rule.
`java.lang.Object[]` `getRules()` Gets the rules.
`RuleSelector` `getRuleSelector()` Gets the rule selector.
`Scape` `getScape()` Gets the scape.
`abstract boolean` `hasNext()` Checks for next.
`abstract void` `increment()` Increment.
`void` `reset()` Reset.
`void` `setAgentIterator(ResetableIterator agentIterator)` Sets the agent iterator.
`void` `setAgentSelector(AgentSelector agentSelector)` Sets the agent selector.
`void` `setRuleSelector(RuleSelector ruleSelector)` Sets the rule selector.

Methods inherited from class org.ascape.model.engine.ExecutionStrategy
`chain, isSupportsParallel`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IncrementalExecutionStrategy

    public IncrementalExecutionStrategy(StrategyFactory factory)

  Instantiates a new incremental execution strategy.

  Parameters:
    `factory` - the factory

Method Detail

### execute

    public void execute()

  Description copied from class: `ExecutionStrategy`
  Execute.

  Specified by:
    `execute` in class `ExecutionStrategy`

### fire

    public void fire()

  Fire.

### reset

    public void reset()

  Description copied from class: `ExecutionStrategy`
  Reset.

  Specified by:
    `reset` in class `ExecutionStrategy`

### getCurrentAgent

    public Agent getCurrentAgent()

  Gets the current agent.

  Returns:
    the current agent

### getCurrentRule

    public Rule getCurrentRule()

  Gets the current rule.

  Returns:
    the current rule

### hasNext

    public abstract boolean hasNext()

  Checks for next.

  Returns:
    true, if successful

### increment

    public abstract void increment()

  Increment.

### getAgentIterator

    public ResetableIterator getAgentIterator()

  Gets the agent iterator.

  Returns:
    the agent iterator

### setAgentIterator

    public void setAgentIterator(ResetableIterator agentIterator)

  Sets the agent iterator.

  Parameters:
    `agentIterator` - the new agent iterator

### getRules

    public final java.lang.Object[] getRules()

  Gets the rules.

  Returns:
    the rules

### getAgentSelector

    public AgentSelector getAgentSelector()

  Gets the agent selector.

  Returns:
    the agent selector

### getRuleSelector

    public RuleSelector getRuleSelector()

  Gets the rule selector.

  Returns:
    the rule selector

### setAgentSelector

    public void setAgentSelector(AgentSelector agentSelector)

  Sets the agent selector.

  Parameters:
    `agentSelector` - the new agent selector

### setRuleSelector

    public void setRuleSelector(RuleSelector ruleSelector)

  Sets the rule selector.

  Parameters:
    `ruleSelector` - the new rule selector

### getScape

    public final Scape getScape()

  Gets the scape.

  Returns:
    the scape

### clone

    public java.lang.Object clone()

  Overrides:
    `clone` in class `ExecutionStrategy`