final class ServiceBinding<T>
extends java.lang.Object
implements com.google.inject.Binding<T>, com.google.inject.Provider<T>
Binding
backed by an OSGi ServiceReference
.Modifier and Type | Field and Description |
---|---|
private T |
instance |
private com.google.inject.Key<T> |
key |
private int |
rank |
Constructor and Description |
---|
ServiceBinding(org.osgi.framework.BundleContext context,
java.lang.String clazzName,
int maxRank,
org.osgi.framework.ServiceReference<T> reference) |
Modifier and Type | Method and Description |
---|---|
<V> V |
acceptScopingVisitor(com.google.inject.spi.BindingScopingVisitor<V> visitor) |
<V> V |
acceptTargetVisitor(com.google.inject.spi.BindingTargetVisitor<? super T,V> visitor) |
<V> V |
acceptVisitor(com.google.inject.spi.ElementVisitor<V> visitor) |
void |
applyTo(com.google.inject.Binder binder) |
T |
get() |
com.google.inject.Key<T> |
getKey() |
com.google.inject.Provider<T> |
getProvider() |
private static int |
getServiceRanking(org.osgi.framework.ServiceReference<?> reference) |
java.lang.Object |
getSource() |
(package private) boolean |
isCompatibleWith(BindingSubscriber<T> subscriber) |
(package private) int |
rank() |
private final com.google.inject.Key<T> key
private final T instance
private final int rank
ServiceBinding(org.osgi.framework.BundleContext context, java.lang.String clazzName, int maxRank, org.osgi.framework.ServiceReference<T> reference) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public com.google.inject.Key<T> getKey()
getKey
in interface com.google.inject.Binding<T>
public com.google.inject.Provider<T> getProvider()
getProvider
in interface com.google.inject.Binding<T>
public java.lang.Object getSource()
getSource
in interface com.google.inject.spi.Element
public void applyTo(com.google.inject.Binder binder)
applyTo
in interface com.google.inject.spi.Element
public <V> V acceptVisitor(com.google.inject.spi.ElementVisitor<V> visitor)
acceptVisitor
in interface com.google.inject.spi.Element
public <V> V acceptTargetVisitor(com.google.inject.spi.BindingTargetVisitor<? super T,V> visitor)
acceptTargetVisitor
in interface com.google.inject.Binding<T>
public <V> V acceptScopingVisitor(com.google.inject.spi.BindingScopingVisitor<V> visitor)
acceptScopingVisitor
in interface com.google.inject.Binding<T>
boolean isCompatibleWith(BindingSubscriber<T> subscriber)
int rank()
private static int getServiceRanking(org.osgi.framework.ServiceReference<?> reference)