Adding Functionality to Apache NiFi
Also available as:
loading table of contents...

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.