@SuppressWarnings("unchecked") @Override public F get(T record) { Product prod = (Product) record; return (F) prod.productElement(pos); }
@Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = fieldValue; return serializer.createInstance(fields); } }
@SuppressWarnings("unchecked") @Override public F get(T record) { return innerAccessor.get((R) ((Product) record).productElement(pos)); }
Object v = element.productElement(i); if (v != null) { if (i != 0) {
@SuppressWarnings("unchecked") @Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = innerAccessor.set((R) fields[pos], fieldValue); return serializer.createInstance(fields); } }
@Override protected Object[] extract(IN record) { Object[] al = new Object[record.productArity()]; for (int i = 0; i < record.productArity(); i++) { al[i] = record.productElement(i); } return al; } }
@Override public void reduce(Iterable<T> records, Collector<T> out) { final AggregationFunction<Object>[] aggFunctions = this.aggFunctions; final int[] fieldPositions = this.fieldPositions; // aggregators are initialized from before T current = null; for (T record : records) { current = record; for (int i = 0; i < fieldPositions.length; i++) { Object val = current.productElement(fieldPositions[i]); aggFunctions[i].aggregate(val); } } Object[] fields = new Object[serializer.getArity()]; int length = serializer.getArity(); // First copy all tuple fields, then overwrite the aggregated ones for (int i = 0; i < length; i++) { fields[i] = current.productElement(i); } for (int i = 0; i < fieldPositions.length; i++) { Object aggVal = aggFunctions[i].getAggregate(); fields[fieldPositions[i]] = aggVal; aggFunctions[i].initializeAggregate(); } T result = serializer.createInstance(fields); out.collect(result); }
@Override protected Object getSpecificField(T record, int n) { return record.productElement(n); }
@SuppressWarnings("unchecked") @Override public F get(T record) { Product prod = (Product) record; return (F) prod.productElement(pos); }
@SuppressWarnings("unchecked") @Override public F get(T record) { Product prod = (Product) record; return (F) prod.productElement(pos); }
@SuppressWarnings("unchecked") @Override public F get(T record) { Product prod = (Product) record; return (F) prod.productElement(pos); }
@Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = fieldValue; return serializer.createInstance(fields); } }
@Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = fieldValue; return serializer.createInstance(fields); } }
@SuppressWarnings("unchecked") @Override public F get(T record) { return innerAccessor.get((R) ((Product) record).productElement(pos)); }
@SuppressWarnings("unchecked") @Override public F get(T record) { return innerAccessor.get((R) ((Product) record).productElement(pos)); }
@Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = fieldValue; return serializer.createInstance(fields); } }
@SuppressWarnings("unchecked") @Override public F get(T record) { return innerAccessor.get((R) ((Product) record).productElement(pos)); }
@SuppressWarnings("unchecked") @Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = innerAccessor.set((R) fields[pos], fieldValue); return serializer.createInstance(fields); } }
@SuppressWarnings("unchecked") @Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = innerAccessor.set((R) fields[pos], fieldValue); return serializer.createInstance(fields); } }
@SuppressWarnings("unchecked") @Override public T set(T record, F fieldValue) { Product prod = (Product) record; for (int i = 0; i < length; i++) { fields[i] = prod.productElement(i); } fields[pos] = innerAccessor.set((R) fields[pos], fieldValue); return serializer.createInstance(fields); } }