Top Description Inners Fields Constructors Methods
org.glassfish.hk2.utilities.binding

pack-priv abstract Class AbstractBindingBuilder<T>

extends Object
implements ServiceBindingBuilder<T>, NamedBindingBuilder<T>, ScopedBindingBuilder<T>, ScopedNamedBindingBuilder<T>
Class Inheritance
All Implemented Interfaces
org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder, org.glassfish.hk2.utilities.binding.BindingBuilder, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder, org.glassfish.hk2.utilities.binding.NamedBindingBuilder, org.glassfish.hk2.utilities.binding.ServiceBindingBuilder
Known Direct Subclasses
org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.ClassBasedBindingBuilder, org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.InstanceBasedBindingBuilder, org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.FactoryInstanceBasedBindingBuilder, org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.FactoryTypeBasedBindingBuilder
Type Parameters
<T>
bound service type.
Imports
java.lang.annotation.Annotation, java.lang.reflect.Type, java.util.HashSet, .List, .Set, jakarta.inject.Named, org.glassfish.hk2.api.DynamicConfiguration, .Factory, .HK2Loader, .TypeLiteral, org.glassfish.hk2.utilities.AbstractActiveDescriptor, .ActiveDescriptorBuilder, .BuilderHelper, .FactoryDescriptorsImpl, org.glassfish.hk2.utilities.reflection.ParameterizedTypeImpl, .ReflectionHelper, org.jvnet.hk2.component.MultiMap

Abstract binding builder implementation.
Author
Marek Potociar (marek.potociar at oracle.com)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static class
private static class

Field Summary

Modifier and TypeField and Description
pack-priv String
analyzer

Analyzer to use with this descriptor

pack-priv Set<Type>
contracts

Contracts the service should be bound to.

pack-priv Type
pack-priv HK2Loader
loader

Bound service loader.

pack-priv final MultiMap<String, String>
metadata

Binding metadata (e.g. useful for filtering).

pack-priv String
name

Binding name (see @Named).

pack-priv Boolean
proxiable

Injectee is proxiable.

pack-priv Boolean
proxyForSameScope

Injectee should be proxied even inside the same scope

pack-priv Set<Annotation>
qualifiers

Qualifiers (other than @Named).

pack-priv Integer
ranked

Binding rank.

pack-priv Class<? extends Annotation>
scope

Binding scope.

pack-priv Annotation
scopeAnnotation

Binding scope as annotation

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
asType(Type t)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.asType, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.asType.

Call this if the parameterized type of the implementation class is known.

pack-priv abstract void
complete(DynamicConfiguration
dynamic binding configuration.
configuration
,
HK2Loader
default HK2 loader that should be used in case a custom loader was not set.
defaultLoader
)

Build the binding descriptor and bind it in the dynamic configuration.

pack-priv static <
service type.
T
>
AbstractBindingBuilder<T>

Returns:

initialized binding builder.
create
(Class<T>
service class.
serviceType
,
boolean
if true, the service class will be bound as one of the contracts.
bindAsContract
)

Create a new service binding builder.

pack-priv static <
service type.
T
>
AbstractBindingBuilder<T>

Returns:

initialized binding builder.
create
(Type
service class.
serviceType
,
boolean
if true, the service class will be bound as one of the contracts.
bindAsContract
)

Create a new service binding builder.

pack-priv static <
service type.
T
>
AbstractBindingBuilder<T>

Returns:

initialized binding builder.
create
(TypeLiteral<T>
generic service type.
serviceType
,
boolean
if true, the service class will be bound as one of the contracts.
bindAsContract
)

Create a new service binding builder.

pack-priv static <T> AbstractBindingBuilder<T>

Returns:

initialized binding builder.
create
(T
service instance.
service
)

Create a new service binding builder.

pack-priv static <T> AbstractBindingBuilder<T>

Returns:

initialized binding builder.
createFactoryBinder
(Factory<T>
service factory instance.
factory
)

Create a new service binding builder.

pack-priv static <T> AbstractBindingBuilder<T>

Returns:

initialized binding builder.
createFactoryBinder
(Class<? extends Factory<T>>
service factory class.
factoryType
,
Class<? extends Annotation>
service factory scope.
factoryScope
)

Create a new service binding builder.

public AbstractBindingBuilder<T>
in(Annotation scopeAnnotation)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.in.

Scope a binding.

public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
public void
public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
to(Type contract)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.to.

Bind a new contract to a service.

public AbstractBindingBuilder<T>
public AbstractBindingBuilder<T>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

analyzerback to summary
pack-priv String analyzer

Analyzer to use with this descriptor

contractsback to summary
pack-priv Set<Type> contracts

Contracts the service should be bound to.

implementationTypeback to summary
pack-priv Type implementationType
loaderback to summary
pack-priv HK2Loader loader

Bound service loader.

metadataback to summary
pack-priv final MultiMap<String, String> metadata

Binding metadata (e.g. useful for filtering).

nameback to summary
pack-priv String name

Binding name (see @Named).

proxiableback to summary
pack-priv Boolean proxiable

Injectee is proxiable.

proxyForSameScopeback to summary
pack-priv Boolean proxyForSameScope

Injectee should be proxied even inside the same scope

qualifiersback to summary
pack-priv Set<Annotation> qualifiers

Qualifiers (other than @Named).

rankedback to summary
pack-priv Integer ranked

Binding rank.

scopeback to summary
pack-priv Class<? extends Annotation> scope

Binding scope.

scopeAnnotationback to summary
pack-priv Annotation scopeAnnotation

Binding scope as annotation

Constructor Detail

AbstractBindingBuilderback to summary
pack-priv AbstractBindingBuilder()

Method Detail

analyzeWithback to summary
public AbstractBindingBuilder<T> analyzeWith(String analyzer)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.analyzeWith, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.analyzeWith, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.analyzeWith.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.analyzeWith.

Set the name of the org.glassfish.hk2.api.ClassAnalyzer on the binding.

Annotations
@Override
asTypeback to summary
public AbstractBindingBuilder<T> asType(Type t)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.asType, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.asType.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.asType.

Call this if the parameterized type of the implementation class is known. This must only be called with a ParameterizedType

completeback to summary
pack-priv abstract void complete(DynamicConfiguration configuration, HK2Loader defaultLoader)

Build the binding descriptor and bind it in the dynamic configuration.

Parameters
configuration:DynamicConfiguration

dynamic binding configuration.

defaultLoader:HK2Loader

default HK2 loader that should be used in case a custom loader was not set.

createback to summary
pack-priv static <T> AbstractBindingBuilder<T> create(Class<T> serviceType, boolean bindAsContract)

Create a new service binding builder.

Parameters
<T>
service type.
serviceType:Class<T>

service class.

bindAsContract:boolean

if true, the service class will be bound as one of the contracts.

Returns:AbstractBindingBuilder<T>

initialized binding builder.

createback to summary
pack-priv static <T> AbstractBindingBuilder<T> create(Type serviceType, boolean bindAsContract)

Create a new service binding builder.

Parameters
<T>
service type.
serviceType:Type

service class.

bindAsContract:boolean

if true, the service class will be bound as one of the contracts.

Returns:AbstractBindingBuilder<T>

initialized binding builder.

Annotations
@SuppressWarnings:unchecked
createback to summary
pack-priv static <T> AbstractBindingBuilder<T> create(TypeLiteral<T> serviceType, boolean bindAsContract)

Create a new service binding builder.

Parameters
<T>
service type.
serviceType:TypeLiteral<T>

generic service type.

bindAsContract:boolean

if true, the service class will be bound as one of the contracts.

Returns:AbstractBindingBuilder<T>

initialized binding builder.

createback to summary
pack-priv static <T> AbstractBindingBuilder<T> create(T service)

Create a new service binding builder.

Parameters
service:T

service instance.

Returns:AbstractBindingBuilder<T>

initialized binding builder.

createFactoryBinderback to summary
pack-priv static <T> AbstractBindingBuilder<T> createFactoryBinder(Factory<T> factory)

Create a new service binding builder.

Parameters
factory:Factory<T>

service factory instance.

Returns:AbstractBindingBuilder<T>

initialized binding builder.

createFactoryBinderback to summary
pack-priv static <T> AbstractBindingBuilder<T> createFactoryBinder(Class<? extends Factory<T>> factoryType, Class<? extends Annotation> factoryScope)

Create a new service binding builder.

Parameters
factoryType:Class<? extends Factory<T>>

service factory class.

factoryScope:Class<? extends Annotation>

service factory scope.

Returns:AbstractBindingBuilder<T>

initialized binding builder.

inback to summary
public AbstractBindingBuilder<T> in(Annotation scopeAnnotation)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.in.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.in.

Scope a binding.

Annotations
@Override
inback to summary
public AbstractBindingBuilder<T> in(Class<? extends Annotation> scopeAnnotation)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.in, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.in.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.in.

Scope a binding.

Annotations
@Override
loadedByback to summary
public AbstractBindingBuilder<T> loadedBy(HK2Loader loader)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.loadedBy, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.loadedBy, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.loadedBy, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.loadedBy.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.loadedBy.

Custom HK2 loader to be used when service class is about to be loaded.

Annotations
@Override
namedback to summary
public AbstractBindingBuilder<T> named(String name)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.named, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.named.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.named.

Name the binding.

Annotations
@Override
proxyback to summary
public AbstractBindingBuilder<T> proxy(boolean proxiable)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.proxy, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.proxy, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.proxy, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.proxy.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.proxy.

Set proxy flag on the binding.

Annotations
@Override
proxyForSameScopeback to summary
public AbstractBindingBuilder<T> proxyForSameScope(boolean proxyForSameScope)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.proxyForSameScope, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.proxyForSameScope.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.proxyForSameScope.

Set proxyForSameScope flag on the binding

Annotations
@Override
qualifiedByback to summary
public AbstractBindingBuilder<T> qualifiedBy(Annotation annotation)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.qualifiedBy, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.qualifiedBy, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.qualifiedBy, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.qualifiedBy.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.qualifiedBy.

Add a binding qualifier annotation. If this is being used with a org.glassfish.hk2.api.Factory then both the Factory Service and the org.glassfish.hk2.api.Factory#provide() method will get the qualifier

Annotations
@Override
rankedback to summary
public void ranked(int rank)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.ranked, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.ranked, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.ranked, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.ranked.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.ranked.

Rank the binding. The higher rank, the more prominent position in an injected iterable provider for a contract.

Annotations
@Override
toback to summary
public AbstractBindingBuilder<T> to(Class<? super T> contract)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.to, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.to, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.to, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.to.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.to.

Bind a new contract to a service.

Annotations
@Override
toback to summary
public AbstractBindingBuilder<T> to(TypeLiteral<?> contract)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.to, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.to, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.to, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.to.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.to.

Bind a new contract to a service.

Annotations
@Override
toback to summary
public AbstractBindingBuilder<T> to(Type contract)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.to.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.to.

Bind a new contract to a service.

Annotations
@Override
withMetadataback to summary
public AbstractBindingBuilder<T> withMetadata(String key, String value)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.withMetadata, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.withMetadata, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.withMetadata, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.withMetadata.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.withMetadata.

Add binding descriptor metadata. The metadata can be later used to e.g. filter binding descriptors. If this is for org.glassfish.hk2.api.Factory descriptors the metadata will be placed on both the Factory as a service and on the Factories org.glassfish.hk2.api.Factory#provide() method

Annotations
@Override
withMetadataback to summary
public AbstractBindingBuilder<T> withMetadata(String key, List<String> values)

Implements org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.withMetadata, org.glassfish.hk2.utilities.binding.NamedBindingBuilder.withMetadata, org.glassfish.hk2.utilities.binding.ScopedBindingBuilder.withMetadata, org.glassfish.hk2.utilities.binding.ScopedNamedBindingBuilder.withMetadata.

Doc from org.glassfish.hk2.utilities.binding.ServiceBindingBuilder.withMetadata.

Add binding descriptor metadata. The metadata can be later used to e.g. filter binding descriptors. If this is for org.glassfish.hk2.api.Factory descriptors the metadata will be placed on both the Factory as a service and on the Factories org.glassfish.hk2.api.Factory#provide() method

Annotations
@Override
org.glassfish.hk2.utilities.binding back to summary

private Class AbstractBindingBuilder.ClassBasedBindingBuilder<T>

extends AbstractBindingBuilder<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final Class<T>
Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzercontractsimplementationTypeloadermetadatanameproxiableproxyForSameScopequalifiersrankedscopescopeAnnotation

Constructor Summary

AccessConstructor and Description
public
ClassBasedBindingBuilder(Class<T> service, Type serviceContractType)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
complete(final DynamicConfiguration configuration, final HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzeWithasTypecreatecreatecreatecreatecreateFactoryBindercreateFactoryBinderininloadedBynamedproxyproxyForSameScopequalifiedByrankedtototowithMetadatawithMetadata

Field Detail

serviceback to summary
private final Class<T> service

Constructor Detail

ClassBasedBindingBuilderback to summary
public ClassBasedBindingBuilder(Class<T> service, Type serviceContractType)

Method Detail

completeback to summary
pack-priv void complete(final DynamicConfiguration configuration, final HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Doc from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Annotations
@Override
org.glassfish.hk2.utilities.binding back to summary

private Class AbstractBindingBuilder.FactoryInstanceBasedBindingBuilder<T>

extends AbstractBindingBuilder<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final Factory<T>
Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzercontractsimplementationTypeloadermetadatanameproxiableproxyForSameScopequalifiersrankedscopescopeAnnotation

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv void
complete(DynamicConfiguration configuration, HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzeWithasTypecreatecreatecreatecreatecreateFactoryBindercreateFactoryBinderininloadedBynamedproxyproxyForSameScopequalifiedByrankedtototowithMetadatawithMetadata

Field Detail

factoryback to summary
private final Factory<T> factory

Constructor Detail

FactoryInstanceBasedBindingBuilderback to summary
public FactoryInstanceBasedBindingBuilder(Factory<T> factory)

Method Detail

completeback to summary
pack-priv void complete(DynamicConfiguration configuration, HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Doc from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Annotations
@Override
org.glassfish.hk2.utilities.binding back to summary

private Class AbstractBindingBuilder.FactoryTypeBasedBindingBuilder<T>

extends AbstractBindingBuilder<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final Class<? extends Factory<T>>
private final Class<? extends Annotation>
Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzercontractsimplementationTypeloadermetadatanameproxiableproxyForSameScopequalifiersrankedscopescopeAnnotation

Constructor Summary

AccessConstructor and Description
public
FactoryTypeBasedBindingBuilder(Class<? extends Factory<T>> factoryClass, Class<? extends Annotation> factoryScope)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
complete(DynamicConfiguration configuration, HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzeWithasTypecreatecreatecreatecreatecreateFactoryBindercreateFactoryBinderininloadedBynamedproxyproxyForSameScopequalifiedByrankedtototowithMetadatawithMetadata

Field Detail

factoryClassback to summary
private final Class<? extends Factory<T>> factoryClass
factoryScopeback to summary
private final Class<? extends Annotation> factoryScope

Constructor Detail

FactoryTypeBasedBindingBuilderback to summary
public FactoryTypeBasedBindingBuilder(Class<? extends Factory<T>> factoryClass, Class<? extends Annotation> factoryScope)

Method Detail

completeback to summary
pack-priv void complete(DynamicConfiguration configuration, HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Doc from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Annotations
@Override
org.glassfish.hk2.utilities.binding back to summary

private Class AbstractBindingBuilder.InstanceBasedBindingBuilder<T>

extends AbstractBindingBuilder<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final T
Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzercontractsimplementationTypeloadermetadatanameproxiableproxyForSameScopequalifiersrankedscopescopeAnnotation

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv void
complete(DynamicConfiguration configuration, HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Inherited from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder:
analyzeWithasTypecreatecreatecreatecreatecreateFactoryBindercreateFactoryBinderininloadedBynamedproxyproxyForSameScopequalifiedByrankedtototowithMetadatawithMetadata

Field Detail

serviceback to summary
private final T service

Constructor Detail

InstanceBasedBindingBuilderback to summary
public InstanceBasedBindingBuilder(T service)

Method Detail

completeback to summary
pack-priv void complete(DynamicConfiguration configuration, HK2Loader defaultLoader)

Implements abstract org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Doc from org.glassfish.hk2.utilities.binding.AbstractBindingBuilder.complete.

Build the binding descriptor and bind it in the dynamic configuration.

Annotations
@Override