public byte[] convert(Object value) { if (value == null) { return null; } Class valueClass = value.getClass(); if (!valueClass.isArray()) { // source is not an array return convertValueToArray(value); } // source is an array return convertArrayToArray(value); }
/** * Converts array value to array. */ protected byte[] convertArrayToArray(Object value) { Class valueComponentType = value.getClass().getComponentType(); if (valueComponentType == byte.class) { // equal types, no conversion needed return (byte[]) value; } byte[] result; if (valueComponentType.isPrimitive()) { // convert primitive array to target array result = convertPrimitiveArrayToArray(value, valueComponentType); } else { // convert object array to target array Object[] array = (Object[]) value; result = new byte[array.length]; for (int i = 0; i < array.length; i++) { result[i] = convertType(array[i]); } } return result; }
target[i] = convertType(element); target[i] = convertType(element); i++; byte convertedValue = convertType(element); byteArrayList.add(Byte.valueOf(convertedValue)); return convertArrayToArray(strings); return convertToSingleElementArray(value);
/** * Creates an array with single element. */ protected byte[] convertToSingleElementArray(Object value) { return new byte[] {convertType(value)}; }
register(char.class, characterConverter); register(byte[].class, new ByteArrayConverter(this)); register(short[].class, new ShortArrayConverter(this)); register(int[].class, new IntegerArrayConverter(this));
target[i] = convertType(element); i++; final byte convertedValue = convertType(element); byteArrayList.add(Byte.valueOf(convertedValue)); return convertArrayToArray(strings); return convertToSingleElementArray(value);
/** * Creates an array with single element. */ protected byte[] convertToSingleElementArray(final Object value) { return new byte[] {convertType(value)}; }
register(char.class, characterConverter); register(byte[].class, new ByteArrayConverter(this)); register(short[].class, new ShortArrayConverter(this)); register(int[].class, new IntegerArrayConverter(this));
@Test void testArrayConversion() { assertNull(byteArrayConverter.convert(null)); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arrb(1, 7, 3))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arrs(1, 7, 3))); assertEq(arrb(1, 0, 1), byteArrayConverter.convert(arrl(true, false, true))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arri(1, 7, 3))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arrl(1, 7, 3))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arrf(1.99f, 7.99f, 3.22f))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arrd(1.99, 7.99, 3.22))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arrs("1", "7", "3"))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(arrs(" 1 ", " 7 ", " 3 "))); assertEq(arrb(1, 7, 3), byteArrayConverter.convert(" 1 ; 7 ; 3 ")); }
target[i] = convertType(element); i++; final byte convertedValue = convertType(element); byteArrayList.add(Byte.valueOf(convertedValue)); return convertArrayToArray(strings); return convertToSingleElementArray(value);
@Override public byte[] convert(final Object value) { if (value == null) { return null; } final Class valueClass = value.getClass(); if (!valueClass.isArray()) { // source is not an array return convertValueToArray(value); } // source is an array return convertArrayToArray(value); }
/** * Converts array value to array. */ protected byte[] convertArrayToArray(final Object value) { final Class valueComponentType = value.getClass().getComponentType(); final byte[] result; if (valueComponentType.isPrimitive()) { result = convertPrimitiveArrayToArray(value, valueComponentType); } else { // convert object array to target array final Object[] array = (Object[]) value; result = new byte[array.length]; for (int i = 0; i < array.length; i++) { result[i] = convertType(array[i]); } } return result; }
/** * Creates an array with single element. */ protected byte[] convertToSingleElementArray(final Object value) { return new byte[] {convertType(value)}; }
register(char.class, characterConverter); register(byte[].class, new ByteArrayConverter(this)); register(short[].class, new ShortArrayConverter(this)); register(int[].class, new IntegerArrayConverter(this));
@Override public byte[] convert(final Object value) { if (value == null) { return null; } final Class valueClass = value.getClass(); if (!valueClass.isArray()) { // source is not an array return convertValueToArray(value); } // source is an array return convertArrayToArray(value); }
/** * Converts array value to array. */ protected byte[] convertArrayToArray(final Object value) { final Class valueComponentType = value.getClass().getComponentType(); final byte[] result; if (valueComponentType.isPrimitive()) { result = convertPrimitiveArrayToArray(value, valueComponentType); } else { // convert object array to target array final Object[] array = (Object[]) value; result = new byte[array.length]; for (int i = 0; i < array.length; i++) { result[i] = convertType(array[i]); } } return result; }