Class DependencyAnalyzer

  • All Implemented Interfaces:
    com.google.inject.spi.BindingTargetVisitor<java.lang.Object,​java.lang.Boolean>

    final class DependencyAnalyzer
    extends com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
    BindingTargetVisitor that collects the Keys of any injected dependencies.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<com.google.inject.TypeLiteral<?>,​java.lang.Boolean> analyzedTypes  
      private java.util.Set<com.google.inject.Key<?>> requiredKeys  
      private static java.util.Set<java.lang.Class<?>> RESTRICTED_CLASSES  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private boolean analyzeDependencies​(java.util.Collection<com.google.inject.spi.Dependency<?>> dependencies)  
      private java.lang.Boolean analyzeImplementation​(com.google.inject.TypeLiteral<?> type, boolean reportErrors)  
      private void analyzeImplicitBindings​(com.google.inject.TypeLiteral<?> type)  
      private boolean analyzeInjectionPoints​(java.util.Set<com.google.inject.spi.InjectionPoint> points)  
      java.util.Set<com.google.inject.Key<?>> findMissingKeys​(java.util.Set<com.google.inject.Key<?>> localKeys)  
      private void requireKey​(com.google.inject.Key<?> key)  
      java.lang.Boolean visit​(com.google.inject.spi.InjectionRequest<?> request)  
      java.lang.Boolean visit​(com.google.inject.spi.LinkedKeyBinding<?> binding)  
      java.lang.Boolean visit​(com.google.inject.spi.ProviderInstanceBinding<?> binding)  
      java.lang.Boolean visit​(com.google.inject.spi.ProviderKeyBinding<?> binding)  
      <T> java.lang.Boolean visit​(com.google.inject.spi.ProviderLookup<T> lookup)  
      java.lang.Boolean visit​(com.google.inject.spi.StaticInjectionRequest request)  
      java.lang.Boolean visit​(com.google.inject.spi.UntargettedBinding<?> binding)  
      java.lang.Boolean visitOther​(com.google.inject.Binding<?> binding)  
      • Methods inherited from class com.google.inject.spi.DefaultBindingTargetVisitor

        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

      • RESTRICTED_CLASSES

        private static final java.util.Set<java.lang.Class<?>> RESTRICTED_CLASSES
      • analyzedTypes

        private final java.util.Map<com.google.inject.TypeLiteral<?>,​java.lang.Boolean> analyzedTypes
      • requiredKeys

        private final java.util.Set<com.google.inject.Key<?>> requiredKeys
    • Constructor Detail

      • DependencyAnalyzer

        DependencyAnalyzer()
    • Method Detail

      • findMissingKeys

        public java.util.Set<com.google.inject.Key<?>> findMissingKeys​(java.util.Set<com.google.inject.Key<?>> localKeys)
      • visit

        public java.lang.Boolean visit​(com.google.inject.spi.UntargettedBinding<?> binding)
        Specified by:
        visit in interface com.google.inject.spi.BindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
        Overrides:
        visit in class com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
      • visit

        public java.lang.Boolean visit​(com.google.inject.spi.LinkedKeyBinding<?> binding)
        Specified by:
        visit in interface com.google.inject.spi.BindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
        Overrides:
        visit in class com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
      • visit

        public java.lang.Boolean visit​(com.google.inject.spi.ProviderKeyBinding<?> binding)
        Specified by:
        visit in interface com.google.inject.spi.BindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
        Overrides:
        visit in class com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
      • visit

        public java.lang.Boolean visit​(com.google.inject.spi.ProviderInstanceBinding<?> binding)
        Specified by:
        visit in interface com.google.inject.spi.BindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
        Overrides:
        visit in class com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
      • visitOther

        public java.lang.Boolean visitOther​(com.google.inject.Binding<?> binding)
        Overrides:
        visitOther in class com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,​java.lang.Boolean>
      • visit

        public <T> java.lang.Boolean visit​(com.google.inject.spi.ProviderLookup<T> lookup)
      • visit

        public java.lang.Boolean visit​(com.google.inject.spi.StaticInjectionRequest request)
      • visit

        public java.lang.Boolean visit​(com.google.inject.spi.InjectionRequest<?> request)
      • requireKey

        private void requireKey​(com.google.inject.Key<?> key)
      • analyzeImplementation

        private java.lang.Boolean analyzeImplementation​(com.google.inject.TypeLiteral<?> type,
                                                        boolean reportErrors)
      • analyzeInjectionPoints

        private boolean analyzeInjectionPoints​(java.util.Set<com.google.inject.spi.InjectionPoint> points)
      • analyzeDependencies

        private boolean analyzeDependencies​(java.util.Collection<com.google.inject.spi.Dependency<?>> dependencies)
      • analyzeImplicitBindings

        private void analyzeImplicitBindings​(com.google.inject.TypeLiteral<?> type)