Class BindingSourceRestriction

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.logging.Logger logger  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.util.Optional<Message> check​(Binding<?> binding)  
      static com.google.common.collect.ImmutableList<Message> check​(GuiceInternal guiceInternal, java.util.List<Element> elements)
      Returns all the restriction violations found on the given Module Elements, as error messages.
      private static com.google.common.collect.ImmutableList<Message> check​(Element element)  
      private static com.google.common.collect.ImmutableList<Message> check​(java.util.List<Element> elements)  
      private static void clear​(Element element)  
      private static void clear​(ElementSource elementSource)  
      private static java.lang.Iterable<java.lang.String> getAllModules​(ElementSource elementSource)  
      private static com.google.common.collect.ImmutableSet<java.lang.Class<? extends java.lang.annotation.Annotation>> getAllPermits​(ElementSource elementSource)
      Get all permits on the element source chain.
      static java.util.Optional<java.lang.String> getMissingImplementationSuggestion​(GuiceInternal guiceInternal, Key<?> key)
      Returns a suggestion for how a restricted binding should be created in case it's missing.
      private static java.util.stream.Stream<java.lang.Class<? extends java.lang.annotation.Annotation>> getPermits​(java.lang.Class<?> clazz)  
      private static RestrictedBindingSource getRestriction​(Key<?> key)  
      private static java.lang.String getViolationMessage​(Key<?> key, java.lang.String explanation, com.google.common.collect.ImmutableSet<java.lang.Class<? extends java.lang.annotation.Annotation>> acceptablePermits, boolean annotationRestricted)  
      private static boolean isExempt​(ElementSource elementSource, java.lang.String exemptModulesRegex)  
      • Methods inherited from class java.lang.Object

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

      • logger

        private static final java.util.logging.Logger logger
    • Constructor Detail

      • BindingSourceRestriction

        private BindingSourceRestriction()
    • Method Detail

      • getMissingImplementationSuggestion

        public static java.util.Optional<java.lang.String> getMissingImplementationSuggestion​(GuiceInternal guiceInternal,
                                                                                              Key<?> key)
        Returns a suggestion for how a restricted binding should be created in case it's missing.
      • check

        public static com.google.common.collect.ImmutableList<Message> check​(GuiceInternal guiceInternal,
                                                                             java.util.List<Element> elements)
        Returns all the restriction violations found on the given Module Elements, as error messages.

        Note: Intended to be used on Module Elements, not Injector Elements, ie. the result of Elements.getElements(com.google.inject.Module...) not Injector.getElements. The Module Elements this check cares about are:

        • Module Bindings, which are always explicit and always have an ElementSource (with a Module Stack), unlike Injector Bindings, which may be implicit and bereft of an ElementSource.
        • PrivateElements, which represent the recursive case of this check. They contain a list of elements that this check is recursively called on.
      • check

        private static com.google.common.collect.ImmutableList<Message> check​(java.util.List<Element> elements)
      • check

        private static com.google.common.collect.ImmutableList<Message> check​(Element element)
      • check

        private static java.util.Optional<Message> check​(Binding<?> binding)
      • getViolationMessage

        private static java.lang.String getViolationMessage​(Key<?> key,
                                                            java.lang.String explanation,
                                                            com.google.common.collect.ImmutableSet<java.lang.Class<? extends java.lang.annotation.Annotation>> acceptablePermits,
                                                            boolean annotationRestricted)
      • getAllPermits

        private static com.google.common.collect.ImmutableSet<java.lang.Class<? extends java.lang.annotation.Annotation>> getAllPermits​(ElementSource elementSource)
        Get all permits on the element source chain.
      • isExempt

        private static boolean isExempt​(ElementSource elementSource,
                                        java.lang.String exemptModulesRegex)
      • getAllModules

        private static java.lang.Iterable<java.lang.String> getAllModules​(ElementSource elementSource)
      • clear

        private static void clear​(Element element)
      • clear

        private static void clear​(ElementSource elementSource)
      • getPermits

        private static java.util.stream.Stream<java.lang.Class<? extends java.lang.annotation.Annotation>> getPermits​(java.lang.Class<?> clazz)