public static Class<?>[] wrapAsNecessary(final Class<?>[] classes) { final List<Class<?>> wrappedClasses = new ArrayList<Class<?>>(); for (final Class<?> cls : classes) { if (cls.isPrimitive()) { wrappedClasses.add((Class<?>) wrap(cls)); } else { wrappedClasses.add(cls); } } return wrappedClasses.toArray(new Class[] {}); }
public static Class<?>[] wrapAsNecessary(final Class<?>[] classes) { final List<Class<?>> wrappedClasses = new ArrayList<Class<?>>(); for (final Class<?> cls : classes) { if (cls.isPrimitive()) { wrappedClasses.add((Class<?>) wrap(cls)); } else { wrappedClasses.add(cls); } } return wrappedClasses.toArray(new Class[] {}); }
private static Object[] convertPrimitiveToObjectArray( final Class<?> arrayType, final Object originalArray) { Object[] convertedArray; try { final Class<?> wrapperClass = WrapperUtils.wrap(arrayType); final Constructor<?> constructor = wrapperClass.getConstructor(new Class[] { String.class }); final int len = Array.getLength(originalArray); convertedArray = (Object[]) Array.newInstance(wrapperClass, len); for (int i = 0; i < len; i++) { convertedArray[i] = constructor.newInstance(new Object[] { Array.get(originalArray, i).toString() }); } } catch (final NoSuchMethodException e) { throw new NakedObjectException(e); } catch (final ArrayIndexOutOfBoundsException e) { throw new NakedObjectException(e); } catch (final IllegalArgumentException e) { throw new NakedObjectException(e); } catch (final InstantiationException e) { throw new NakedObjectException(e); } catch (final IllegalAccessException e) { throw new NakedObjectException(e); } catch (final InvocationTargetException e) { throw new NakedObjectException(e); } return convertedArray; }
private static Object[] convertPrimitiveToObjectArray( final Class<?> arrayType, final Object originalArray) { Object[] convertedArray; try { final Class<?> wrapperClass = WrapperUtils.wrap(arrayType); final Constructor<?> constructor = wrapperClass.getConstructor(new Class[] { String.class }); final int len = Array.getLength(originalArray); convertedArray = (Object[]) Array.newInstance(wrapperClass, len); for (int i = 0; i < len; i++) { convertedArray[i] = constructor.newInstance(new Object[] { Array.get(originalArray, i).toString() }); } } catch (final NoSuchMethodException e) { throw new NakedObjectException(e); } catch (final ArrayIndexOutOfBoundsException e) { throw new NakedObjectException(e); } catch (final IllegalArgumentException e) { throw new NakedObjectException(e); } catch (final InstantiationException e) { throw new NakedObjectException(e); } catch (final IllegalAccessException e) { throw new NakedObjectException(e); } catch (final InvocationTargetException e) { throw new NakedObjectException(e); } return convertedArray; }