Annotation Type 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.

    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String value
      The name of the procedure.
    • Element Detail

      • value

        java.lang.String value
        The name of the procedure.
      • namespace

        CustomProcedure.Namespace namespace
        The namespace of the procedure.
        Default:
        org.neo4j.gds.annotation.CustomProcedure.Namespace.PROCEDURE