private static Object safeCopy(Object v) { Object safeCopy = FieldType.forValue(v).safeCopy(v); return safeCopy; } }
private static Map<Object, Object> recursiveSafeCopy(Map<?, ?> m) { Map<Object, Object> copy = new HashMap<>(m.size()); m.forEach((k, v) -> copy.put(k, FieldType.forValue(v).safeCopy(v))); return copy; }
private static Object safeCopy(Object v) { Object safeCopy = FieldType.forValue(v).safeCopy(v); return safeCopy; } }
private @Nullable Object safeCopy(@Nullable Object value) { return FieldType.forValue(value).safeCopy(value); } }
private static Map<Object, Object> recursiveSafeCopy(Map<?, ?> m) { Map<Object, Object> copy = new HashMap<>(m.size()); m.forEach((k, v) -> copy.put(k, FieldType.forValue(v).safeCopy(v))); return copy; }
private @Nullable Object safeCopy(@Nullable Object value) { return FieldType.forValue(value).safeCopy(value); } }
private @Nullable Object safeCopy(@Nullable Object value) { return FieldType.forValue(value).safeCopy(value); }
private Object safeCopy(@Nullable Object value) { FieldType fieldType = FieldType.forValue(value); if (FieldType.UNKNOWN.equals(fieldType)) { throw new IllegalArgumentException(String.format( "Objects of class %s are not supported as RevFeature attributes: ", value.getClass().getName())); } value = fieldType.safeCopy(value); return value; }
public static @Nullable Object safeCopy(@Nullable Object value) { if (value == null) { return null; } FieldType fieldType = FieldType.forValue(value); if (FieldType.UNKNOWN.equals(fieldType)) { throw new IllegalArgumentException(String.format( "Objects of class %s are not supported as RevFeature attributes: ", value.getClass().getName())); } value = fieldType.safeCopy(value); return value; }
@Test public void testSafeCopy() { byte[] original = new byte[] { (byte) 0x01, (byte) 0x02 }; byte[] copy = (byte[]) FieldType.BYTE_ARRAY.safeCopy(original); assertNotSame(original, copy); assertEquals(original[0], copy[0]); assertEquals(original[1], copy[1]); } }