Class BeanInfoSupport
- java.lang.Object
-
- java.beans.SimpleBeanInfo
-
- 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:
- Calls super(beanClass)
- 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:
- Bean's display name -- from property displayName.
- Properties' display names -- from properties propertyName.displayName.
- Properties' short descriptions -- from properties propertyName.shortDescription.
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: 1649775 $
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT
Default value, must be provided ifNOT_UNDEFINED
is TRUEstatic String
MULTILINE
If specified, create a multi-line editorstatic String
NOT_EXPRESSION
Whether the field disallows JMeter expressions; Boolean, default FALSEstatic String
NOT_OTHER
Whether the field disallows constant values different from the provided tags; Boolean, default FALSEstatic String
NOT_UNDEFINED
Whether the field must be defined (i.e. is required); Boolean, defaults to FALSEstatic 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
Constructors Modifier Constructor Description protected
BeanInfoSupport(Class<? extends TestBean> beanClass)
Construct a BeanInfo for the given class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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 ifNOT_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
-
-
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 nameeditor
- 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 nameenumClass
- 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 groupnames
- property names in the desired order
-
getAdditionalBeanInfo
public BeanInfo[] getAdditionalBeanInfo()
- Specified by:
getAdditionalBeanInfo
in interfaceBeanInfo
- Overrides:
getAdditionalBeanInfo
in classSimpleBeanInfo
-
getBeanDescriptor
public BeanDescriptor getBeanDescriptor()
- Specified by:
getBeanDescriptor
in interfaceBeanInfo
- Overrides:
getBeanDescriptor
in classSimpleBeanInfo
-
getDefaultEventIndex
public int getDefaultEventIndex()
- Specified by:
getDefaultEventIndex
in interfaceBeanInfo
- Overrides:
getDefaultEventIndex
in classSimpleBeanInfo
-
getDefaultPropertyIndex
public int getDefaultPropertyIndex()
- Specified by:
getDefaultPropertyIndex
in interfaceBeanInfo
- Overrides:
getDefaultPropertyIndex
in classSimpleBeanInfo
-
getEventSetDescriptors
public EventSetDescriptor[] getEventSetDescriptors()
- Specified by:
getEventSetDescriptors
in interfaceBeanInfo
- Overrides:
getEventSetDescriptors
in classSimpleBeanInfo
-
getIcon
public Image getIcon(int iconKind)
- Specified by:
getIcon
in interfaceBeanInfo
- Overrides:
getIcon
in classSimpleBeanInfo
-
getMethodDescriptors
public MethodDescriptor[] getMethodDescriptors()
- Specified by:
getMethodDescriptors
in interfaceBeanInfo
- Overrides:
getMethodDescriptors
in classSimpleBeanInfo
-
getPropertyDescriptors
public PropertyDescriptor[] getPropertyDescriptors()
- Specified by:
getPropertyDescriptors
in interfaceBeanInfo
- Overrides:
getPropertyDescriptors
in classSimpleBeanInfo
-
-