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.