Annotation Type Service


  • @Documented
    @Inherited
    @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
      java.lang.Class<?> value
      Gets the serviced class.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      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!
      java.lang.String method
      The method name of the mapped service that provides the value.
      The default is "value".
    • Element Detail

      • value

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

        java.lang.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