@Override public T copy(T from, T reuse) { Preconditions.checkNotNull(from); Preconditions.checkNotNull(reuse); if (isImmutableType()) { return from; } Object[] fields = new Object[fieldSerializers.length]; for (int index = 0; index < fieldSerializers.length; index++) { fields[index] = fieldSerializers[index].copy(getField(from, index), getField(reuse, index)); } return createInstanceWithReuse(fields, reuse); }
@Override public void serialize(T record, DataOutputView target) throws IOException { Preconditions.checkNotNull(record); Preconditions.checkNotNull(target); for (int index = 0; index < fieldSerializers.length; index++) { fieldSerializers[index].serialize(getField(record, index), target); } }
@Override public T copy(T from) { Preconditions.checkNotNull(from); if (isImmutableType()) { return from; } Object[] fields = new Object[fieldSerializers.length]; for (int index = 0; index < fieldSerializers.length; index++) { fields[index] = fieldSerializers[index].copy(getField(from, index)); } return createInstance(fields); }
@Override public T deserialize(T reuse, DataInputView source) throws IOException { Preconditions.checkNotNull(reuse); Preconditions.checkNotNull(source); Object[] fields = new Object[fieldSerializers.length]; for (int index = 0; index < fieldSerializers.length; index++) { fields[index] = fieldSerializers[index].deserialize(getField(reuse, index), source); } return precomputed.immutable ? createInstance(fields) : createInstanceWithReuse(fields, reuse); }
@Override public T copy(T from, T reuse) { Preconditions.checkNotNull(from); Preconditions.checkNotNull(reuse); if (isImmutableType()) { return from; } Object[] fields = new Object[fieldSerializers.length]; for (int index = 0; index < fieldSerializers.length; index++) { fields[index] = fieldSerializers[index].copy(getField(from, index), getField(reuse, index)); } return createInstanceWithReuse(fields, reuse); }
@Override public void serialize(T record, DataOutputView target) throws IOException { Preconditions.checkNotNull(record); Preconditions.checkNotNull(target); for (int index = 0; index < fieldSerializers.length; index++) { fieldSerializers[index].serialize(getField(record, index), target); } }
@Override public T copy(T from) { Preconditions.checkNotNull(from); if (isImmutableType()) { return from; } Object[] fields = new Object[fieldSerializers.length]; for (int index = 0; index < fieldSerializers.length; index++) { fields[index] = fieldSerializers[index].copy(getField(from, index)); } return createInstance(fields); }
@Override public T deserialize(T reuse, DataInputView source) throws IOException { Preconditions.checkNotNull(reuse); Preconditions.checkNotNull(source); Object[] fields = new Object[fieldSerializers.length]; for (int index = 0; index < fieldSerializers.length; index++) { fields[index] = fieldSerializers[index].deserialize(getField(reuse, index), source); } return precomputed.immutable ? createInstance(fields) : createInstanceWithReuse(fields, reuse); }