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)
      • getScopeBinding

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

        void putScopeBinding​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
                             ScopeBinding scope)
      • 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()
      • 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.