public final class InjectionPoint
extends java.lang.Object
Inject annotation. For non-private, no argument constructors, the member may
omit the annotation.| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object o) |
static <T> InjectionPoint |
forConstructor(java.lang.reflect.Constructor<T> constructor)
Returns a new injection point for the specified constructor.
|
static <T> InjectionPoint |
forConstructor(java.lang.reflect.Constructor<T> constructor,
TypeLiteral<? extends T> type)
Returns a new injection point for the specified constructor of
type. |
static InjectionPoint |
forConstructorOf(java.lang.Class<?> type)
Returns a new injection point for the injectable constructor of
type. |
static InjectionPoint |
forConstructorOf(TypeLiteral<?> type)
Returns a new injection point for the injectable constructor of
type. |
static java.util.Set<InjectionPoint> |
forInstanceMethodsAndFields(java.lang.Class<?> type)
Returns all instance method and field injection points on
type. |
static java.util.Set<InjectionPoint> |
forInstanceMethodsAndFields(TypeLiteral<?> type)
Returns all instance method and field injection points on
type. |
static <T> InjectionPoint |
forMethod(java.lang.reflect.Method method,
TypeLiteral<T> type)
Returns a new injection point for the specified method of
type. |
static java.util.Set<InjectionPoint> |
forStaticMethodsAndFields(java.lang.Class<?> type)
Returns all static method and field injection points on
type. |
static java.util.Set<InjectionPoint> |
forStaticMethodsAndFields(TypeLiteral<?> type)
Returns all static method and field injection points on
type. |
TypeLiteral<?> |
getDeclaringType()
Returns the generic type that defines this injection point.
|
java.util.List<Dependency<?>> |
getDependencies()
Returns the dependencies for this injection point.
|
java.lang.reflect.Member |
getMember()
Returns the injected constructor, field, or method.
|
int |
hashCode() |
boolean |
isOptional()
Returns true if this injection point shall be skipped if the injector cannot resolve bindings
for all required dependencies.
|
boolean |
isToolable()
Returns true if the element is annotated with @
Toolable. |
java.lang.String |
toString() |
public java.lang.reflect.Member getMember()
public java.util.List<Dependency<?>> getDependencies()
public boolean isOptional()
ImplementedBy, default
constructors etc.) may be used to satisfy optional injection points.public boolean isToolable()
Toolable.public TypeLiteral<?> getDeclaringType()
raw declaring class.public boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic static <T> InjectionPoint forConstructor(java.lang.reflect.Constructor<T> constructor)
constructor is parameterized (such as List<T>), prefer the overload that includes a
type literal.constructor - any single constructor present on type.public static <T> InjectionPoint forConstructor(java.lang.reflect.Constructor<T> constructor, TypeLiteral<? extends T> type)
type.constructor - any single constructor present on type.type - the concrete type that defines constructor.public static InjectionPoint forConstructorOf(TypeLiteral<?> type)
type.type - a concrete type with exactly one constructor annotated @Inject,
or a no-arguments constructor that is not private.ConfigurationException - if there is no injectable constructor, more than one injectable
constructor, or if parameters of the injectable constructor are malformed, such as a
parameter with multiple binding annotations.public static InjectionPoint forConstructorOf(java.lang.Class<?> type)
type.type - a concrete type with exactly one constructor annotated @Inject,
or a no-arguments constructor that is not private.ConfigurationException - if there is no injectable constructor, more than one injectable
constructor, or if parameters of the injectable constructor are malformed, such as a
parameter with multiple binding annotations.public static <T> InjectionPoint forMethod(java.lang.reflect.Method method, TypeLiteral<T> type)
type. This is useful for
extensions that need to build dependency graphs from arbitrary methods.method - any single method present on type.type - the concrete type that defines method.public static java.util.Set<InjectionPoint> forStaticMethodsAndFields(TypeLiteral<?> type)
type.ConfigurationException - if there is a malformed injection point on type, such as
a field with multiple binding annotations. The exception's partial value is a Set<InjectionPoint> of
the valid injection points.public static java.util.Set<InjectionPoint> forStaticMethodsAndFields(java.lang.Class<?> type)
type.ConfigurationException - if there is a malformed injection point on type, such as
a field with multiple binding annotations. The exception's partial value is a Set<InjectionPoint> of
the valid injection points.public static java.util.Set<InjectionPoint> forInstanceMethodsAndFields(TypeLiteral<?> type)
type.ConfigurationException - if there is a malformed injection point on type, such as
a field with multiple binding annotations. The exception's partial value is a Set<InjectionPoint> of
the valid injection points.public static java.util.Set<InjectionPoint> forInstanceMethodsAndFields(java.lang.Class<?> type)
type.ConfigurationException - if there is a malformed injection point on type, such as
a field with multiple binding annotations. The exception's partial value is a Set<InjectionPoint> of
the valid injection points.