Annotation Interface Service


@Documented @Retention(RUNTIME) @Target(TYPE) @Analyze("org.tentackle.buildsupport.ServiceAnalyzeHandler") public @interface Service
Annotation to express that the annotated class is a service implementation.
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Gets the serviced class.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Determines whether the servicing class is the annotated class or the value of the annotated annotation.
    Notice the difference between the serviced and servicing class!
    The method name of the mapped service that provides the value.
    The default is "value".
  • Element Details

    • value

      Class<?> value
      Gets the serviced class.
      Returns:
      the serviced class
    • method

      String method
      The method name of the mapped service that provides the value.
      The default is "value".
      Returns:
      the method name
      Default:
      "value"
    • meta

      boolean meta
      Determines whether the servicing class is the annotated class or the value of the annotated annotation.
      Notice the difference between the serviced and servicing class!

      Meta services go to META-INF/meta-services instead of META-INF/services because the provider usually resides in another module.

      Returns:
      true if this a meta annotation and the servicing class is provided by the annotated annotation
      Default:
      false