Class GuiceModelUtils


  • public final class GuiceModelUtils
    extends java.lang.Object
    Utilities for parsed guice model analysis.
    Since:
    15.08.2019
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.StackTraceElement getDeclarationSource​(com.google.inject.spi.Element element)
      NOTE: this will work only for elements, parsed with SPI api, and not for real bindings!
      static java.util.List<java.lang.Class> getModules​(java.util.List<ModuleDeclaration> modules)  
      static java.lang.Class<? extends java.lang.annotation.Annotation> getScope​(com.google.inject.Binding<?> binding)
      Detects binding scope.
      static java.util.Map<com.google.inject.Key,​BindingDeclaration> index​(java.util.List<ModuleDeclaration> modules)  
      static java.lang.String renderKey​(com.google.inject.Key key)  
      static java.lang.String renderSource​(com.google.inject.spi.Element element)
      Render element declaration source.
      static void visit​(java.util.List<ModuleDeclaration> modules, java.util.function.Consumer<ModuleDeclaration> consumer)
      Applies callback to all modules in tree.
      static void visitBindings​(java.util.List<ModuleDeclaration> modules, java.util.function.Consumer<BindingDeclaration> consumer)
      Applies callback to all bindings in tree.
      • Methods inherited from class java.lang.Object

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

      • getModules

        public static java.util.List<java.lang.Class> getModules​(java.util.List<ModuleDeclaration> modules)
        Parameters:
        modules - modules tree
        Returns:
        list of module classes, used in tree or empty list
      • index

        public static java.util.Map<com.google.inject.Key,​BindingDeclaration> index​(java.util.List<ModuleDeclaration> modules)
        Parameters:
        modules - modules tree
        Returns:
        index of bindings with non null key or empty map
      • visit

        public static void visit​(java.util.List<ModuleDeclaration> modules,
                                 java.util.function.Consumer<ModuleDeclaration> consumer)
        Applies callback to all modules in tree.
        Parameters:
        modules - modules tree
        consumer - callback
      • visitBindings

        public static void visitBindings​(java.util.List<ModuleDeclaration> modules,
                                         java.util.function.Consumer<BindingDeclaration> consumer)
        Applies callback to all bindings in tree.
        Parameters:
        modules - modules tree
        consumer - callback
      • getScope

        public static java.lang.Class<? extends java.lang.annotation.Annotation> getScope​(com.google.inject.Binding<?> binding)
        Detects binding scope.
        Parameters:
        binding - binding
        Returns:
        binding scope
      • renderKey

        public static java.lang.String renderKey​(com.google.inject.Key key)
        Parameters:
        key - guice binding key
        Returns:
        string representation for key or "-" if key is null
      • getDeclarationSource

        public static java.lang.StackTraceElement getDeclarationSource​(com.google.inject.spi.Element element)
        NOTE: this will work only for elements, parsed with SPI api, and not for real bindings!
        Parameters:
        element - guice binding element
        Returns:
        element declaration stacktrace element
      • renderSource

        public static java.lang.String renderSource​(com.google.inject.spi.Element element)
        Render element declaration source.
        Parameters:
        element - guice element
        Returns:
        element declaration source or null