Validating Processor Properties
A Processor is not able to be started if its configuration is not valid. Validation
of a Processor property can be achieved by setting a Validator on a PropertyDescriptor
or by restricting the allowable values for a property via the
PropertyDescriptor.Builder's allowableValues
method or
identifiesControllerService
method.
There are times, though, when validating a Processor's properties individually
is not sufficient. For this purpose, the AbstractProcessor exposes a
customValidate
method. The method takes a single argument of type
ValidationContext
. The return value of this method is a
Collection
of ValidationResult
objects that
describe any problems that were found during validation. Only those ValidationResult
objects whose isValid
method returns false
should
be returned. This method will be invoked only if all properties are valid according to
their associated Validators and Allowable Values. I.e., this method will be called only
if all properties are valid in-and-of themselves, and this method allows for validation
of a Processor's configuration as a whole.