@Override public void write(InternalRow datum, Encoder out) throws IOException { writer.write(datum, out); }
@Override public void write(T datum, Encoder out) throws IOException { writer.write(datum, out); }
@Override public void write(T datum, Encoder out) throws IOException { writer.write(datum, out); }
@Override public void write(S row, Encoder encoder) throws IOException { for (int i = 0; i < writers.length; i += 1) { writers[i].write(get(row, i), encoder); } } }
@SuppressWarnings("unchecked") private <T> void write(InternalRow row, int pos, ValueWriter<T> writer, Encoder encoder) throws IOException { writer.write((T) row.get(pos, types[pos]), encoder); } }
@Override @SuppressWarnings("unchecked") public void write(Map<K, V> map, Encoder encoder) throws IOException { encoder.writeMapStart(); int numElements = map.size(); encoder.setItemCount(numElements); Iterator<Map.Entry<K, V>> iter = map.entrySet().iterator(); for (int i = 0; i < numElements; i += 1) { encoder.startItem(); Map.Entry<K, V> entry = iter.next(); keyWriter.write(entry.getKey(), encoder); valueWriter.write(entry.getValue(), encoder); } encoder.writeMapEnd(); } }
@Override @SuppressWarnings("unchecked") public void write(Map<K, V> map, Encoder encoder) throws IOException { encoder.writeArrayStart(); int numElements = map.size(); encoder.setItemCount(numElements); Iterator<Map.Entry<K, V>> iter = map.entrySet().iterator(); for (int i = 0; i < numElements; i += 1) { encoder.startItem(); Map.Entry<K, V> entry = iter.next(); keyWriter.write(entry.getKey(), encoder); valueWriter.write(entry.getValue(), encoder); } encoder.writeArrayEnd(); } }
@Override public void write(T option, Encoder encoder) throws IOException { if (option == null) { encoder.writeIndex(nullIndex); } else { encoder.writeIndex(valueIndex); valueWriter.write(option, encoder); } } }
@Override public void write(InternalRow row, Encoder encoder) throws IOException { for (int i = 0; i < types.length; i += 1) { if (row.isNullAt(i)) { writers[i].write(null, encoder); } else { write(row, i, writers[i], encoder); } } }
@Override @SuppressWarnings("unchecked") public void write(Collection<T> array, Encoder encoder) throws IOException { encoder.writeArrayStart(); int numElements = array.size(); encoder.setItemCount(numElements); Iterator<T> iter = array.iterator(); for (int i = 0; i < numElements; i += 1) { encoder.startItem(); elementWriter.write(iter.next(), encoder); } encoder.writeArrayEnd(); } }
@Override @SuppressWarnings("unchecked") public void write(MapData map, Encoder encoder) throws IOException { encoder.writeArrayStart(); int numElements = map.numElements(); encoder.setItemCount(numElements); ArrayData keyArray = map.keyArray(); ArrayData valueArray = map.valueArray(); for (int i = 0; i < numElements; i += 1) { encoder.startItem(); keyWriter.write((K) keyArray.get(i, keyType), encoder); valueWriter.write((V) valueArray.get(i, valueType), encoder); } encoder.writeArrayEnd(); } }
@Override @SuppressWarnings("unchecked") public void write(MapData map, Encoder encoder) throws IOException { encoder.writeMapStart(); int numElements = map.numElements(); encoder.setItemCount(numElements); ArrayData keyArray = map.keyArray(); ArrayData valueArray = map.valueArray(); for (int i = 0; i < numElements; i += 1) { encoder.startItem(); keyWriter.write((K) keyArray.get(i, keyType), encoder); valueWriter.write((V) valueArray.get(i, valueType), encoder); } encoder.writeMapEnd(); } }
@Override @SuppressWarnings("unchecked") public void write(ArrayData array, Encoder encoder) throws IOException { encoder.writeArrayStart(); int numElements = array.numElements(); encoder.setItemCount(numElements); for (int i = 0; i < numElements; i += 1) { encoder.startItem(); elementWriter.write((T) array.get(i, elementType), encoder); } encoder.writeArrayEnd(); } }