org.apache.jmeter.testelement.property

## 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>, Iterable<JMeterProperty>, JMeterProperty

    public class CollectionProperty
    extends MultiProperty

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class org.apache.jmeter.testelement.property.AbstractProperty

`log`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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()`
`boolean` `isEmpty()`
`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, JMeterProperty prop)`
`void` `set(int index, String 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 org.apache.jmeter.testelement.property.MultiProperty

`mergeIn, recoverRunningVersionOfSubElements`

### Methods inherited from class org.apache.jmeter.testelement.property.AbstractProperty

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

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Constructor Detail

#### CollectionProperty

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

#### CollectionProperty

    public CollectionProperty()

### Method Detail

#### 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 interface `Iterable<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()

#### isEmpty

    public boolean isEmpty()

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