/** * Check constructor factory class. * * @param constructor the constructor meta data */ protected void checkConstructorFactoryClass(ConstructorMetaData constructor) { if (constructor == null) return; if (constructor.getFactoryMethod() == null) return; if (constructor.getFactoryClass() != null) return; if (constructor.getValue() != null) return; if (constructor.getFactory() != null) return; if (constructor instanceof AbstractConstructorMetaData == false) return; AbstractConstructorMetaData acmd = AbstractConstructorMetaData.class.cast(constructor); acmd.setFactoryClass(getBean()); }
if (constructor.getFactoryMethod() == null)
MethodJoinpoint joinPoint = findMethod(trace, factoryInfo, cl, metaData.getFactoryMethod(), parameters, false, true); joinPoint.setTarget(factory); MethodInfo minfo = joinPoint.getMethodInfo(); MethodJoinpoint joinPoint = findMethod(trace, factoryInfo, cl, metaData.getFactoryMethod(), parameters, true, true); MethodInfo minfo = joinPoint.getMethodInfo();
if (constructor == null) throw new IllegalArgumentException("BeanFactory should have a class attribute or a constructor element."); if (constructor.getFactoryMethod() == null) throw new IllegalArgumentException("BeanFactory should have a class attribute or the constructor element should have a factoryMethod attribute."); if (constructor.getFactory() == null && constructor.getFactoryClass() == null)