@SuppressWarnings("unchecked") public Object convertSourceToTargetClass(Object source, Class<?> targetClass) throws Exception { if (source == null) { return null; } Class<?> collectionImplClass = getCollectionImplClass(targetClass); Constructor<?> constructor = collectionImplClass.getConstructor(); Collection<Object> collection = (Collection<Object>) constructor.newInstance(); ConversionExecutor converter = getArrayElementConverter(source, targetClass); int length = Array.getLength(source); for (int i = 0; i < length; i++) { Object value = Array.get(source, i); if (converter != null) { value = converter.execute(value); } collection.add(value); } return collection; }
public Object convertSourceToTargetClass(Object source, Class targetClass) throws Exception { if (source == null) { return null; } Class collectionImplClass = getCollectionImplClass(targetClass); Constructor constructor = collectionImplClass.getConstructor(null); Collection collection = (Collection) constructor.newInstance(null); ConversionExecutor converter = getElementConverter(source, targetClass); int length = Array.getLength(source); for (int i = 0; i < length; i++) { Object value = Array.get(source, i); if (converter != null) { value = converter.execute(value); } collection.add(value); } return collection; }
+ "request an interface or concrete implementation instead"); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection(this)); Converter collectionToArray = new ReverseConverter(new ArrayToCollection(this)); return new StaticConversionExecutor(sourceClass, targetClass, collectionToArray); } else {
return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) ConversionExecutor elementConverter = new StaticConversionExecutor(sourceComponentType, converter.getSourceClass(), new ReverseConverter(twoWay)); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else { ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getSourceClass(), targetComponentType, converter); Converter collectionToArray = new ReverseConverter(new ArrayToCollection(elementConverter)); return new StaticConversionExecutor(sourceClass, targetClass, collectionToArray); } else if (converter.getSourceClass().isAssignableFrom(targetComponentType) ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getTargetClass(), targetComponentType, new ReverseConverter(twoWay)); Converter collectionToArray = new ReverseConverter(new ArrayToCollection(elementConverter)); return new StaticConversionExecutor(sourceClass, targetClass, collectionToArray); } else {
@SuppressWarnings("unchecked") public Object convertSourceToTargetClass(Object source, Class<?> targetClass) throws Exception { if (source == null) { return null; } Class<?> collectionImplClass = getCollectionImplClass(targetClass); Constructor<?> constructor = collectionImplClass.getConstructor(); Collection<Object> collection = (Collection<Object>) constructor.newInstance(); ConversionExecutor converter = getArrayElementConverter(source, targetClass); int length = Array.getLength(source); for (int i = 0; i < length; i++) { Object value = Array.get(source, i); if (converter != null) { value = converter.execute(value); } collection.add(value); } return collection; }
return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) ConversionExecutor elementConverter = new StaticConversionExecutor(sourceComponentType, converter.getSourceClass(), new ReverseConverter(twoWay)); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else { ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getSourceClass(), targetComponentType, converter); Converter collectionToArray = new ReverseConverter(new ArrayToCollection(elementConverter)); return new StaticConversionExecutor(sourceClass, targetClass, collectionToArray); } else if (converter.getSourceClass().isAssignableFrom(targetComponentType) ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getTargetClass(), targetComponentType, new ReverseConverter(twoWay)); Converter collectionToArray = new ReverseConverter(new ArrayToCollection(elementConverter)); return new StaticConversionExecutor(sourceClass, targetClass, collectionToArray); } else {