Class ElementAnalyzer

  • All Implemented Interfaces:
    com.google.inject.spi.ElementVisitor<java.lang.Void>

    final class ElementAnalyzer
    extends com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
    ElementVisitor that analyzes Bindings for unresolved injection dependencies.
    • Constructor Summary

      Constructors 
      Constructor Description
      ElementAnalyzer​(com.google.inject.Binder binder)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static void addLegacyKeyAlias​(java.util.Map<com.google.inject.Key<?>,​com.google.inject.Key<?>> aliases, java.lang.Class<?> clazz)  
      void apply​(WireModule.Strategy strategy)  
      void ignoreKeys​(java.util.Set<com.google.inject.Key<?>> keys)  
      private static boolean isParameters​(com.google.inject.Key<?> key)  
      private static boolean isRestricted​(com.google.inject.Key<?> key)  
      private void makeJitBindingsExplicit()  
      private void mergeParameters​(com.google.inject.Binding<?> binding)  
      <T> java.lang.Void visit​(com.google.inject.Binding<T> binding)  
      java.lang.Void visit​(com.google.inject.spi.InjectionRequest<?> request)  
      java.lang.Void visit​(com.google.inject.spi.PrivateElements elements)  
      <T> java.lang.Void visit​(com.google.inject.spi.ProviderLookup<T> lookup)  
      java.lang.Void visit​(com.google.inject.spi.RequireExplicitBindingsOption option)  
      java.lang.Void visit​(com.google.inject.spi.StaticInjectionRequest request)  
      java.lang.Void visitOther​(com.google.inject.spi.Element element)  
      private void wireParameters​(com.google.inject.Key key, java.util.Map mergedProperties)  
      • Methods inherited from class com.google.inject.spi.DefaultElementVisitor

        visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LEGACY_KEY_ALIASES

        private static final java.util.Map<com.google.inject.Key<?>,​com.google.inject.Key<?>> LEGACY_KEY_ALIASES
      • JIT_BINDINGS

        private static final java.util.List<com.google.inject.spi.Element> JIT_BINDINGS
      • localKeys

        private final java.util.Set<com.google.inject.Key<?>> localKeys
      • privateAnalyzers

        private final java.util.List<ElementAnalyzer> privateAnalyzers
      • properties

        private final java.util.List<java.util.Map<?,​?>> properties
      • arguments

        private final java.util.List<java.lang.String> arguments
      • binder

        private final com.google.inject.Binder binder
      • requireExplicitBindings

        private boolean requireExplicitBindings
    • Constructor Detail

      • ElementAnalyzer

        ElementAnalyzer​(com.google.inject.Binder binder)
    • Method Detail

      • ignoreKeys

        public void ignoreKeys​(java.util.Set<com.google.inject.Key<?>> keys)
      • visit

        public <T> java.lang.Void visit​(com.google.inject.Binding<T> binding)
        Specified by:
        visit in interface com.google.inject.spi.ElementVisitor<java.lang.Void>
        Overrides:
        visit in class com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
      • visit

        public java.lang.Void visit​(com.google.inject.spi.PrivateElements elements)
        Specified by:
        visit in interface com.google.inject.spi.ElementVisitor<java.lang.Void>
        Overrides:
        visit in class com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
      • visit

        public <T> java.lang.Void visit​(com.google.inject.spi.ProviderLookup<T> lookup)
        Specified by:
        visit in interface com.google.inject.spi.ElementVisitor<java.lang.Void>
        Overrides:
        visit in class com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
      • visit

        public java.lang.Void visit​(com.google.inject.spi.StaticInjectionRequest request)
        Specified by:
        visit in interface com.google.inject.spi.ElementVisitor<java.lang.Void>
        Overrides:
        visit in class com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
      • visit

        public java.lang.Void visit​(com.google.inject.spi.InjectionRequest<?> request)
        Specified by:
        visit in interface com.google.inject.spi.ElementVisitor<java.lang.Void>
        Overrides:
        visit in class com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
      • visit

        public java.lang.Void visit​(com.google.inject.spi.RequireExplicitBindingsOption option)
        Specified by:
        visit in interface com.google.inject.spi.ElementVisitor<java.lang.Void>
        Overrides:
        visit in class com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
      • visitOther

        public java.lang.Void visitOther​(com.google.inject.spi.Element element)
        Overrides:
        visitOther in class com.google.inject.spi.DefaultElementVisitor<java.lang.Void>
      • makeJitBindingsExplicit

        private void makeJitBindingsExplicit()
      • mergeParameters

        private void mergeParameters​(com.google.inject.Binding<?> binding)
      • wireParameters

        private void wireParameters​(com.google.inject.Key key,
                                    java.util.Map mergedProperties)
      • isParameters

        private static boolean isParameters​(com.google.inject.Key<?> key)
      • isRestricted

        private static boolean isRestricted​(com.google.inject.Key<?> key)
      • addLegacyKeyAlias

        private static void addLegacyKeyAlias​(java.util.Map<com.google.inject.Key<?>,​com.google.inject.Key<?>> aliases,
                                              java.lang.Class<?> clazz)
                                       throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException