For each method in the factory interface, the binder will determine the implementation type from the return type and the provided bindings. It will then check all constructors in the implementation type against the method parameters (taking named {@literal @}{@link Assisted} annotations intoaccount) and pick a matching one (if available). To inject the selected constructor the binder will write a common method injection, replacing the parameters commonly retrieved through key-specific getter methods with values obtained from the matching method arguments. Finally, after an instance has been constructed, it will be member-injected before it is returned to the caller of the method.
|
|