Interface State

  • All Known Implementing Classes:
    InheritingState

    interface State
    The inheritable data within an injector. This class is intended to allow parent and local injector data to be accessed as a unit.
    • Field Detail

      • NONE

        static final State NONE
    • Method Detail

      • getExplicitBinding

        <T> BindingImpl<T> getExplicitBinding​(Key<T> key)
        Gets a binding which was specified explicitly in a module, or null.
      • getExplicitBindingsThisLevel

        java.util.Map<Key<?>,​Binding<?>> getExplicitBindingsThisLevel()
        Returns the explicit bindings at this level only.
      • putBinding

        void putBinding​(Key<?> key,
                        BindingImpl<?> binding)
      • putProviderLookup

        void putProviderLookup​(ProviderLookup<?> lookup)
      • getProviderLookupsThisLevel

        java.util.Set<ProviderLookup<?>> getProviderLookupsThisLevel()
      • putStaticInjectionRequest

        void putStaticInjectionRequest​(StaticInjectionRequest staticInjectionRequest)
      • getStaticInjectionRequestsThisLevel

        java.util.Set<StaticInjectionRequest> getStaticInjectionRequestsThisLevel()
      • getScopeBinding

        ScopeBinding getScopeBinding​(java.lang.Class<? extends java.lang.annotation.Annotation> scopingAnnotation)
      • putInjectionRequest

        void putInjectionRequest​(InjectionRequest<?> injectionRequest)
      • getInjectionRequestsThisLevel

        java.util.Set<InjectionRequest<?>> getInjectionRequestsThisLevel()
      • putMembersInjectorLookup

        void putMembersInjectorLookup​(MembersInjectorLookup<?> membersInjectorLookup)
      • getMembersInjectorLookupsThisLevel

        java.util.Set<MembersInjectorLookup<?>> getMembersInjectorLookupsThisLevel()
      • putScopeBinding

        void putScopeBinding​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
                             ScopeBinding scope)
      • getScopeBindingsThisLevel

        java.util.Collection<ScopeBinding> getScopeBindingsThisLevel()
      • getConverter

        TypeConverterBinding getConverter​(java.lang.String stringValue,
                                          TypeLiteral<?> type,
                                          Errors errors,
                                          java.lang.Object source)
        Returns the matching converter for type, or null if none match.
      • getConvertersThisLevel

        java.lang.Iterable<TypeConverterBinding> getConvertersThisLevel()
        Returns all converters at this level only.
      • addMethodAspect

        void addMethodAspect​(MethodAspect methodAspect)
      • getMethodAspects

        com.google.common.collect.ImmutableList<MethodAspect> getMethodAspects()
      • getTypeListenerBindingsThisLevel

        java.util.List<TypeListenerBinding> getTypeListenerBindingsThisLevel()
      • getProvisionListenerBindingsThisLevel

        java.util.List<ProvisionListenerBinding> getProvisionListenerBindingsThisLevel()
      • blacklist

        void blacklist​(Key<?> key,
                       State state,
                       java.lang.Object source)
        Forbids the corresponding injector from creating a binding to key. Child injectors blacklist their bound keys on their parent injectors to prevent just-in-time bindings on the parent injector that would conflict and pass along their state to control the lifetimes.
      • isBlacklisted

        boolean isBlacklisted​(Key<?> key)
        Returns true if key is forbidden from being bound in this injector. This indicates that one of this injector's descendent's has bound the key.
      • getSourcesForBlacklistedKey

        java.util.Set<java.lang.Object> getSourcesForBlacklistedKey​(Key<?> key)
        Returns the source of a blacklisted key.
      • lock

        java.lang.Object lock()
        Returns the shared lock for all injector data. This is a low-granularity, high-contention lock to be used when reading mutable data (ie. just-in-time bindings, and binding blacklists).
      • getScopes

        java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,​Scope> getScopes()
        Returns all the scope bindings at this level and parent levels.