Interface ServiceBindingBuilder<T>
- Type Parameters:
T
- service type.
- All Superinterfaces:
BindingBuilder<T>
- All Known Implementing Classes:
AbstractBindingBuilder
,AbstractBindingBuilder.ClassBasedBindingBuilder
,AbstractBindingBuilder.FactoryInstanceBasedBindingBuilder
,AbstractBindingBuilder.FactoryTypeBasedBindingBuilder
,AbstractBindingBuilder.InstanceBasedBindingBuilder
Service binding builder.
-
Method Summary
Modifier and TypeMethodDescriptionanalyzeWith
(String analyzer) Set the name of theClassAnalyzer
on the binding.Call this if the parameterized type of the implementation class is known.in
(Annotation scopeAnnotation) Scope a binding.in
(Class<? extends Annotation> scopeAnnotation) Scope a binding.Custom HK2 loader to be used when service class is about to be loaded.Name
the binding.proxy
(boolean proxiable) Set proxy flag on the binding.proxyForSameScope
(boolean proxyForSameScope) Set proxyForSameScope flag on the bindingqualifiedBy
(Annotation annotation) Add a binding qualifier annotation.void
ranked
(int rank) Rank the binding.Bind a new contract to a service.Bind a new contract to a service.to
(TypeLiteral<?> contract) Bind a new contract to a service.withMetadata
(String key, String value) Add binding descriptor metadata.withMetadata
(String key, List<String> values) Add binding descriptor metadata.
-
Method Details
-
to
Bind a new contract to a service.- Parameters:
contract
- contract type.- Returns:
- updated binder.
-
to
Bind a new contract to a service.- Parameters:
contract
- contract type.- Returns:
- updated binder.
-
to
Bind a new contract to a service.- Parameters:
contract
- contract type.- Returns:
- updated binder.
-
loadedBy
Custom HK2 loader to be used when service class is about to be loaded.- Parameters:
loader
- custom service loader.- Returns:
- updated binder.
-
withMetadata
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
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
Add a binding 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
Scope a binding.- Parameters:
scopeAnnotation
- scope annotation.- Returns:
- updated binding.
-
in
Scope a binding.- Parameters:
scopeAnnotation
- scope annotation.- Returns:
- updated binding.
-
named
Name
the binding.- Parameters:
name
- new name value.- 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
Set proxy flag on the binding.- Parameters:
proxiable
- flag to determine if the binding should be proxiable.
-
proxyForSameScope
Set proxyForSameScope flag on the binding- Parameters:
proxyForSameScope
- flag to determine if proxies should be generated even within the same scope- Returns:
- A further refined ServiceBindingBuilder
-
analyzeWith
Set the name of theClassAnalyzer
on the binding.- Parameters:
analyzer
- The name of the analyzer that should be used. May be null to indicate the default class analzyer
-
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
-