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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description NamedBindingBuilder<T>
asType(java.lang.reflect.Type t)
Call this if the parameterized type of the implementation class is known.ScopedNamedBindingBuilder<T>
in(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation)
Scope a binding.NamedBindingBuilder<T>
loadedBy(HK2Loader loader)
Custom HK2 loader to be used when service class is about to be loaded.NamedBindingBuilder<T>
proxy(boolean proxiable)
Set proxy flag on the binding.NamedBindingBuilder<T>
qualifiedBy(java.lang.annotation.Annotation annotation)
Add a binging qualifier annotation.void
ranked(int rank)
Rank the binding.NamedBindingBuilder<T>
to(java.lang.Class<? super T> contract)
Bind a new contract to a service.NamedBindingBuilder<T>
to(TypeLiteral<?> contract)
Bind a new contract to a service.NamedBindingBuilder<T>
withMetadata(java.lang.String key, java.lang.String value)
Add binding descriptor metadata.NamedBindingBuilder<T>
withMetadata(java.lang.String key, java.util.List<java.lang.String> values)
Add binding descriptor metadata.
-
-
-
Method Detail
-
to
NamedBindingBuilder<T> to(java.lang.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(java.lang.String key, java.lang.String value)
Add binding descriptor metadata. The metadata can be later used to e.g.filter
binding descriptors. If this is forFactory
descriptors the metadata will be placed on both the Factory as a service and on the FactoriesFactory.provide()
method- Parameters:
key
- metadata key.value
- metadata value.- Returns:
- updated binder.
-
withMetadata
NamedBindingBuilder<T> withMetadata(java.lang.String key, java.util.List<java.lang.String> values)
Add binding descriptor metadata. The metadata can be later used to e.g.filter
binding descriptors. If this is forFactory
descriptors the metadata will be placed on both the Factory as a service and on the FactoriesFactory.provide()
method- Parameters:
key
- metadata key.values
- metadata values.- Returns:
- updated binder.
-
qualifiedBy
NamedBindingBuilder<T> qualifiedBy(java.lang.annotation.Annotation annotation)
Add a binging qualifier annotation. If this is being used with aFactory
then both the Factory Service and theFactory.provide()
method will get the qualifier- Parameters:
annotation
- qualifier annotation.- Returns:
- updated binder.
-
in
ScopedNamedBindingBuilder<T> in(java.lang.Class<? extends java.lang.annotation.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 injectediterable 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
NamedBindingBuilder<T> asType(java.lang.reflect.Type t)
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
-
-