Class ConfigurationChooserPropertyDescriptor
At runtime, the Operator/Adapter may use Operator.getOperatorConfigurationAccessor() along
with the property value to retrieve the data.
Specifically, this descriptor is to be created with an
XPath expression that selects XPathConstants.NODESET, and more specifically,
that is expected to return a list of Attribute nodes, whose values will be presented to the user
to select from. The value selected (or entered) is then set to a String property type.
The XPath expression supports the use of variables (using the $var syntax as specified by the JAXP API);
you may use other property names as variable names, and you must declare these variables using
setLinkedPropertyNames(String...).
For example, given this as the contents of the adapter-configurations element
in the server's configuration file:
<adapter-configuration type="myop"> <section name="section1"> ... </section> <section name="section2"> ... </section> </adapter-configuration>
then this xpath:
adapter-configuration[@type="myop"]/section/@name
would let the user select from:
section1 and section2
An example XPath expression using a parameter might look like:
adapter-configuration[@type="myop"]/sections/[@name=$section]/@name
Note that UIHints proposals are ignored for this descriptor.
- Since:
- 7.5
- See Also:
-
Field Summary
Fields inherited from class com.streambase.sb.operator.parameter.SBPropertyDescriptor
expressionInputPort, NOT_AN_EXPRESSION -
Constructor Summary
ConstructorsConstructorDescriptionConfigurationChooserPropertyDescriptor(String xpath, PropertyDescriptor pd, Class<?> beanClass) Copy a property descriptorConfigurationChooserPropertyDescriptor(String propertyName, String xpath, Class<?> beanClass) Standard constructorConfigurationChooserPropertyDescriptor(String propertyName, String xpath, Class<?> beanClass, String readMethodName, String writeMethodName) Construct a property descriptor with non-standard read/write method names -
Method Summary
Modifier and TypeMethodDescriptionString[]setLinkedPropertyNames(String... propertyNames) Declare property names that are being used in the XPath expression as variablesMethods inherited from class com.streambase.sb.operator.parameter.SBPropertyDescriptor
deprecated, description, displayName, getExpressionInputPort, getMaskDisplay, getMultiLine, getUIHints, isDeprecated, isExpression, isRequired, mask, migrateTo, multiline, optional, setDeprecated, setMaskStringDisplay, setMultiLine, setRequired, setUIHintsMethods inherited from class java.beans.PropertyDescriptor
createPropertyEditor, equals, getPropertyEditorClass, getPropertyType, getReadMethod, getWriteMethod, hashCode, isBound, isConstrained, setBound, setConstrained, setPropertyEditorClass, setReadMethod, setWriteMethodMethods inherited from class java.beans.FeatureDescriptor
attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setDisplayName, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue, toString
-
Constructor Details
-
ConfigurationChooserPropertyDescriptor
public ConfigurationChooserPropertyDescriptor(String propertyName, String xpath, Class<?> beanClass) throws IntrospectionException, XPathExpressionException Standard constructor- Parameters:
propertyName- the name of the propertyxpath- anXPathexpression string that will select attributes whose values are to be displayed to the userbeanClass- the operator class containing the property- Throws:
IntrospectionException- if introspection failsXPathExpressionException- invalid xpath expression
-
ConfigurationChooserPropertyDescriptor
public ConfigurationChooserPropertyDescriptor(String propertyName, String xpath, Class<?> beanClass, String readMethodName, String writeMethodName) throws IntrospectionException, XPathExpressionException Construct a property descriptor with non-standard read/write method names- Parameters:
propertyName- the name of the propertyxpath- anXPathexpression string that will select attributes whose values are to be displayed to the userbeanClass- the operator class containing the propertyreadMethodName- the name of the method used to read the propertywriteMethodName- the name of the method used to write the property- Throws:
IntrospectionException- if introspection failsXPathExpressionException- invalidXPathexpression
-
ConfigurationChooserPropertyDescriptor
public ConfigurationChooserPropertyDescriptor(String xpath, PropertyDescriptor pd, Class<?> beanClass) throws IntrospectionException, XPathExpressionException Copy a property descriptor- Parameters:
xpath- anXPathexpression string that will select attributes whose values are to be displayed to the userpd- a property descriptor to copy frombeanClass- the operator class containing the property- Throws:
IntrospectionException- if introspection failsXPathExpressionException- on XPath error
-
-
Method Details
-
getExpression
- Returns:
- the
XPathExpressionthis property descriptor was created with
-
setLinkedPropertyNames
Declare property names that are being used in the XPath expression as variables- Parameters:
propertyNames- names of the other properties to link to- Returns:
- this object to allow method chaining
-
getLinkedPropertyNames
- Returns:
- a never-null array of property names used as variables in this descriptor's XPath expression
-