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 StringDEFAULTDefault value, must be provided ifNOT_UNDEFINEDis TRUEstatic StringMULTILINEIf specified, create a multi-line editorstatic StringNOT_EXPRESSIONWhether the field disallows JMeter expressions; Boolean, default FALSEstatic StringNOT_OTHERWhether the field disallows constant values different from the provided tags; Boolean, default FALSEstatic StringNOT_UNDEFINEDWhether the field must be defined (i.e. is required); Boolean, defaults to FALSEstatic StringRESOURCE_BUNDLEPointer to the resource bundle, if any (will generally be null)static StringTAGSstatic StringTEXT_LANGUAGETextEditor 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 protectedBeanInfoSupport(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 voidcreatePropertyGroup(String group, String[] names)Utility method to group and order properties.BeanInfo[]getAdditionalBeanInfo()BeanDescriptorgetBeanDescriptor()intgetDefaultEventIndex()intgetDefaultPropertyIndex()EventSetDescriptor[]getEventSetDescriptors()ImagegetIcon(int iconKind)MethodDescriptor[]getMethodDescriptors()PropertyDescriptor[]getPropertyDescriptors()protected PropertyDescriptorproperty(String name)Get the property descriptor for the property of the given name.protected PropertyDescriptorproperty(String name, Class<? extends Enum<?>> enumClass)Get the property descriptor for the property of the given name.protected PropertyDescriptorproperty(String name, TypeEditor editor)Get the property descriptor for the property of the given name.protected voidsetIcon(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_UNDEFINEDis 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:
getAdditionalBeanInfoin interfaceBeanInfo- Overrides:
getAdditionalBeanInfoin classSimpleBeanInfo
-
getBeanDescriptor
public BeanDescriptor getBeanDescriptor()
- Specified by:
getBeanDescriptorin interfaceBeanInfo- Overrides:
getBeanDescriptorin classSimpleBeanInfo
-
getDefaultEventIndex
public int getDefaultEventIndex()
- Specified by:
getDefaultEventIndexin interfaceBeanInfo- Overrides:
getDefaultEventIndexin classSimpleBeanInfo
-
getDefaultPropertyIndex
public int getDefaultPropertyIndex()
- Specified by:
getDefaultPropertyIndexin interfaceBeanInfo- Overrides:
getDefaultPropertyIndexin classSimpleBeanInfo
-
getEventSetDescriptors
public EventSetDescriptor[] getEventSetDescriptors()
- Specified by:
getEventSetDescriptorsin interfaceBeanInfo- Overrides:
getEventSetDescriptorsin classSimpleBeanInfo
-
getIcon
public Image getIcon(int iconKind)
- Specified by:
getIconin interfaceBeanInfo- Overrides:
getIconin classSimpleBeanInfo
-
getMethodDescriptors
public MethodDescriptor[] getMethodDescriptors()
- Specified by:
getMethodDescriptorsin interfaceBeanInfo- Overrides:
getMethodDescriptorsin classSimpleBeanInfo
-
getPropertyDescriptors
public PropertyDescriptor[] getPropertyDescriptors()
- Specified by:
getPropertyDescriptorsin interfaceBeanInfo- Overrides:
getPropertyDescriptorsin classSimpleBeanInfo
-
-