/** Called to read an array instance. May be overridden for alternate array * representations.*/ protected Object readArray(Object old, Schema expected, ResolvingDecoder in) throws IOException { Schema expectedType = expected.getElementType(); long l = in.readArrayStart(); long base = 0; if (l > 0) { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); Object array = newArray(old, (int) l, expected); do { if (logicalType != null && conversion != null) { for (long i = 0; i < l; i++) { addToArray(array, base + i, readWithConversion( peekArray(array), expectedType, logicalType, conversion, in)); } } else { for (long i = 0; i < l; i++) { addToArray(array, base + i, readWithoutConversion( peekArray(array), expectedType, in)); } } base += l; } while ((l = in.arrayNext()) > 0); return array; } else { return newArray(old, 0, expected); } }
/** Called to read an array instance. May be overridden for alternate array * representations.*/ protected Object readArray(Object old, Schema expected, ResolvingDecoder in) throws IOException { Schema expectedType = expected.getElementType(); long l = in.readArrayStart(); long base = 0; if (l > 0) { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); Object array = newArray(old, (int) l, expected); do { if (logicalType != null && conversion != null) { for (long i = 0; i < l; i++) { addToArray(array, base + i, readWithConversion( peekArray(array), expectedType, logicalType, conversion, in)); } } else { for (long i = 0; i < l; i++) { addToArray(array, base + i, readWithoutConversion( peekArray(array), expectedType, in)); } } base += l; } while ((l = in.arrayNext()) > 0); return pruneArray(array); } else { return pruneArray(newArray(old, 0, expected)); } }
/** Called to read an array instance. May be overridden for alternate array * representations.*/ protected Object readArray(Object old, Schema expected, ResolvingDecoder in) throws IOException { Schema expectedType = expected.getElementType(); long l = in.readArrayStart(); long base = 0; if (l > 0) { Object array = newArray(old, (int) l, expected); do { for (long i = 0; i < l; i++) { addToArray(array, base + i, read(peekArray(array), expectedType, in)); } base += l; } while ((l = in.arrayNext()) > 0); return array; } else { return newArray(old, 0, expected); } }
/** Called to read an array instance. May be overridden for alternate array * representations.*/ protected Object readArray(Object old, Schema expected, ResolvingDecoder in) throws IOException { Schema expectedType = expected.getElementType(); long l = in.readArrayStart(); long base = 0; if (l > 0) { Object array = newArray(old, (int) l, expected); do { for (long i = 0; i < l; i++) { addToArray(array, base + i, read(peekArray(array), expectedType, in)); } base += l; } while ((l = in.arrayNext()) > 0); return array; } else { return newArray(old, 0, expected); } }
/** Called to read an array instance. May be overridden for alternate array * representations.*/ protected Object readArray(Object old, Schema expected, ResolvingDecoder in) throws IOException { Schema expectedType = expected.getElementType(); long l = in.readArrayStart(); long base = 0; if (l > 0) { Object array = newArray(old, (int) l, expected); do { for (long i = 0; i < l; i++) { addToArray(array, base + i, read(peekArray(array), expectedType, in)); } base += l; } while ((l = in.arrayNext()) > 0); return array; } else { return newArray(old, 0, expected); } }
/** Called to read an array instance. May be overridden for alternate array * representations.*/ protected Object readArray(Object old, Schema expected, ResolvingDecoder in) throws IOException { Schema expectedType = expected.getElementType(); long l = in.readArrayStart(); long base = 0; if (l > 0) { LogicalType logicalType = expectedType.getLogicalType(); Conversion<?> conversion = getData().getConversionFor(logicalType); Object array = newArray(old, (int) l, expected); do { if (logicalType != null && conversion != null) { for (long i = 0; i < l; i++) { addToArray(array, base + i, readWithConversion( peekArray(array), expectedType, logicalType, conversion, in)); } } else { for (long i = 0; i < l; i++) { addToArray(array, base + i, readWithoutConversion( peekArray(array), expectedType, in)); } } base += l; } while ((l = in.arrayNext()) > 0); return array; } else { return newArray(old, 0, expected); } }