Class InjectorBindings

java.lang.Object
org.eclipse.sisu.inject.InjectorBindings
All Implemented Interfaces:
BindingPublisher

public final class InjectorBindings extends Object implements BindingPublisher
Publisher of Bindings from a single Injector; ranked according to a given RankingFunction.
  • Field Details

    • OBJECT_TYPE_LITERAL

      private static final com.google.inject.TypeLiteral<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 Details

    • InjectorBindings

      public InjectorBindings(com.google.inject.Injector injector, RankingFunction function)
    • InjectorBindings

      public InjectorBindings(com.google.inject.Injector injector)
  • Method Details

    • getInjector

      public com.google.inject.Injector getInjector()
    • subscribe

      public <T> void subscribe(BindingSubscriber<T> subscriber)
      Description copied from interface: BindingPublisher
      Subscribes the given BindingSubscriber to receive Bindings.
      Specified by:
      subscribe in interface BindingPublisher
      Parameters:
      subscriber - The subscriber
    • unsubscribe

      public <T> void unsubscribe(BindingSubscriber<T> subscriber)
      Description copied from interface: BindingPublisher
      Stops the given BindingSubscriber from receiving Bindings.
      Specified by:
      unsubscribe in interface BindingPublisher
      Parameters:
      subscriber - The subscriber
    • maxBindingRank

      public int maxBindingRank()
      Description copied from interface: BindingPublisher
      Estimates the maximum rank this publisher may assign to a Binding.
      Specified by:
      maxBindingRank in interface BindingPublisher
      Returns:
      Maximum binding rank
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object rhs)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class 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, Class<S> rawType)
    • publishWildcardMatches

      private <T> void publishWildcardMatches(com.google.inject.TypeLiteral<T> type, BindingSubscriber<T> subscriber)
    • getWildcardBindings

      private com.google.inject.Binding<?>[] getWildcardBindings()