Exposing Processor Properties
Most Processors will require some amount of user configuration before they are able
to be used. The properties that a Processor supports are exposed to the Framework via
the getSupportedPropertyDescriptors method. This method takes no
arguments and returns a List of PropertyDescriptor
objects. The order of the objects in the List is important in that it dictates the order
in which the properties will be rendered in the User Interface.
A PropertyDescriptor object is constructed by creating a new
instance of the PropertyDescriptor.Builder object, calling the
appropriate methods on the builder, and finally calling the build
method.
While this method covers most of the use cases, it is sometimes desirable to allow
users to configure additional properties whose name are not known. This can be achieved
by overriding the getSupportedDynamicPropertyDescriptor method. This
method takes a String as its only argument, which indicates the name
of the property. The method returns a PropertyDescriptor object that
can be used to validate both the name of the property, as well as the value. Any
PropertyDescriptor that is returned from this method should be built setting the value
of isDynamic to true in the
PropertyDescriptor.Builder class. The default behavior of
AbstractProcessor is to not allow any dynamically created properties.

