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.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public 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.