public final class JerseyBinding
extends java.lang.Object
JerseyInstaller.| Modifier and Type | Method and Description |
|---|---|
static void |
bindComponent(org.glassfish.jersey.internal.inject.AbstractBinder binder,
com.google.inject.Injector injector,
java.lang.Class<?> type,
boolean jerseyManaged,
boolean singleton)
Binds component into jersey context.
|
static <T> void |
bindFactory(org.glassfish.jersey.internal.inject.AbstractBinder binder,
com.google.inject.Injector injector,
java.lang.Class<?> type,
boolean jerseyManaged,
boolean singleton)
Binds jersey
Supplier. |
static <T> com.google.inject.binder.ScopedBindingBuilder |
bindJerseyComponent(com.google.inject.Binder binder,
javax.inject.Provider<com.google.inject.Injector> provider,
java.lang.Class<T> type)
Used to bind jersey beans in guice context (lazily).
|
static void |
bindSpecificComponent(org.glassfish.jersey.internal.inject.AbstractBinder binder,
com.google.inject.Injector injector,
java.lang.Class<?> type,
java.lang.Class<?> specificType,
boolean jerseyManaged,
boolean singleton)
Binds jersey specific component (component implements jersey interface or extends class).
|
static boolean |
isBridgeAvailable() |
static boolean |
isJerseyManaged(java.lang.Class<?> type,
boolean guiceFirstMode)
When guice-first mode used (default) all jersey extensions are instantiated by guice and only if
JerseyManaged annotation set on bean - it will be instantiated by jersey.
|
public static boolean isBridgeAvailable()
public static boolean isJerseyManaged(java.lang.Class<?> type,
boolean guiceFirstMode)
When jersey-first mode used (InstallersOptions.JerseyExtensionsManagedByGuice) all jersey extensions are instantiated by jersey and only if GuiceManaged annotation set on bean - it will be instantiated by guice.
type - type to checkguiceFirstMode - true when guice used by default for jersey extensions management, false when
jersey used by defaultInstallersOptions.JerseyExtensionsManagedByGuice,
JerseyManaged,
GuiceManagedpublic static void bindComponent(org.glassfish.jersey.internal.inject.AbstractBinder binder,
com.google.inject.Injector injector,
java.lang.Class<?> type,
boolean jerseyManaged,
boolean singleton)
JerseyManaged, then registers type,
otherwise register guice "bridge" factory around component.binder - jersey binderinjector - guice injectortype - component typejerseyManaged - true if bean must be managed by jersey, false to bind guice managed instancesingleton - true to force singleton scopeGuiceComponentFactorypublic static <T> void bindFactory(org.glassfish.jersey.internal.inject.AbstractBinder binder,
com.google.inject.Injector injector,
java.lang.Class<?> type,
boolean jerseyManaged,
boolean singleton)
Supplier. If bean is JerseyManaged then registered directly as
factory. Otherwise register factory through special "lazy bridge" to delay guice factory bean instantiation.
Also registers factory directly (through wrapper to be able to inject factory by its type).
NOTE: since jersey 2.26 jersey don't use hk2 directly and so all HK interfaces replaced by java 8 interfaces.
T - actual type (used to workaround type checks)binder - jersey binderinjector - guice injectortype - factory to bindjerseyManaged - true if bean must be managed by jersey, false to bind guice managed instancesingleton - true to force singleton scopeLazyGuiceFactory,
GuiceComponentFactorypublic static void bindSpecificComponent(org.glassfish.jersey.internal.inject.AbstractBinder binder,
com.google.inject.Injector injector,
java.lang.Class<?> type,
java.lang.Class<?> specificType,
boolean jerseyManaged,
boolean singleton)
If type is JerseyManaged, binds directly.
Otherwise, use guice "bridge" factory to lazily bind type.
binder - jersey binderinjector - guice injectortype - type which implements specific jersey interface or extends classspecificType - specific jersey type (interface or abstract class)jerseyManaged - true if bean must be managed by jersey, false to bind guice managed instancesingleton - true to force singleton scopepublic static <T> com.google.inject.binder.ScopedBindingBuilder bindJerseyComponent(com.google.inject.Binder binder,
javax.inject.Provider<com.google.inject.Injector> provider,
java.lang.Class<T> type)
T - typebinder - guice binderprovider - provider for guice injectortype - jersey type to registerInjectorProvider