@Override public double[] extract(Tuple in) { double[] out = new double[indexes.length]; for (int i = 0; i < indexes.length; i++) { out[i] = (Double) in.getField(indexes[i]); } return out; } }
@Override public OUT extract(Tuple in) { return in.getField(fieldId); }
@SuppressWarnings("unchecked") @Override public F get(T record) { return (F) record.getField(pos); }
@Override @SuppressWarnings("unchecked") public Key getKey(Type value) { return (Key) value.getField(0); } }
@Override @SuppressWarnings("unchecked") public void aggregate(Tuple value) { for (int i = 0; i < columnAggregators.length; i++) { columnAggregators[i].aggregate(value.getField(i)); } }
@Override public Integer getKey(T value) { return value.getField(0); } }
@Override public String getKey(T t) throws Exception { return t.getField(field); } }
@Override public int extractKeys(Object record, Object[] target, int index) { int localIndex = index; for(int i = 0; i < comparators.length; i++) { localIndex += comparators[i].extractKeys(((Tuple) record).getField(keyPositions[i]), target, localIndex); } return localIndex - index; }
@Override protected Object[] extractFields(OUT record) { Object[] fields = new Object[record.getArity()]; for (int i = 0; i < fields.length; i++) { fields[i] = record.getField(i); } return fields; } }
@Override public Long getKey(T t) throws Exception { return ((Tuple) t).getField(field); } }
@Override public Integer getKey(T t) throws Exception { return ((Tuple) t).getField(field); } }
@SuppressWarnings("unchecked") @Override public R map(Tuple inTuple) throws Exception { for (int i = 0; i < fields.length; i++) { outTuple.setField(inTuple.getField(fields[i]), i); } return (R) outTuple; } }
public TupleSerializer(Tuple value) { serializer = new Serializer[value.getArity()]; for (int x = 0; x < serializer.length; x++) { serializer[x] = getSerializer(value.getField(x)); } }
@Override public T set(T record, F fieldValue) { final R inner = record.getField(pos); record.setField(innerAccessor.set(inner, fieldValue), pos); return record; } }
@Override protected Object[] extract(IN record) { Object[] al = new Object[record.getArity()]; for (int i = 0; i < record.getArity(); i++) { al[i] = record.getField(i); } return al; } }
@Override public void serialize(T value, DataOutputView target) throws IOException { for (int i = 0; i < arity; i++) { Object o = value.getField(i); try { fieldSerializers[i].serialize(o, target); } catch (NullPointerException npex) { throw new NullFieldException(i, npex); } } }
@Override public T deserialize(T reuse, DataInputView source) throws IOException { for (int i = 0; i < arity; i++) { Object field = fieldSerializers[i].deserialize(reuse.getField(i), source); reuse.setField(field, i); } return reuse; }
@Override public T copy(T from) { T target = instantiateRaw(); for (int i = 0; i < arity; i++) { Object copy = fieldSerializers[i].copy(from.getField(i)); target.setField(copy, i); } return target; }