# Class CollectionProperty

java.lang.Object
org.apache.jmeter.testelement.property.AbstractProperty
org.apache.jmeter.testelement.property.MultiProperty
org.apache.jmeter.testelement.property.CollectionProperty

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

public class CollectionProperty extends MultiProperty

See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class AbstractProperty

`log`

## Constructor Summary

Constructors
Constructor
Description
`CollectionProperty()`
`CollectionProperty(String name, Collection<?> value)`

## Method Summary

Modifier and Type
Method
Description
`void`
`addItem(Object item)`
`void`
`addProperty(JMeterProperty prop)`
Add a property to the collection.
`void`
`clear()`
Clear away all values in the property.
`CollectionProperty`
`clone()`
`boolean`
`equals(Object o)`
Determines if the two objects are equal by comparing names and values
`JMeterProperty`
`get(int row)`
`Object`
`getObjectValue()`
`protected Class<? extends JMeterProperty>`
`getPropertyType()`
Figures out what kind of properties this collection is holding and returns the class type.
`String`
`getStringValue()`
`int`
`hashCode()`
`PropertyIterator`
`iterator()`
Get the property iterator to iterate through the sub-values of this JMeterProperty.
`void`
`recoverRunningVersion(TestElement owner)`
Tell the property to revert to the state at the time setRunningVersion(true) was called.
`void`
`remove(int index)`
`void`
`remove(String prop)`
`void`
`set(int index, String prop)`
`void`
`set(int index, JMeterProperty prop)`
`void`
`setCollection(Collection<?> coll)`
`void`
`setObjectValue(Object v)`
`void`
`setRunningVersion(boolean running)`
Make the property a running version or turn it off as the running version.
`int`
`size()`

### Methods inherited from class MultiProperty

`mergeIn, recoverRunningVersionOfSubElements`

### Methods inherited from class AbstractProperty

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

### Methods inherited from class Object

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

## Constructor Details

### CollectionProperty

public CollectionProperty(String name, Collection<?> value)

### CollectionProperty

public CollectionProperty()

## Method Details

### 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`

### remove

public void remove(String prop)

### set

public void set(int index, String prop)

### set

public void set(int index, JMeterProperty prop)

### get

public JMeterProperty get(int row)

### remove

public void remove(int index)

### setObjectValue

public void setObjectValue(Object v)

### iterator

public PropertyIterator iterator()
Get the property iterator to iterate through the sub-values of this JMeterProperty.

Specified by:
  `iterator` in class `MultiProperty`
Returns:
  an iterator for the sub-values of this property

### getStringValue

public String getStringValue()

### getObjectValue

public Object getObjectValue()

### size

public int size()

### clone

public CollectionProperty clone()

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

### setCollection

public void setCollection(Collection<?> coll)

### clear

public void clear()
Clear away all values in the property.

Specified by:
  `clear` in class `MultiProperty`

### addProperty

public void addProperty(JMeterProperty prop)
Add a property to the collection.

Specified by:
  `addProperty` in class `MultiProperty`
Parameters:
  `prop` - the `JMeterProperty` to add

### addItem

public void addItem(Object item)

### getPropertyType

protected Class<? extends JMeterProperty> getPropertyType()
Figures out what kind of properties this collection is holding and returns the class type.

Overrides:
  `getPropertyType` in class `AbstractProperty`
Returns:
  property type of this property
See Also:
  - `AbstractProperty.getPropertyType()`

### recoverRunningVersion

public void recoverRunningVersion(TestElement owner)
Tell the property to revert to the state at the time setRunningVersion(true) was called.

Parameters:
  `owner` - the owning element

### setRunningVersion

public void setRunningVersion(boolean running)
Make the property a running version or turn it off as the running version. A property that is made a running version will preserve the current state in such a way that it is retrievable by a future call to 'recoverRunningVersion()'. Additionally, a property that is a running version will resolve all functions prior to returning it's property value. A non-running version property will return functions as their uncompiled string representation.

Specified by:
  `setRunningVersion` in interface `JMeterProperty`
Overrides:
  `setRunningVersion` in class `MultiProperty`
Parameters:
  `running` - flag whether this property is a running version