Interface UnaryServiceDescriptor<T>

  • Type Parameters:
    T - the type of the value provided by the described service
    All Superinterfaces:
    ServiceDescriptor<T>
    All Known Subinterfaces:
    UnaryServiceDescriptor.Provider<T>

    public interface UnaryServiceDescriptor<T>
    extends ServiceDescriptor<T>
    Describes a service by its name, provided value type, and dynamic name resolution mechanism.
    Author:
    Paul Ferraro
    • Method Detail

      • resolve

        default Map.Entry<String,​String[]> resolve​(String reference)
        Resolves the dynamic name of the service using the specified segment.
        Parameters:
        reference - a dynamic segment
        Returns:
        a tuple containing the resolved name and dynamic segments
      • asType

        default <U extends TUnaryServiceDescriptor<U> asType​(Class<U> type)
        Description copied from interface: ServiceDescriptor
        Returns a sub-class view of this service descriptor.
        Specified by:
        asType in interface ServiceDescriptor<T>
        Type Parameters:
        U - the subclass type
        Parameters:
        type - a sub-class of this descriptor's type
        Returns:
        a sub-class view of this service descriptor.
      • of

        static <T> UnaryServiceDescriptor<T> of​(String name,
                                                Class<T> type)
        Creates a unary service descriptor with the specified name and type.
        Type Parameters:
        T - the service type
        Parameters:
        name - the service name
        type - the service type
        Returns:
        a service descriptor
      • of

        static <T> UnaryServiceDescriptor<T> of​(String name,
                                                NullaryServiceDescriptor<T> defaultDescriptor)
        Creates a unary service descriptor with the specified name and default service descriptor.
        Type Parameters:
        T - the service type
        Parameters:
        name - the service name
        defaultDescriptor - the service descriptor used to resolve an undefined dynamic name
        Returns:
        a service descriptor