Class ServiceDefImpl

    • Method Detail

      • getServiceId

        public String getServiceId()
        Description copied from interface: ServiceDef
        Returns the service id, derived from the method name or the unqualified service interface name. Service ids must be unique among all services in all modules. Service ids are used in a heavy handed way to support ultimate disambiguation, but their primary purpose is to support service contribution methods.
        Specified by:
        getServiceId in interface ServiceDef
      • getServiceInterface

        public Class getServiceInterface()
        Description copied from interface: ServiceDef
        Returns the service interface associated with this service. This is the interface exposed to the outside world, as well as the one used to build proxies. In cases where the service is not defined in terms of an interface, this will return the actual implementation class of the service. Services without a true service interface are not proxied, which has a number of ramifications (such as losing lazy instantiation capabilities and other more interesting lifecycles).
        Specified by:
        getServiceInterface in interface ServiceDef
      • getServiceImplementation

        public Class getServiceImplementation()
        Description copied from interface: ServiceDef3
        Returns the service implementation associated with this service. When creating the proxies for the service interface, the implementation of the service interface methods will receive the annotations of the corresponding method in the service interface.
        Specified by:
        getServiceImplementation in interface ServiceDef3
      • getMarkers

        public Set<ClassgetMarkers()
        Description copied from interface: ServiceDef
        Returns an optional set of marker annotations. Marker annotations are used to disambiguate services; the combination of a marker annotation and a service type is expected to be unique. The annotation is placed on the field or method/constructor parameter and the service is located by combining the marker with service type (the parameter or field type).
        Specified by:
        getMarkers in interface ServiceDef
        Returns:
        the marker annotations for the service (possibly empty), including any default marker annotations from the containing module.
      • getMethodAnnotationProvider

        public AnnotationProvider getMethodAnnotationProvider​(String methodName,
                                                              Class... argumentTypes)
        Description copied from interface: AnnotationAccess
        Returns a provider for annotations of a method of the class. This includes annotations on the implementation method, plus annotations on the corresponding service interface method (if such a method exists), with precedence on the implementation class method annotations.
        Specified by:
        getMethodAnnotationProvider in interface AnnotationAccess
        Parameters:
        methodName - the name of the method.
        argumentTypes - the types of the parameters of the method.
        Returns:
        an AnnotationProvider instance. *