Init init = finder.getAnnotation(method, Init.class);
if(init == null)
return null;
InitMethodMetaData metaData = new InitMethodMetaData();
NamedMethodMetaData beanMethod = new NamedMethodMetaData();
metaData.setBeanMethod(beanMethod);
NamedMethodMetaData createMethod = new NamedMethodMetaData();
metaData.setCreateMethod(createMethod);
String alternativeName = init.value().length() > 0 ? init.value() : method.getName();
// Is the init declared on the home interface?
if(method.getDeclaringClass().isInterface())
{
beanMethod.setMethodName(alternativeName);
createMethod.setMethodName(method.getName());
}
else
{
beanMethod.setMethodName(method.getName());
createMethod.setMethodName(alternativeName);
}
MethodParametersMetaData methodParams = ProcessorUtils.getMethodParameters(method);
beanMethod.setMethodParams(methodParams);
createMethod.setMethodParams(methodParams);
return metaData;
}