Class PropertiesAccessor
-
- All Implemented Interfaces:
@API(status = API.Status.EXPERIMENTAL, since = "5.6") public final class PropertiesAccessor<TestElementClass extends TestElement, Schema extends BaseTestElementSchema>
Enables type-safe access to TestElement properties. For instance: testPlan.propsTestPlanClass.serializeThreadGroups // succeeds testPlan.props{ serializeThreadGroups } // succeeds httpSampler.propsTestPlanClass.serializeThreadGroups // fails as HTTP Sampler is not related to TestPlanClass httpSampler.props{ enabled } // succeeds since "enabled" property exists in the superclass of HTTP Sampler
If you need configuring several properties, you might use
element.props { ... }
syntax:testPlan.props { it[serializeThreadGroups] = true it[enabled] = false }
The same in Java would be testPlan.getProps().invoke((it, schema) -> { it.set(schema.getSerializeThreadGroups(), true); it.set(schema.getEnabled(), false); });
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interface
PropertiesAccessor.InstanceConfigurator
This interface makes
invoke
function easier to use from Java.-> Unit
functions require to returnUnit.INSTANCE
from Java, so we add an interface
-
Field Summary
Fields Modifier and Type Field Description private final TestElementClass
target
private final Schema
schema
-
Constructor Summary
Constructors Constructor Description PropertiesAccessor(TestElementClass target, Schema schema)
-
Method Summary
-
-
Constructor Detail
-
PropertiesAccessor
PropertiesAccessor(TestElementClass target, Schema schema)
-
-
Method Detail
-
getTarget
final TestElementClass getTarget()
-
invoke
final Unit invoke(PropertiesAccessor.InstanceConfigurator<TestElementClass, Schema> body)
Function types are idiomatic in Kotlin, however they require
return Unit.INSTANCE
in Java, so we hide the method from Java. This is not intended to be used from Kotlin, however, there's no way to easily prevent it.
-
remove
final Unit remove(PropertyDescriptor<Schema, ?> property)
-
set
final Unit set(PropertyDescriptor<Schema, ?> property, String value)
-
set
final Unit set(BooleanPropertyDescriptor<Schema> property, Boolean value)
-
set
final Unit set(Function1<Schema, BooleanPropertyDescriptor<Schema>> propertySelector, Boolean value)
-
set
final <ValueClass extends Any> Unit set(ClassPropertyDescriptor<Schema, ValueClass> property, KClass<out ValueClass> value)
-
set
final <ValueClass extends Any> Unit set(Function1<Schema, ClassPropertyDescriptor<Schema, ValueClass>> propertySelector, KClass<ValueClass> value)
-
set
final <ValueClass extends Any> Unit set(ClassPropertyDescriptor<Schema, ValueClass> property, Class<out ValueClass> value)
-
set
final <ValueClass extends Any> Unit set(Function1<Schema, ClassPropertyDescriptor<Schema, ValueClass>> propertySelector, Class<ValueClass> value)
-
set
final Unit set(IntegerPropertyDescriptor<Schema> property, Integer value)
-
set
final Unit set(Function1<Schema, IntegerPropertyDescriptor<Schema>> propertySelector, Integer value)
-
set
final Unit set(LongPropertyDescriptor<Schema> property, Long value)
-
set
final Unit set(FloatPropertyDescriptor<Schema> property, Float value)
-
set
final Unit set(Function1<Schema, FloatPropertyDescriptor<Schema>> propertySelector, Float value)
-
set
final Unit set(DoublePropertyDescriptor<Schema> property, Double value)
-
set
final Unit set(Function1<Schema, DoublePropertyDescriptor<Schema>> propertySelector, Double value)
-
set
final <ValueClass extends TestElement> Unit set(TestElementPropertyDescriptor<Schema, ValueClass> property, ValueClass value)
-
set
final <ValueClass extends TestElement> Unit set(Function1<Schema, TestElementPropertyDescriptor<Schema, ValueClass>> propertySelector, ValueClass value)
-
set
final Unit set(CollectionPropertyDescriptor<Schema> property, Collection<?> value)
-
set
final Unit set(Function1<Schema, CollectionPropertyDescriptor<Schema>> propertySelector, Collection<?> value)
-
getString
final String getString(PropertyDescriptor<Schema, ?> property)
-
getString
final String getString(Function1<Schema, PropertyDescriptor<Schema, ?>> propertySelector)
-
getPropertyOrNull
final JMeterProperty getPropertyOrNull(PropertyDescriptor<Schema, ?> property)
Returns a property or null if it is not set.
-
get
final Boolean get(BooleanPropertyDescriptor<Schema> property)
-
get
final Boolean get(Function1<Schema, BooleanPropertyDescriptor<Schema>> propertySelector)
-
get
final String get(StringPropertyDescriptor<Schema> property)
-
get
final String get(Function1<Schema, StringPropertyDescriptor<Schema>> propertySelector)
-
get
final <ValueClass extends Any> Class<out ValueClass> get(ClassPropertyDescriptor<Schema, ValueClass> property)
-
get
final <ValueClass extends Any> Class<out ValueClass> get(Function1<Schema, ClassPropertyDescriptor<Schema, ValueClass>> propertySelector)
-
get
final Integer get(IntegerPropertyDescriptor<Schema> property)
-
get
final Integer get(Function1<Schema, IntegerPropertyDescriptor<Schema>> propertySelector)
-
get
final Long get(LongPropertyDescriptor<Schema> property)
-
get
final Long get(Function1<Schema, LongPropertyDescriptor<Schema>> propertySelector)
-
get
final Float get(FloatPropertyDescriptor<Schema> property)
-
get
final Float get(Function1<Schema, FloatPropertyDescriptor<Schema>> propertySelector)
-
get
final Double get(DoublePropertyDescriptor<Schema> property)
-
get
final Double get(Function1<Schema, DoublePropertyDescriptor<Schema>> propertySelector)
-
get
final <ValueClass extends TestElement> ValueClass get(TestElementPropertyDescriptor<Schema, ValueClass> property)
-
get
final <ValueClass extends TestElement> ValueClass get(Function1<Schema, TestElementPropertyDescriptor<Schema, ValueClass>> propertySelector)
-
get
final CollectionProperty get(CollectionPropertyDescriptor<Schema> property)
-
get
final CollectionProperty get(Function1<Schema, CollectionPropertyDescriptor<Schema>> propertySelector)
-
getOrNull
final <ValueClass extends Any> Class<out ValueClass> getOrNull(ClassPropertyDescriptor<Schema, ValueClass> property)
-
getOrNull
final <ValueClass extends Any> Class<out ValueClass> getOrNull(Function1<Schema, ClassPropertyDescriptor<Schema, ValueClass>> propertySelector)
-
getOrNull
final <ValueClass extends TestElement> ValueClass getOrNull(TestElementPropertyDescriptor<Schema, ValueClass> property)
-
getOrNull
final <ValueClass extends TestElement> ValueClass getOrNull(Function1<Schema, TestElementPropertyDescriptor<Schema, ValueClass>> propertySelector)
-
getOrNull
final CollectionProperty getOrNull(CollectionPropertyDescriptor<Schema> property)
-
getOrNull
final CollectionProperty getOrNull(Function1<Schema, CollectionPropertyDescriptor<Schema>> propertySelector)
-
-
-
-