com.google.inject.internal.ConstructionProxy Maven / Gradle / Ivy
package com.google.inject.internal;
import com.google.inject.spi.InjectionPoint;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
/**
* Proxies calls to a {@link java.lang.reflect.Constructor} for a class
* {@code T}.
*/
interface ConstructionProxy {
/**
* Constructs an instance of {@code T} for the given arguments.
*/
T newInstance(Object... arguments) throws InvocationTargetException;
/**
* Returns the injection point for this constructor.
*/
InjectionPoint getInjectionPoint();
/**
* Returns the injected constructor. If the injected constructor is synthetic (such as generated
* code for method interception), the natural constructor is returned.
*/
Constructor getConstructor();
}