Interface NamedBindingBuilder<T>

Type Parameters:
T - service type.
All Superinterfaces:
BindingBuilder<T>
All Known Implementing Classes:
AbstractBindingBuilder, AbstractBindingBuilder.ClassBasedBindingBuilder, AbstractBindingBuilder.FactoryInstanceBasedBindingBuilder, AbstractBindingBuilder.FactoryTypeBasedBindingBuilder, AbstractBindingBuilder.InstanceBasedBindingBuilder

public interface NamedBindingBuilder<T> extends BindingBuilder<T>
Named service binding builder.
  • Method Details

    • to

      NamedBindingBuilder<T> to(Class<? super T> contract)
      Bind a new contract to a service.
      Parameters:
      contract - contract type.
      Returns:
      updated binder.
    • to

      NamedBindingBuilder<T> to(TypeLiteral<?> contract)
      Bind a new contract to a service.
      Parameters:
      contract - contract type.
      Returns:
      updated binder.
    • loadedBy

      NamedBindingBuilder<T> loadedBy(HK2Loader loader)
      Custom HK2 loader to be used when service class is about to be loaded.
      Parameters:
      loader - custom service loader.
      Returns:
      updated binder.
    • withMetadata

      NamedBindingBuilder<T> withMetadata(String key, String value)
      Add binding descriptor metadata. The metadata can be later used to e.g. filter binding descriptors. If this is for Factory descriptors the metadata will be placed on both the Factory as a service and on the Factories Factory.provide() method
      Parameters:
      key - metadata key.
      value - metadata value.
      Returns:
      updated binder.
    • withMetadata

      NamedBindingBuilder<T> withMetadata(String key, List<String> values)
      Add binding descriptor metadata. The metadata can be later used to e.g. filter binding descriptors. If this is for Factory descriptors the metadata will be placed on both the Factory as a service and on the Factories Factory.provide() method
      Parameters:
      key - metadata key.
      values - metadata values.
      Returns:
      updated binder.
    • qualifiedBy

      NamedBindingBuilder<T> qualifiedBy(Annotation annotation)
      Add a binging qualifier annotation. If this is being used with a Factory then both the Factory Service and the Factory.provide() method will get the qualifier
      Parameters:
      annotation - qualifier annotation.
      Returns:
      updated binder.
    • in

      ScopedNamedBindingBuilder<T> in(Class<? extends Annotation> scopeAnnotation)
      Scope a binding.
      Parameters:
      scopeAnnotation - scope annotation.
      Returns:
      updated binding.
    • ranked

      void ranked(int rank)
      Rank the binding. The higher rank, the more prominent position in an injected iterable provider for a contract.
      Parameters:
      rank - binding rank to be used to resolve ordering in case of multiple services are bound to the same contract.
    • proxy

      NamedBindingBuilder<T> proxy(boolean proxiable)
      Set proxy flag on the binding.
      Parameters:
      proxiable - flag to determine if the binding should be proxiable.
    • asType

      Call this if the parameterized type of the implementation class is known. This must only be called with a ParameterizedType
      Parameters:
      t - The non-null ParameterizedType describing the implementation
      Returns:
      A DescriptorBuilder with the given implementationType