Annotation Interface Evaluator


@Target(METHOD) @Retention(SOURCE) public @interface Evaluator
Implement an evaluator from a static process method. The generated evaluator provides each argument in one of three ways:
  1. If the argument isn't annotated or an array then it is considered to be a sub-evaluator and the generated Evaluator will take an Evaluator for this on construction and call it for each position.
  2. If the argument isn't annotated but is an array then it is considered to be an array of evaluators and the generated Evaluator will take an array of Evaluators on construction and evaluate each of them for each position.
  3. If parameter has the Fixed annotation then it must be provided at construction time and is passed unchanged to the process method.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Extra part of the name of the evaluator.
    Class<? extends Exception>[]
    Exceptions thrown by the process method to catch and convert into a warning and turn into a null value.
  • Element Details

    • extraName

      String extraName
      Extra part of the name of the evaluator. Use for disambiguating when there are multiple ways to evaluate a function.
      Default:
      ""
    • warnExceptions

      Class<? extends Exception>[] warnExceptions
      Exceptions thrown by the process method to catch and convert into a warning and turn into a null value.
      Default:
      {}