Apache JMeter

org.apache.jmeter.testbeans
Class BeanInfoSupport

java.lang.Object
  extended by java.beans.SimpleBeanInfo
      extended by org.apache.jmeter.testbeans.BeanInfoSupport
All Implemented Interfaces:
BeanInfo
Direct Known Subclasses:
AccessLogSamplerBeanInfo, BeanShellBeanInfoSupport, CompareAssertionBeanInfo, ConstantThroughputTimerBeanInfo, CSVDataSetBeanInfo, DataSourceElementBeanInfo, DebugPostProcessorBeanInfo, DebugSamplerBeanInfo, Example2BeanInfo, Example3BeanInfo, JDBCTestElementBeanInfoSupport, KeystoreConfigBeanInfo, MongoScriptSamplerBeanInfo, MongoSourceElementBeanInfo, RandomVariableConfigBeanInfo, ScriptingBeanInfoSupport, SyncTimerBeanInfo

public abstract class BeanInfoSupport
extends SimpleBeanInfo

Support class for test bean beanInfo objects. It will help using the introspector to get most of the information, to then modify it at will.

To use, subclass it, create a subclass with a parameter-less constructor that:

  1. Calls super(beanClass)
  2. Modifies the property descriptors, bean descriptor, etc. at will.

Even before any such modifications, a resource bundle named xxxResources (where xxx is the fully qualified bean class name) will be obtained if available and used to localize the following:

The resource bundle will be stored as the bean descriptor's "resourceBundle" attribute, so that it can be used for further localization. TestBeanGUI, for example, uses it to obtain the group's display names from properties groupName.displayName.

Version:
$Revision: 1630924 $

Field Summary
static String DEFAULT
          Default value, must be provided if NOT_UNDEFINED is TRUE
static String MULTILINE
          If specified, create a multi-line editor
static String NOT_EXPRESSION
          Whether the field disallows JMeter expressions; Boolean, default FALSE
static String NOT_OTHER
          Whether the field disallows constant values different from the provided tags; Boolean, default FALSE
static String NOT_UNDEFINED
          Whether the field must be defined (i.e. is required); Boolean, defaults to FALSE
static String RESOURCE_BUNDLE
          Pointer to the resource bundle, if any (will generally be null)
static String TAGS
           
static String TEXT_LANGUAGE
          TextEditor property
 
Fields inherited from interface java.beans.BeanInfo
ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, ICON_MONO_32x32
 
Constructor Summary
protected BeanInfoSupport(Class<? extends TestBean> beanClass)
          Construct a BeanInfo for the given class.
 
Method Summary
protected  void createPropertyGroup(String group, String[] names)
          Utility method to group and order properties.
 BeanInfo[] getAdditionalBeanInfo()
          
 BeanDescriptor getBeanDescriptor()
          
 int getDefaultEventIndex()
          
 int getDefaultPropertyIndex()
          
 EventSetDescriptor[] getEventSetDescriptors()
          
 Image getIcon(int iconKind)
          
 MethodDescriptor[] getMethodDescriptors()
          
 PropertyDescriptor[] getPropertyDescriptors()
          
protected  PropertyDescriptor property(String name)
          Get the property descriptor for the property of the given name.
protected  PropertyDescriptor property(String name, Class<? extends Enum<?>> enumClass)
          Get the property descriptor for the property of the given name.
protected  PropertyDescriptor property(String name, TypeEditor editor)
          Get the property descriptor for the property of the given name.
protected  void setIcon(String resourceName)
          Set the bean's 16x16 colour icon.
 
Methods inherited from class java.beans.SimpleBeanInfo
loadImage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TAGS

public static final String TAGS
See Also:
Constant Field Values

NOT_UNDEFINED

public static final String NOT_UNDEFINED
Whether the field must be defined (i.e. is required); Boolean, defaults to FALSE

See Also:
Constant Field Values

NOT_EXPRESSION

public static final String NOT_EXPRESSION
Whether the field disallows JMeter expressions; Boolean, default FALSE

See Also:
Constant Field Values

NOT_OTHER

public static final String NOT_OTHER
Whether the field disallows constant values different from the provided tags; Boolean, default FALSE

See Also:
Constant Field Values

MULTILINE

public static final String MULTILINE
If specified, create a multi-line editor

See Also:
Constant Field Values

DEFAULT

public static final String DEFAULT
Default value, must be provided if NOT_UNDEFINED is TRUE

See Also:
Constant Field Values

RESOURCE_BUNDLE

public static final String RESOURCE_BUNDLE
Pointer to the resource bundle, if any (will generally be null)

See Also:
Constant Field Values

TEXT_LANGUAGE

public static final String TEXT_LANGUAGE
TextEditor property

See Also:
Constant Field Values
Constructor Detail

BeanInfoSupport

protected BeanInfoSupport(Class<? extends TestBean> beanClass)
Construct a BeanInfo for the given class.

Method Detail

property

protected PropertyDescriptor property(String name)
Get the property descriptor for the property of the given name.

Parameters:
name - property name
Returns:
descriptor for a property of that name, or null if there's none

property

protected PropertyDescriptor property(String name,
                                      TypeEditor editor)
Get the property descriptor for the property of the given name. Sets the GUITYPE to the provided editor.

Parameters:
name - property name
editor - the TypeEditor enum that describes the property editor
Returns:
descriptor for a property of that name, or null if there's none

property

protected PropertyDescriptor property(String name,
                                      Class<? extends Enum<?>> enumClass)
Get the property descriptor for the property of the given name. Sets the GUITYPE to the provided enum.

Parameters:
name - property name
enumClass - the enum class that is to be used by the editor
Returns:
descriptor for a property of that name, or null if there's none

setIcon

protected void setIcon(String resourceName)
Set the bean's 16x16 colour icon.

Parameters:
resourceName - A pathname relative to the directory holding the class file of the current class.

createPropertyGroup

protected void createPropertyGroup(String group,
                                   String[] names)
Utility method to group and order properties.

It will assign the given group name to each of the named properties, and set their order attribute so that they are shown in the given order.

The created groups will get order 1, 2, 3,... in the order in which they are created.

Parameters:
group - name of the group
names - property names in the desired order

getAdditionalBeanInfo

public BeanInfo[] getAdditionalBeanInfo()

Specified by:
getAdditionalBeanInfo in interface BeanInfo
Overrides:
getAdditionalBeanInfo in class SimpleBeanInfo

getBeanDescriptor

public BeanDescriptor getBeanDescriptor()

Specified by:
getBeanDescriptor in interface BeanInfo
Overrides:
getBeanDescriptor in class SimpleBeanInfo

getDefaultEventIndex

public int getDefaultEventIndex()

Specified by:
getDefaultEventIndex in interface BeanInfo
Overrides:
getDefaultEventIndex in class SimpleBeanInfo

getDefaultPropertyIndex

public int getDefaultPropertyIndex()

Specified by:
getDefaultPropertyIndex in interface BeanInfo
Overrides:
getDefaultPropertyIndex in class SimpleBeanInfo

getEventSetDescriptors

public EventSetDescriptor[] getEventSetDescriptors()

Specified by:
getEventSetDescriptors in interface BeanInfo
Overrides:
getEventSetDescriptors in class SimpleBeanInfo

getIcon

public Image getIcon(int iconKind)

Specified by:
getIcon in interface BeanInfo
Overrides:
getIcon in class SimpleBeanInfo

getMethodDescriptors

public MethodDescriptor[] getMethodDescriptors()

Specified by:
getMethodDescriptors in interface BeanInfo
Overrides:
getMethodDescriptors in class SimpleBeanInfo

getPropertyDescriptors

public PropertyDescriptor[] getPropertyDescriptors()

Specified by:
getPropertyDescriptors in interface BeanInfo
Overrides:
getPropertyDescriptors in class SimpleBeanInfo

Apache JMeter

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