/** Version of {@link #getField} that has state. */ protected Object getField(Object record, String name, int pos, Object state) { return getField(record, name, pos); }
/** Version of {@link #getField} that has state. */ protected Object getField(Object record, String name, int pos, Object state) { return getField(record, name, pos); }
/** Called to write a single field of a record. May be overridden for more * efficient or alternate implementations.*/ protected void writeField(Object datum, Field f, Encoder out, Object state) throws IOException { Object value = data.getField(datum, f.name(), f.pos(), state); try { write(f.schema(), value, out); } catch (NullPointerException e) { throw npe(e, " in field " + f.name()); } }
/** Called to write a single field of a record. May be overridden for more * efficient or alternate implementations.*/ protected void writeField(Object datum, Field f, Encoder out, Object state) throws IOException { Object value = data.getField(datum, f.name(), f.pos(), state); try { write(f.schema(), value, out); } catch (NullPointerException e) { throw npe(e, " in field " + f.name()); } }
.validate(changedField.schema(), genericData.getField(toInsert, changedField.name(), changedField.pos())); if (!valid) { toInsert.put(subField, oldValue);
toString(f.name(), buffer, seenObjects); buffer.append(": "); toString(getField(datum, f.name(), f.pos()), buffer, seenObjects); if (++count < schema.getFields().size()) buffer.append(", ");
toString(f.name(), buffer, seenObjects); buffer.append(": "); toString(getField(datum, f.name(), f.pos()), buffer, seenObjects); if (++count < schema.getFields().size()) buffer.append(", ");
continue; hashCode = hashCodeAdd(hashCode, getField(o, f.name(), f.pos()), f.schema());
continue; hashCode = hashCodeAdd(hashCode, getField(o, f.name(), f.pos()), f.schema());
/** Called to read a record instance. May be overridden for alternate record * representations.*/ protected Object readRecord(Object old, Schema expected, ResolvingDecoder in) throws IOException { Object r = data.newRecord(old, expected); Object state = data.getRecordState(r, expected); for (Field f : in.readFieldOrder()) { int pos = f.pos(); String name = f.name(); Object oldDatum = null; if (old!=null) { oldDatum = data.getField(r, name, pos, state); } readField(r, f, oldDatum, in, state); } return r; }
String name = f.name(); Object newValue = deepCopy(f.schema(), getField(value, name, pos, oldState)); setField(newRecord, name, pos, newValue, newState);
String name = f.name(); Object newValue = deepCopy(f.schema(), getField(value, name, pos, oldState)); setField(newRecord, name, pos, newValue, newState);
/** Called to read a record instance. May be overridden for alternate record * representations.*/ protected Object readRecord(Object old, Schema expected, ResolvingDecoder in) throws IOException { Object r = data.newRecord(old, expected); Object state = data.getRecordState(r, expected); for (Field f : in.readFieldOrder()) { int pos = f.pos(); String name = f.name(); Object oldDatum = null; if (old!=null) { oldDatum = data.getField(r, name, pos, state); } readField(r, f, oldDatum, in, state); } return r; }
@Override protected void writeField(Object datum, Schema.Field f, Encoder out, Object state) throws IOException { if (datum instanceof SpecificRecordBase) { Conversion<?> conversion = ((SpecificRecordBase) datum).getConversion(f.pos()); Schema fieldSchema = f.schema(); LogicalType logicalType = fieldSchema.getLogicalType(); Object value = getData().getField(datum, f.name(), f.pos()); if (conversion != null && logicalType != null) { value = convert(fieldSchema, logicalType, conversion, value); } writeWithoutConversion(fieldSchema, value, out); } else { super.writeField(datum, f, out, state); } } }
@Override protected void writeField(Object datum, Schema.Field f, Encoder out, Object state) throws IOException { if (datum instanceof SpecificRecordBase) { Conversion<?> conversion = ((SpecificRecordBase) datum).getConversion(f.pos()); Schema fieldSchema = f.schema(); LogicalType logicalType = fieldSchema.getLogicalType(); Object value = getData().getField(datum, f.name(), f.pos()); if (conversion != null && logicalType != null) { value = convert(fieldSchema, logicalType, conversion, value); } writeWithoutConversion(fieldSchema, value, out); } else { super.writeField(datum, f, out, state); } } }
if (!isRecord(datum)) return false; for (Field f : schema.getFields()) { if (!validate(f.schema(), getField(datum, f.name(), f.pos()))) return false;
if (!isRecord(datum)) return false; for (Field f : schema.getFields()) { if (!validate(f.schema(), getField(datum, f.name(), f.pos()))) return false;
case RECORD: for (Field f : s.getFields()) column = write(model.getField(o,f.name(),f.pos()), f.schema(), column); return column; case ARRAY: