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 Details

    • 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, or null if segment is not resolvable.
    • asType

      default <U extends T> UnaryServiceDescriptor<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