com.google.inject.assistedinject.AssistedMethod Maven / Gradle / Ivy
package com.google.inject.assistedinject;
import com.google.inject.TypeLiteral;
import com.google.inject.spi.Dependency;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.Set;
/**
* Details about how a method in an assisted inject factory will be assisted.
*/
public interface AssistedMethod {
/**
* Returns the factory method that is being assisted.
*/
Method getFactoryMethod();
/**
* Returns the implementation type that will be created when the method is
* used.
*/
TypeLiteral> getImplementationType();
/**
* Returns the constructor that will be used to construct instances of the
* implementation.
*/
Constructor> getImplementationConstructor();
/**
* Returns all non-assisted dependencies required to construct and inject
* the implementation.
*/
Set> getDependencies();
}