Package org.eclipse.sisu.inject
Class InjectorBindings
- java.lang.Object
-
- org.eclipse.sisu.inject.InjectorBindings
-
- All Implemented Interfaces:
BindingPublisher
public final class InjectorBindings extends java.lang.Object implements BindingPublisher
-
-
Field Summary
Fields Modifier and Type Field Description private RankingFunction
function
private com.google.inject.Injector
injector
private static com.google.inject.Binding<?>[]
NO_BINDINGS
private static com.google.inject.TypeLiteral<java.lang.Object>
OBJECT_TYPE_LITERAL
private com.google.inject.Binding<?>[]
wildcards
-
Constructor Summary
Constructors Constructor Description InjectorBindings(com.google.inject.Injector injector)
InjectorBindings(com.google.inject.Injector injector, RankingFunction function)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object rhs)
com.google.inject.Injector
getInjector()
private com.google.inject.Binding<?>[]
getWildcardBindings()
int
hashCode()
private static <T,S>
booleanisAssignableFrom(com.google.inject.TypeLiteral<T> type, com.google.inject.Binding<S> binding)
int
maxBindingRank()
Estimates the maximum rank this publisher may assign to aBinding
.private <T> void
publishExactMatches(com.google.inject.TypeLiteral<T> type, BindingSubscriber<T> subscriber)
private <T,S>
voidpublishGenericMatches(com.google.inject.TypeLiteral<T> type, BindingSubscriber<T> subscriber, java.lang.Class<S> rawType)
private <T> void
publishWildcardMatches(com.google.inject.TypeLiteral<T> type, BindingSubscriber<T> subscriber)
<T> void
subscribe(BindingSubscriber<T> subscriber)
Subscribes the givenBindingSubscriber
to receiveBinding
s.java.lang.String
toString()
<T> void
unsubscribe(BindingSubscriber<T> subscriber)
Stops the givenBindingSubscriber
from receivingBinding
s.
-
-
-
Field Detail
-
OBJECT_TYPE_LITERAL
private static final com.google.inject.TypeLiteral<java.lang.Object> OBJECT_TYPE_LITERAL
-
NO_BINDINGS
private static final com.google.inject.Binding<?>[] NO_BINDINGS
-
injector
private final com.google.inject.Injector injector
-
function
private final RankingFunction function
-
wildcards
private volatile com.google.inject.Binding<?>[] wildcards
-
-
Constructor Detail
-
InjectorBindings
public InjectorBindings(com.google.inject.Injector injector, RankingFunction function)
-
InjectorBindings
public InjectorBindings(com.google.inject.Injector injector)
-
-
Method Detail
-
getInjector
public com.google.inject.Injector getInjector()
-
subscribe
public <T> void subscribe(BindingSubscriber<T> subscriber)
Description copied from interface:BindingPublisher
Subscribes the givenBindingSubscriber
to receiveBinding
s.- Specified by:
subscribe
in interfaceBindingPublisher
- Parameters:
subscriber
- The subscriber
-
unsubscribe
public <T> void unsubscribe(BindingSubscriber<T> subscriber)
Description copied from interface:BindingPublisher
Stops the givenBindingSubscriber
from receivingBinding
s.- Specified by:
unsubscribe
in interfaceBindingPublisher
- Parameters:
subscriber
- The subscriber
-
maxBindingRank
public int maxBindingRank()
Description copied from interface:BindingPublisher
Estimates the maximum rank this publisher may assign to aBinding
.- Specified by:
maxBindingRank
in interfaceBindingPublisher
- Returns:
- Maximum binding rank
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object rhs)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
isAssignableFrom
private static <T,S> boolean isAssignableFrom(com.google.inject.TypeLiteral<T> type, com.google.inject.Binding<S> binding)
-
publishExactMatches
private <T> void publishExactMatches(com.google.inject.TypeLiteral<T> type, BindingSubscriber<T> subscriber)
-
publishGenericMatches
private <T,S> void publishGenericMatches(com.google.inject.TypeLiteral<T> type, BindingSubscriber<T> subscriber, java.lang.Class<S> rawType)
-
publishWildcardMatches
private <T> void publishWildcardMatches(com.google.inject.TypeLiteral<T> type, BindingSubscriber<T> subscriber)
-
getWildcardBindings
private com.google.inject.Binding<?>[] getWildcardBindings()
-
-