Annotation Interface CustomProcedure


@Target(METHOD) @Retention(RUNTIME) public @interface CustomProcedure
This annotation can be used to annotate a procedure in the same way as using `@Procedure` would. However, this annotation does not actually register anything with the procedure framework. We can use it to provide as quasi-equivalent method for out documentation and test tooling for procedures and functions that cannot use actual procedure framework annotations. It can also be used to pretend that `@UserAggregationFunction`s have a `@Procedure` annotation.

The return type of the annotated method should be a proper Java interface, not a Map, so that we can extract the schema from the fields. Only fields marked with the nested `@CustomProcedure.ResultField` annotation are included in the schema.

The parameters of the annotated method should be annotated with `@Name` as you would for regular `@Procedure` methods.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     
    static @interface 
    Annotated methods are included in the result definition.
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The name of the procedure.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The namespace of the procedure.
  • Element Details

    • value

      String value
      The name of the procedure.