org.apache.jmeter.testelement.property

## Class MultiProperty

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

- All Implemented Interfaces:
    Serializable, Cloneable, Comparable<JMeterProperty>, Iterable<JMeterProperty>, JMeterProperty
  Direct Known Subclasses:
    CollectionProperty, MapProperty, TestElementProperty

      public abstract class MultiProperty
      extends AbstractProperty
      implements Iterable<JMeterProperty>

  For JMeterProperties that hold multiple properties within, provides a simple interface for retrieving a property iterator for the sub values.
  See Also:
    Serialized Form

- - ### Field Summary

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

      `log`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `MultiProperty()`
    `protected` | `MultiProperty(String name)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `addProperty(JMeterProperty prop)` Add a property to the collection.
    `abstract void` | `clear()` Clear away all values in the property.
    `abstract PropertyIterator` | `iterator()` Get the property iterator to iterate through the sub-values of this JMeterProperty.
    `void` | `mergeIn(JMeterProperty prop)` Take the given property object and merge it's value with the current property object.
    `protected void` | `recoverRunningVersionOfSubElements(TestElement owner)`
    `void` | `setRunningVersion(boolean running)` Make the property a running version or turn it off as the running version.

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

      `clone, compareTo, convertObject, createProperty, equals, getBlankProperty, getBlankProperty, getBooleanValue, getDoubleValue, getFloatValue, getIntValue, getIterator, getLongValue, getName, getPropertyType, hashCode, 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`

    - ### Methods inherited from interface org.apache.jmeter.testelement.property.JMeterProperty

      `getObjectValue, getStringValue, recoverRunningVersion, setObjectValue`

- - ### Constructor Detail

    - #### MultiProperty

          protected MultiProperty()

    - #### MultiProperty

          protected MultiProperty(String name)

  - ### Method Detail

    - #### iterator

          public abstract PropertyIterator iterator()

      Get the property iterator to iterate through the sub-values of this JMeterProperty.
      Specified by:
        `iterator` in interface `Iterable<JMeterProperty>`
      Returns:
        an iterator for the sub-values of this property

    - #### addProperty

          public abstract void addProperty(JMeterProperty prop)

      Add a property to the collection.
      Parameters:
        `prop` - the `JMeterProperty` to add

    - #### clear

          public abstract void clear()

      Clear away all values in the property.

    - #### setRunningVersion

          public void setRunningVersion(boolean running)

      Description copied from class: `AbstractProperty`
      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 `AbstractProperty`
      Parameters:
        `running` - flag whether this property is a running version

    - #### recoverRunningVersionOfSubElements

          protected void recoverRunningVersionOfSubElements(TestElement owner)

    - #### mergeIn

          public void mergeIn(JMeterProperty prop)

      Description copied from class: `AbstractProperty`
      Take the given property object and merge it's value with the current property object. For most property types, this will simply be ignored. But for collection properties and test element properties, more complex behavior is required.
      Specified by:
        `mergeIn` in interface `JMeterProperty`
      Overrides:
        `mergeIn` in class `AbstractProperty`
      Parameters:
        `prop` - the property object to merge into this property

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