/** * @deprecated As of Avro 1.8.2, this method has been moved to * {@link #getConversion(String)} method from 1.9.0. */ @Deprecated public Conversion<?> getConverion(String fieldName) { return getConversion(fieldName); }
public Conversion<?> getConversion(String fieldName) { return getConversion(getSchema().getField(fieldName).pos()); }
public Conversion<?> getConversion(String fieldName) { return getConversion(getSchema().getField(fieldName).pos()); }
@Override protected void readField(Object r, Schema.Field f, Object oldDatum, ResolvingDecoder in, Object state) throws IOException { if (r instanceof SpecificRecordBase) { Conversion<?> conversion = ((SpecificRecordBase) r).getConversion(f.pos()); Object datum; if (conversion != null) { datum = readWithConversion( oldDatum, f.schema(), f.schema().getLogicalType(), conversion, in); } else { datum = readWithoutConversion(oldDatum, f.schema(), in); } getData().setField(r, f.name(), f.pos(), datum); } else { super.readField(r, f, oldDatum, in, state); } } }
@Override protected void readField(Object r, Schema.Field f, Object oldDatum, ResolvingDecoder in, Object state) throws IOException { if (r instanceof SpecificRecordBase) { Conversion<?> conversion = ((SpecificRecordBase) r).getConversion(f.pos()); Object datum; if (conversion != null) { datum = readWithConversion( oldDatum, f.schema(), f.schema().getLogicalType(), conversion, in); } else { datum = readWithoutConversion(oldDatum, f.schema(), in); } getData().setField(r, f.name(), f.pos(), datum); } else { super.readField(r, f, oldDatum, in, 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); } } }
@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); } } }
/** * @deprecated As of Avro 1.8.2, this method has been moved to * {@link #getConversion(String)} method from 1.9.0. */ @Deprecated public Conversion<?> getConverion(String fieldName) { return getConversion(fieldName); }
public Conversion<?> getConversion(String fieldName) { return getConversion(getSchema().getField(fieldName).pos()); }
@Override protected void readField(Object r, Schema.Field f, Object oldDatum, ResolvingDecoder in, Object state) throws IOException { if (r instanceof SpecificRecordBase) { Conversion<?> conversion = ((SpecificRecordBase) r).getConversion(f.pos()); Object datum; if (conversion != null) { datum = readWithConversion( oldDatum, f.schema(), f.schema().getLogicalType(), conversion, in); } else { datum = readWithoutConversion(oldDatum, f.schema(), in); } getData().setField(r, f.name(), f.pos(), datum); } else { super.readField(r, f, oldDatum, in, 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); } } }