Class AbstractProperty
java.lang.Object
org.apache.jmeter.testelement.property.AbstractProperty
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<JMeterProperty>
,JMeterProperty
- Direct Known Subclasses:
BooleanProperty
,FunctionProperty
,MultiProperty
,NullProperty
,NumberProperty
,ObjectProperty
,StringProperty
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
int
compareTo
(JMeterProperty arg0) Compares two JMeterProperty object values.protected JMeterProperty
convertObject
(Object item) static JMeterProperty
createProperty
(Object item) boolean
Determines if the two objects are equal by comparing names and valuesprotected JMeterProperty
protected static JMeterProperty
getBlankProperty
(Object item) boolean
Returns false if string is invalid or null.double
Returns 0 if string is invalid or null.float
Returns 0 if string is invalid or null.int
Returns 0 if string is invalid or null.protected PropertyIterator
getIterator
(Collection<JMeterProperty> values) long
Returns 0 if string is invalid or null.getName()
The name of the property.protected Class<? extends JMeterProperty>
Get the property type for this property.int
hashCode()
protected boolean
isEqualType
(JMeterProperty prop) boolean
Returns whether the property is a running version.protected static JMeterProperty
makeProperty
(Object item) Create a JMeterProperty from an object.void
mergeIn
(JMeterProperty prop) Take the given property object and merge it's value with the current property object.protected Collection<JMeterProperty>
normalizeList
(Collection<?> coll) Convert a collection of objects into JMeterProperty objects.protected Map<String,
JMeterProperty> normalizeMap
(Map<?, ?> coll) Given a Map, it converts the Map into a collection of JMeterProperty objects, appropriate for a MapProperty object.void
Set the property name.void
setRunningVersion
(boolean runningVersion) Make the property a running version or turn it off as the running version.toString()
Provides the string representation of the property.Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.jmeter.testelement.property.JMeterProperty
getObjectValue, getStringValue, recoverRunningVersion, setObjectValue
-
Field Details
-
log
protected static final org.slf4j.Logger log
-
-
Constructor Details
-
AbstractProperty
-
AbstractProperty
protected AbstractProperty()
-
-
Method Details
-
isEqualType
-
isRunningVersion
public boolean isRunningVersion()Returns whether the property is a running version.- Specified by:
isRunningVersion
in interfaceJMeterProperty
- Returns:
- flag whether this property is a running version
-
getName
The name of the property. Typically this should match the name that keys the property's location in the test elements Map.- Specified by:
getName
in interfaceJMeterProperty
- Returns:
- the name of the property
-
setName
Set the property name.- Specified by:
setName
in interfaceJMeterProperty
- Parameters:
name
- the name of the property
-
setRunningVersion
public void setRunningVersion(boolean runningVersion) 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 interfaceJMeterProperty
- Parameters:
runningVersion
- flag whether this property is a running version
-
getIterator
-
clone
- Specified by:
clone
in interfaceJMeterProperty
- Overrides:
clone
in classObject
-
getIntValue
public int getIntValue()Returns 0 if string is invalid or null.- Specified by:
getIntValue
in interfaceJMeterProperty
- See Also:
-
getLongValue
public long getLongValue()Returns 0 if string is invalid or null.- Specified by:
getLongValue
in interfaceJMeterProperty
- See Also:
-
getDoubleValue
public double getDoubleValue()Returns 0 if string is invalid or null.- Specified by:
getDoubleValue
in interfaceJMeterProperty
- See Also:
-
getFloatValue
public float getFloatValue()Returns 0 if string is invalid or null.- Specified by:
getFloatValue
in interfaceJMeterProperty
- See Also:
-
getBooleanValue
public boolean getBooleanValue()Returns false if string is invalid or null.- Specified by:
getBooleanValue
in interfaceJMeterProperty
- See Also:
-
equals
Determines if the two objects are equal by comparing names and values -
hashCode
public int hashCode() -
compareTo
Compares two JMeterProperty object values. N.B. Does not compare names- Specified by:
compareTo
in interfaceComparable<JMeterProperty>
- Parameters:
arg0
- JMeterProperty to compare against- Returns:
- 0 if equal values or both values null; -1 otherwise
- See Also:
-
getPropertyType
Get the property type for this property. Used to convert raw values into JMeterProperties.- Returns:
- property type of this property
-
getBlankProperty
-
getBlankProperty
-
normalizeList
Convert a collection of objects into JMeterProperty objects.- Parameters:
coll
- Collection of any type of object- Returns:
- Collection of JMeterProperty objects
-
normalizeMap
Given a Map, it converts the Map into a collection of JMeterProperty objects, appropriate for a MapProperty object.- Parameters:
coll
- Map to convert- Returns:
- converted Map
-
createProperty
-
makeProperty
Create a JMeterProperty from an object. The object can be one of:- JMeterProperty - returned unchanged
- TestElement => TestElementProperty with the same name
- Map|Collection => Map|CollectionProperty with the name = item.hashCode
- Parameters:
item
- object to be turned into a property- Returns:
- the JMeterProperty
-
convertObject
-
toString
Provides the string representation of the property. -
mergeIn
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 interfaceJMeterProperty
- Parameters:
prop
- the property object to merge into this property
-