public static Object create(Class<?> targetClass, Class<?> alternateClass) { return create(new BeanCreationDirective(null, null, targetClass, alternateClass, null, null, null)); }
public Object create(BeanCreationDirective directive) { Class<?> classToCreate = directive.getActualClass(); String factoryBeanId = directive.getFactoryId(); String beanId = !MappingUtils.isBlankOrNull(factoryBeanId) ? factoryBeanId : classToCreate.getName(); return xmlBeanFactory.createBean(directive.getSrcObject(), directive.getSrcClass(), beanId); }
public Object create(BeanCreationDirective directive) { Class<?> classToCreate = directive.getActualClass(); try { return newInstance(classToCreate); } catch (Exception e) { if (directive.getAlternateClass() != null) { return newInstance(directive.getAlternateClass()); } else { MappingUtils.throwMappingException(e); } } return null; }
public boolean isApplicable(BeanCreationDirective directive) { if (!xmlBeansAvailable) { return false; } Class<?> actualClass = directive.getActualClass(); return xmlObjectType.isAssignableFrom(actualClass); }
public Object create(MappingParameters params, BeanCreationDirective directive) { Class<?> actualClass = directive.getActualClass(); String createMethod = directive.getCreateMethod(); Method method; if (createMethod.contains(".")) { String methodName = createMethod.substring(createMethod.lastIndexOf(".") + 1, createMethod.length()); String typeName = createMethod.substring(0, createMethod.lastIndexOf(".")); DozerClassLoader loader = BeanContainer.getInstance().getClassLoader(); Class<?> type = loader.loadClass(typeName); method = findMethod(type, methodName); } else { method = findMethod(actualClass, createMethod); } return ReflectionUtils.invoke(method, null, null); }
public Object create(BeanCreationDirective directive) { directive.setCreateMethod("getInstance"); return super.create(directive); } }
public boolean isApplicable(BeanCreationDirective directive) { String createMethod = directive.getCreateMethod(); return !MappingUtils.isBlankOrNull(createMethod); }
public boolean isApplicable(BeanCreationDirective directive) { String factoryName = directive.getFactoryName(); return !MappingUtils.isBlankOrNull(factoryName); }
public boolean isApplicable(BeanCreationDirective directive) { if (!xmlBeansAvailable) { return false; } Class<?> actualClass = directive.getActualClass(); return xmlObjectType.isAssignableFrom(actualClass); }
public Object create(BeanCreationDirective directive) { Class<?> actualClass = directive.getActualClass(); String createMethod = directive.getCreateMethod(); Method method; if (createMethod.contains(".")) { String methodName = createMethod.substring(createMethod.lastIndexOf(".") + 1, createMethod.length()); String typeName = createMethod.substring(0, createMethod.lastIndexOf(".")); DozerClassLoader loader = BeanContainer.getInstance().getClassLoader(); Class type = loader.loadClass(typeName); method = findMethod(type, methodName); } else { method = findMethod(actualClass, createMethod); } return ReflectionUtils.invoke(method, null, null); }
public Object create(MappingParameters params, BeanCreationDirective directive) { directive.setCreateMethod("getInstance"); return super.create(params, directive); } }
public boolean isApplicable(BeanCreationDirective directive) { String createMethod = directive.getCreateMethod(); return !MappingUtils.isBlankOrNull(createMethod); }
public boolean isApplicable(BeanCreationDirective directive) { String factoryName = directive.getFactoryName(); return !MappingUtils.isBlankOrNull(factoryName); }
public Object create(MappingParameters params, BeanCreationDirective directive) { Class<?> classToCreate = directive.getActualClass(); String factoryBeanId = directive.getFactoryId(); String beanId = !MappingUtils.isBlankOrNull(factoryBeanId) ? factoryBeanId : classToCreate.getName(); return xmlBeanFactory.createBean(directive.getSrcObject(), directive.getSrcClass(), beanId); }
public boolean isApplicable(BeanCreationDirective directive) { if (!xmlBeansAvailable) { return false; } Class<?> actualClass = directive.getActualClass(); return xmlObjectType.isAssignableFrom(actualClass); }
public static Object create(MappingParameters params, BeanCreationDirective directive) { // TODO create method lookup by annotation/convention // TODO Cache ConstructionStrategy (reuse caching infrastructure) // TODO Resolve JAXB by XmlType Annotation // TODO Check resulting type in each method // TODO Directive toString() // TODO review and document for (BeanCreationStrategy strategy : availableStrategies) { if (strategy.isApplicable(directive)) { return strategy.create(params, directive); } } return null; }
public Object create(MappingParameters params, BeanCreationDirective directive) { Class<?> classToCreate = directive.getActualClass(); try { return newInstance(classToCreate); } catch (Exception e) { if (directive.getAlternateClass() != null) { return newInstance(directive.getAlternateClass()); } else { MappingUtils.throwMappingException(e); } } return null; }
public Object create(MappingParameters params, BeanCreationDirective directive) { Class<?> actualClass = directive.getActualClass(); String createMethod = directive.getCreateMethod(); Method method; if (createMethod.contains(".")) { String methodName = createMethod.substring(createMethod.lastIndexOf(".") + 1, createMethod.length()); String typeName = createMethod.substring(0, createMethod.lastIndexOf(".")); DozerClassLoader loader = BeanContainer.getInstance().getClassLoader(); Class<?> type = loader.loadClass(typeName); method = findMethod(type, methodName); } else { method = findMethod(actualClass, createMethod); } return ReflectionUtils.invoke(method, null, null); }
public Object create(MappingParameters params, BeanCreationDirective directive) { directive.setCreateMethod("getInstance"); return super.create(params, directive); } }
public boolean isApplicable(BeanCreationDirective directive) { String createMethod = directive.getCreateMethod(); return !MappingUtils.isBlankOrNull(createMethod); }