# Class FunctionProperty

java.lang.Object
org.apache.jmeter.testelement.property.AbstractProperty
org.apache.jmeter.testelement.property.FunctionProperty

All Implemented Interfaces:
  `Serializable, Cloneable, Comparable<JMeterProperty>, JMeterProperty`

public class FunctionProperty extends AbstractProperty
Class that implements the Function property

See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class AbstractProperty

`log`

## Constructor Summary

Constructors
Constructor
Description
`FunctionProperty()`
`FunctionProperty(String name, CompoundVariable func)`

## Method Summary

Modifier and Type
Method
Description
`FunctionProperty`
`clone()`
`boolean`
`equals(Object o)`
Determines if the two objects are equal by comparing names and values
`Object`
`getObjectValue()`
`String`
`getStringValue()`
Executes the function (and caches the value for the duration of the test iteration) if the property is a running version.
`int`
`hashCode()`
`void`
`recoverRunningVersion(TestElement owner)`
Tell the property to revert to the state at the time setRunningVersion(true) was called.
`void`
`setObjectValue(Object v)`

### Methods inherited from class AbstractProperty

`compareTo, convertObject, createProperty, getBlankProperty, getBlankProperty, getBooleanValue, getDoubleValue, getFloatValue, getIntValue, getIterator, getLongValue, getName, getPropertyType, isEqualType, isRunningVersion, makeProperty, mergeIn, normalizeList, normalizeMap, setName, setRunningVersion, toString`

### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### FunctionProperty

public FunctionProperty(String name, CompoundVariable func)

### FunctionProperty

public FunctionProperty()

## Method Details

### setObjectValue

public void setObjectValue(Object v)

### equals

public boolean equals(Object o)
Description copied from class: `AbstractProperty`
Determines if the two objects are equal by comparing names and values

Overrides:
  `equals` in class `AbstractProperty`
Returns:
  true if names are equal and values are equal (or both null)

### hashCode

public int hashCode()
Description copied from class: `AbstractProperty`

Overrides:
  `hashCode` in class `AbstractProperty`

### getStringValue

public String getStringValue()
Executes the function (and caches the value for the duration of the test iteration) if the property is a running version. Otherwise, the raw string representation of the function is provided.

See Also:
  - `JMeterProperty.getStringValue()`

### getObjectValue

public Object getObjectValue()

See Also:
  - `JMeterProperty.getObjectValue()`

### clone

public FunctionProperty clone()
Description copied from class: `AbstractProperty`

Specified by:
  `clone` in interface `JMeterProperty`
Overrides:
  `clone` in class `AbstractProperty`

### recoverRunningVersion

public void recoverRunningVersion(TestElement owner)
Description copied from interface: `JMeterProperty`
Tell the property to revert to the state at the time setRunningVersion(true) was called.

Parameters:
  `owner` - the owning element
See Also:
  - `JMeterProperty.recoverRunningVersion(TestElement)`