T - bound service type.abstract class AbstractBindingBuilder<T> extends java.lang.Object implements ServiceBindingBuilder<T>, NamedBindingBuilder<T>, ScopedBindingBuilder<T>, ScopedNamedBindingBuilder<T>
| Modifier and Type | Class and Description |
|---|---|
private static class |
AbstractBindingBuilder.ClassBasedBindingBuilder<T> |
private static class |
AbstractBindingBuilder.FactoryInstanceBasedBindingBuilder<T> |
private static class |
AbstractBindingBuilder.FactoryTypeBasedBindingBuilder<T> |
private static class |
AbstractBindingBuilder.InstanceBasedBindingBuilder<T> |
| Modifier and Type | Field and Description |
|---|---|
(package private) java.lang.String |
analyzer
Analyzer to use with this descriptor
|
(package private) java.util.Set<java.lang.reflect.Type> |
contracts
Contracts the service should be bound to.
|
(package private) HK2Loader |
loader
Bound service loader.
|
(package private) MultiMap<java.lang.String,java.lang.String> |
metadata
Binding metadata (e.g.
|
(package private) java.lang.String |
name
Binding name (see @Named).
|
(package private) java.lang.Boolean |
proxiable
Injectee is proxiable.
|
(package private) java.lang.Boolean |
proxyForSameScope
Injectee should be proxied even inside the same scope
|
(package private) java.util.Set<java.lang.annotation.Annotation> |
qualifiers
Qualifiers (other than @Named).
|
(package private) java.lang.Integer |
ranked
Binding rank.
|
(package private) java.lang.Class<? extends java.lang.annotation.Annotation> |
scope
Binding scope.
|
(package private) java.lang.annotation.Annotation |
scopeAnnotation
Binding scope as annotation
|
| Constructor and Description |
|---|
AbstractBindingBuilder() |
| Modifier and Type | Method and Description |
|---|---|
AbstractBindingBuilder<T> |
analyzeWith(java.lang.String analyzer)
Set the name of the
ClassAnalyzer on the binding. |
(package private) abstract void |
complete(DynamicConfiguration configuration,
HK2Loader defaultLoader)
Build the binding descriptor and bind it in the
dynamic configuration. |
(package private) static <T> AbstractBindingBuilder<T> |
create(java.lang.Class<T> serviceType,
boolean bindAsContract)
Create a new service binding builder.
|
(package private) static <T> AbstractBindingBuilder<T> |
create(T service)
Create a new service binding builder.
|
(package private) static <T> AbstractBindingBuilder<T> |
create(TypeLiteral<T> serviceType,
boolean bindAsContract)
Create a new service binding builder.
|
(package private) static <T> AbstractBindingBuilder<T> |
createFactoryBinder(java.lang.Class<? extends Factory<T>> factoryType,
java.lang.Class<? extends java.lang.annotation.Annotation> factoryScope)
Create a new service binding builder.
|
(package private) static <T> AbstractBindingBuilder<T> |
createFactoryBinder(Factory<T> factory)
Create a new service binding builder.
|
AbstractBindingBuilder<T> |
in(java.lang.annotation.Annotation scopeAnnotation)
Scope a binding.
|
AbstractBindingBuilder<T> |
in(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation)
Scope a binding.
|
AbstractBindingBuilder<T> |
loadedBy(HK2Loader loader)
Custom HK2 loader to be used when service class is about to be loaded.
|
AbstractBindingBuilder<T> |
named(java.lang.String name)
Name the binding. |
AbstractBindingBuilder<T> |
proxy(boolean proxiable)
Set proxy flag on the binding.
|
AbstractBindingBuilder<T> |
proxyForSameScope(boolean proxyForSameScope)
Set proxyForSameScope flag on the binding
|
AbstractBindingBuilder<T> |
qualifiedBy(java.lang.annotation.Annotation annotation)
Add a binding qualifier annotation.
|
void |
ranked(int rank)
Rank the binding.
|
AbstractBindingBuilder<T> |
to(java.lang.Class<? super T> contract)
Bind a new contract to a service.
|
AbstractBindingBuilder<T> |
to(java.lang.reflect.Type contract)
Bind a new contract to a service.
|
AbstractBindingBuilder<T> |
to(TypeLiteral<?> contract)
Bind a new contract to a service.
|
AbstractBindingBuilder<T> |
withMetadata(java.lang.String key,
java.util.List<java.lang.String> values)
Add binding descriptor metadata.
|
AbstractBindingBuilder<T> |
withMetadata(java.lang.String key,
java.lang.String value)
Add binding descriptor metadata.
|
java.util.Set<java.lang.reflect.Type> contracts
HK2Loader loader
final MultiMap<java.lang.String,java.lang.String> metadata
java.util.Set<java.lang.annotation.Annotation> qualifiers
java.lang.annotation.Annotation scopeAnnotation
java.lang.Class<? extends java.lang.annotation.Annotation> scope
java.lang.Integer ranked
java.lang.String name
java.lang.Boolean proxiable
java.lang.Boolean proxyForSameScope
java.lang.String analyzer
public AbstractBindingBuilder<T> proxy(boolean proxiable)
ServiceBindingBuilderproxy in interface NamedBindingBuilder<T>proxy in interface ScopedBindingBuilder<T>proxy in interface ScopedNamedBindingBuilder<T>proxy in interface ServiceBindingBuilder<T>proxiable - flag to determine if the binding should be proxiable.public AbstractBindingBuilder<T> proxyForSameScope(boolean proxyForSameScope)
ServiceBindingBuilderproxyForSameScope in interface ScopedBindingBuilder<T>proxyForSameScope in interface ServiceBindingBuilder<T>proxyForSameScope - flag to determine if proxies should be generated
even within the same scopepublic AbstractBindingBuilder<T> analyzeWith(java.lang.String analyzer)
ServiceBindingBuilderClassAnalyzer on the binding.analyzeWith in interface ScopedBindingBuilder<T>analyzeWith in interface ScopedNamedBindingBuilder<T>analyzeWith in interface ServiceBindingBuilder<T>analyzer - The name of the analyzer that should be used. May be null
to indicate the default class analzyerpublic AbstractBindingBuilder<T> to(java.lang.Class<? super T> contract)
ServiceBindingBuilderto in interface NamedBindingBuilder<T>to in interface ScopedBindingBuilder<T>to in interface ScopedNamedBindingBuilder<T>to in interface ServiceBindingBuilder<T>contract - contract type.public AbstractBindingBuilder<T> to(TypeLiteral<?> contract)
ServiceBindingBuilderto in interface NamedBindingBuilder<T>to in interface ScopedBindingBuilder<T>to in interface ScopedNamedBindingBuilder<T>to in interface ServiceBindingBuilder<T>contract - contract type.public AbstractBindingBuilder<T> to(java.lang.reflect.Type contract)
ServiceBindingBuilderto in interface ServiceBindingBuilder<T>contract - contract type.public AbstractBindingBuilder<T> loadedBy(HK2Loader loader)
ServiceBindingBuilderloadedBy in interface NamedBindingBuilder<T>loadedBy in interface ScopedBindingBuilder<T>loadedBy in interface ScopedNamedBindingBuilder<T>loadedBy in interface ServiceBindingBuilder<T>loader - custom service loader.public AbstractBindingBuilder<T> withMetadata(java.lang.String key, java.lang.String value)
ServiceBindingBuilderfilter 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() methodwithMetadata in interface NamedBindingBuilder<T>withMetadata in interface ScopedBindingBuilder<T>withMetadata in interface ScopedNamedBindingBuilder<T>withMetadata in interface ServiceBindingBuilder<T>key - metadata key.value - metadata value.public AbstractBindingBuilder<T> withMetadata(java.lang.String key, java.util.List<java.lang.String> values)
ServiceBindingBuilderfilter 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() methodwithMetadata in interface NamedBindingBuilder<T>withMetadata in interface ScopedBindingBuilder<T>withMetadata in interface ScopedNamedBindingBuilder<T>withMetadata in interface ServiceBindingBuilder<T>key - metadata key.values - metadata values.public AbstractBindingBuilder<T> qualifiedBy(java.lang.annotation.Annotation annotation)
ServiceBindingBuilderFactory then both the
Factory Service and the Factory.provide()
method will get the qualifierqualifiedBy in interface NamedBindingBuilder<T>qualifiedBy in interface ScopedBindingBuilder<T>qualifiedBy in interface ScopedNamedBindingBuilder<T>qualifiedBy in interface ServiceBindingBuilder<T>annotation - qualifier annotation.public AbstractBindingBuilder<T> in(java.lang.annotation.Annotation scopeAnnotation)
ServiceBindingBuilderin in interface ServiceBindingBuilder<T>scopeAnnotation - scope annotation.public AbstractBindingBuilder<T> in(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation)
ServiceBindingBuilderin in interface NamedBindingBuilder<T>in in interface ServiceBindingBuilder<T>scopeAnnotation - scope annotation.public AbstractBindingBuilder<T> named(java.lang.String name)
ServiceBindingBuilderName the binding.named in interface ScopedBindingBuilder<T>named in interface ServiceBindingBuilder<T>name - new name value.public void ranked(int rank)
ServiceBindingBuilderiterable provider for a contract.ranked in interface NamedBindingBuilder<T>ranked in interface ScopedBindingBuilder<T>ranked in interface ScopedNamedBindingBuilder<T>ranked in interface ServiceBindingBuilder<T>rank - binding rank to be used to resolve ordering in case of multiple services
are bound to the same contract.abstract void complete(DynamicConfiguration configuration, HK2Loader defaultLoader)
dynamic configuration.configuration - dynamic binding configuration.defaultLoader - default HK2 loader that should be used in case a custom loader
was not set.static <T> AbstractBindingBuilder<T> create(java.lang.Class<T> serviceType, boolean bindAsContract)
T - service type.serviceType - service class.bindAsContract - if true, the service class will be bound as one of the contracts.static <T> AbstractBindingBuilder<T> create(TypeLiteral<T> serviceType, boolean bindAsContract)
T - service type.serviceType - generic service type.bindAsContract - if true, the service class will be bound as one of the contracts.static <T> AbstractBindingBuilder<T> create(T service)
service - service instance.static <T> AbstractBindingBuilder<T> createFactoryBinder(Factory<T> factory)
factory - service factory instance.static <T> AbstractBindingBuilder<T> createFactoryBinder(java.lang.Class<? extends Factory<T>> factoryType, java.lang.Class<? extends java.lang.annotation.Annotation> factoryScope)
factoryType - service factory class.factoryScope - service factory scope.