Apache JMeter

org.apache.jmeter.control
Class IfController

java.lang.Object
  extended by org.apache.jmeter.testelement.AbstractTestElement
      extended by org.apache.jmeter.control.GenericController
          extended by org.apache.jmeter.control.IfController
All Implemented Interfaces:
Serializable, Cloneable, Controller, Searchable, TestElement, TestCompilerHelper

public class IfController
extends GenericController
implements Serializable

This is a Conditional Controller; it will execute the set of statements (samplers/controllers, etc) while the 'condition' is true.

In a programming world - this is equivalant of :

 if (condition) {
          statements ....
          }
 
In JMeter you may have :
 
 Thread-Group (set to loop a number of times or indefinitely,
    ... Samplers ... (e.g. Counter )
    ... Other Controllers ....
    ... IfController ( condition set to something like - ${counter}<10)
       ... statements to perform if condition is true
       ...
    ... Other Controllers /Samplers }
 

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.jmeter.control.GenericController
current, subControllersAndSamplers
 
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
 
Constructor Summary
IfController()
          constructor
IfController(String condition)
          constructor
 
Method Summary
 String getCondition()
          Condition Accessor - this is gonna be like ${count}<10
 boolean isDone()
          This is overriding the parent method.
 boolean isEvaluateAll()
           
 boolean isUseExpression()
           
 Sampler next()
           Determines the next sampler to be processed.
 void setCondition(String condition)
          Condition Accessor - this is gonna be like ${count}<10
 void setEvaluateAll(boolean b)
           
 void setUseExpression(boolean selected)
           
 void triggerEndOfLoop()
          Trigger end of loop condition on controller (used by Start Next Loop feature)
 
Methods inherited from class org.apache.jmeter.control.GenericController
addIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementCurrent, incrementIterCount, initialize, isFirst, nextIsAController, nextIsASampler, nextIsNull, readResolve, reInitialize, reInitializeSubController, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setDone, setFirst
 
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jmeter.testelement.TestElement
canRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
 

Constructor Detail

IfController

public IfController()
constructor


IfController

public IfController(String condition)
constructor

Method Detail

setCondition

public void setCondition(String condition)
Condition Accessor - this is gonna be like ${count}<10


getCondition

public String getCondition()
Condition Accessor - this is gonna be like ${count}<10


isDone

public boolean isDone()
This is overriding the parent method. IsDone indicates whether the termination condition is reached. I.e. if the condition evaluates to False - then isDone() returns TRUE

Specified by:
isDone in interface Controller
Overrides:
isDone in class GenericController
Returns:
boolean
See Also:
Controller.isDone()

next

public Sampler next()
Description copied from class: GenericController

Determines the next sampler to be processed.

If isDone, returns null.

Gets the list element using current pointer. If this is null, calls GenericController.nextIsNull().

If the list element is a sampler, calls GenericController.nextIsASampler(Sampler), otherwise calls GenericController.nextIsAController(Controller)

If any of the called methods throws NextIsNullException, returns null, otherwise the value obtained above is returned.

Specified by:
next in interface Controller
Overrides:
next in class GenericController
Returns:
the next sampler or null
See Also:
Controller.next()

triggerEndOfLoop

public void triggerEndOfLoop()
Trigger end of loop condition on controller (used by Start Next Loop feature)

Specified by:
triggerEndOfLoop in interface Controller
Overrides:
triggerEndOfLoop in class GenericController

isEvaluateAll

public boolean isEvaluateAll()

setEvaluateAll

public void setEvaluateAll(boolean b)

isUseExpression

public boolean isUseExpression()

setUseExpression

public void setUseExpression(boolean selected)

Apache JMeter

Copyright © 1998-2013 Apache Software Foundation. All Rights Reserved.