in java/computations-api/src/main/java/com/epam/computations/data/MutableGenericValueFactory.java [261:303]
public MutableGenericValueInfo copy(GenericValueInfo value) {
if (value instanceof BooleanValueInfo) {
return booleanValue(value.booleanValue());
} else if (value instanceof ByteValueInfo) {
return byteValue(value.byteValue());
} else if (value instanceof DecimalValueInfo) {
return decimalValue(value.decimalValue());
} else if (value instanceof DoubleValueInfo) {
return doubleValue(value.doubleValue());
} else if (value instanceof FloatValueInfo) {
return floatValue(value.floatValue());
} else if (value instanceof IntValueInfo) {
return intValue(value.intValue());
} else if (value instanceof LongValueInfo) {
return longValue(value.longValue());
} else if (value instanceof ShortValueInfo) {
return shortValue(value.shortValue());
} else if (value instanceof AlphanumericValueInfo) {
return alphanumericValue(value.alphanumericValue());
} else if (value instanceof CharSequenceValueInfo) {
return charSequenceValue(value.charSequenceValue());
} else if (value instanceof CharValueInfo) {
return charValue(value.charValue());
} else if (value instanceof TimeOfDayValueInfo) {
return timeOfDayValue(value.timeOfDayValue());
} else if (value instanceof TimestampValueInfo) {
return timestampValue(value.timestampValue());
} else if (value instanceof EnumValueInfo) {
MutableEnumValueInfo enumValueInfo = enumValue();
enumValueInfo.setEnum(value.charSequenceValue(), value.longValue());
return enumValueInfo;
} else if (value instanceof BinaryValueInfo) {
MutableBinaryValueInfo binaryValueInfo = binaryValue();
binaryValueInfo.setBinary(value.binaryValue());
return binaryValueInfo;
} else if (value instanceof ObjectValueInfo) {
MutableObjectValueInfo objectValueInfo = objectValue();
((ObjectValueInfo) value).forEach(pair -> objectValueInfo.set(pair.getFirst(), copy(pair.getSecond())));
return objectValueInfo;
} else {
throw new UnsupportedOperationException();
}
}