Annotation Interface Service.GenerateBinding

Enclosing class:
Service

@Retention(CLASS) @Target(TYPE) public static @interface Service.GenerateBinding
Instruction for the Helidon Service Codegen to generate application binding. This is needed when a custom main class is to be used with fully generated binding. The "real" binding can only be generated by the Helidon Service Maven Plugin, as it requires the full runtime classpath, but the class must be available at compile time, so we can use it from the custom Main class.

Presence of this annotation will trigger generation of an application binding class (empty), that will be overwritten by the Maven plugin.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Package name of the generated binding.
    Name of the application binding class.
  • Element Details

    • value

      String value
      Name of the application binding class. When using generated main class, the same name must be configured for the Maven plugin.
      Returns:
      application binding class name
      Default:
      "ApplicationBinding"
    • packageName

      String packageName
      Package name of the generated binding. Defaults to the package of the type annotated with this annotation.

      When using generated main class, the same name must be configured for the Maven plugin, unless it is discovered correctly (the Maven Plugin uses the top level package of the current module it sees).

      Returns:
      package name of the generated application binding class
      Default:
      "@default"