Class Scoping


  • public abstract class Scoping
    extends Object
    References a scope, either directly (as a scope instance), or indirectly (as a scope annotation). The scope's eager or laziness is also exposed.
    Author:
    jessewilson@google.com (Jesse Wilson)
    • Field Detail

      • UNSCOPED

        public static final Scoping UNSCOPED
        No scoping annotation has been applied. Note that this is different from in(Scopes.NO_SCOPE), where the 'NO_SCOPE' has been explicitly applied.
      • SINGLETON_ANNOTATION

        public static final Scoping SINGLETON_ANNOTATION
      • SINGLETON_INSTANCE

        public static final Scoping SINGLETON_INSTANCE
      • EAGER_SINGLETON

        public static final Scoping EAGER_SINGLETON
    • Method Detail

      • forInstance

        public static Scoping forInstance​(Scope scope)
      • isExplicitlyScoped

        public boolean isExplicitlyScoped()
        Returns true if this scope was explicitly applied. If no scope was explicitly applied then the scoping annotation will be used.
      • isNoScope

        public boolean isNoScope()
        Returns true if this is the default scope. In this case a new instance will be provided for each injection.
      • isEagerSingleton

        public boolean isEagerSingleton​(Stage stage)
        Returns true if this scope is a singleton that should be loaded eagerly in stage.
      • getScopeInstance

        public Scope getScopeInstance()
        Returns the scope instance, or null if that isn't known for this instance.
      • getScopeAnnotation

        public Class<? extends Annotation> getScopeAnnotation()
        Returns the scope annotation, or null if that isn't known for this instance.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object