Reports incorrect <lookup-method> for a bean in XML application contexts.
Example:
public abstract class FooLookupBean {
protected abstract FooBean createCommand();
private FooBean createCommand() {...}
protected static FooBean createCommandStatic() {...}
protected abstract FooBean createWithArgs(String foo);
protected abstract OtherBean createOtherBean();
}
<beans>
<bean class="FooLookupBean" id="lookupTest">
<lookup-method bean="fooBean" name="createCommand"/>
<!-- private -->
<lookup-method bean="fooBean" name="createCommand"/>// "Method must be public or protected"
<!-- static -->
<lookup-method bean="fooBean" name="createCommandStatic"/> // Static method not allowed here
<!-- with arguments -->
<lookup-method bean="fooBean" name="createWithArgs"/>// Method must have no parameters
<!-- not exist -->
<lookup-method bean="fooBean" name="unknown"/> // unknown method
<!-- mismatch -->
<lookup-method bean="fooBean" name="createOtherBean"/> // Lookup method return type does not match the 'FooBean' bean class
</bean>
<bean class="FooBean" id="fooBean"/>
<bean class="OtherBean" id="otherBean"/>
</beans>