Class ConfigurationChooserPropertyDescriptor


public class ConfigurationChooserPropertyDescriptor extends SBPropertyDescriptor
A property descriptor for use by a String-typed Java Operator or Adapter property, for cases that wish to present to the user a chooser (typically a combo box) that allows identifying some data out of the server configuration file's adapter-configurations area.

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:
  • Constructor Details

    • ConfigurationChooserPropertyDescriptor

      public ConfigurationChooserPropertyDescriptor(String propertyName, String xpath, Class<?> beanClass) throws IntrospectionException, XPathExpressionException
      Standard constructor
      Parameters:
      propertyName - the name of the property
      xpath - an XPath expression string that will select attributes whose values are to be displayed to the user
      beanClass - the operator class containing the property
      Throws:
      IntrospectionException - if introspection fails
      XPathExpressionException - 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 property
      xpath - an XPath expression string that will select attributes whose values are to be displayed to the user
      beanClass - the operator class containing the property
      readMethodName - the name of the method used to read the property
      writeMethodName - the name of the method used to write the property
      Throws:
      IntrospectionException - if introspection fails
      XPathExpressionException - invalid XPath expression
    • ConfigurationChooserPropertyDescriptor

      public ConfigurationChooserPropertyDescriptor(String xpath, PropertyDescriptor pd, Class<?> beanClass) throws IntrospectionException, XPathExpressionException
      Copy a property descriptor
      Parameters:
      xpath - an XPath expression string that will select attributes whose values are to be displayed to the user
      pd - a property descriptor to copy from
      beanClass - the operator class containing the property
      Throws:
      IntrospectionException - if introspection fails
      XPathExpressionException - on XPath error
  • Method Details

    • getExpression

      public XPathExpression getExpression()
      Returns:
      the XPathExpression this property descriptor was created with
    • setLinkedPropertyNames

      public ConfigurationChooserPropertyDescriptor setLinkedPropertyNames(String... propertyNames)
      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

      public String[] getLinkedPropertyNames()
      Returns:
      a never-null array of property names used as variables in this descriptor's XPath expression