protected RepeatedReader(int definitionLevel, int repetitionLevel, ParquetValueReader<E> reader) { this.definitionLevel = definitionLevel; this.repetitionLevel = repetitionLevel; this.reader = reader; this.column = reader.column(); this.children = reader.columns(); }
OptionReader(int definitionLevel, ParquetValueReader<T> reader) { this.definitionLevel = definitionLevel; this.reader = reader; this.column = reader.column(); this.children = reader.columns(); }
protected RepeatedKeyValueReader(int definitionLevel, int repetitionLevel, ParquetValueReader<K> keyReader, ParquetValueReader<V> valueReader) { this.definitionLevel = definitionLevel; this.repetitionLevel = repetitionLevel; this.keyReader = keyReader; this.valueReader = valueReader; this.column = keyReader.column(); this.children = ImmutableList.<TripleIterator<?>>builder() .addAll(keyReader.columns()) .addAll(valueReader.columns()) .build(); }
@SuppressWarnings("unchecked") protected StructReader(List<Type> types, List<ParquetValueReader<?>> readers) { this.readers = (ParquetValueReader<?>[]) Array.newInstance( ParquetValueReader.class, readers.size()); this.columns = (TripleIterator<?>[]) Array.newInstance(TripleIterator.class, readers.size()); this.setters = (Setter<I>[]) Array.newInstance(Setter.class, readers.size()); ImmutableList.Builder<TripleIterator<?>> columnsBuilder = ImmutableList.builder(); for (int i = 0; i < readers.size(); i += 1) { ParquetValueReader<?> reader = readers.get(i); this.readers[i] = readers.get(i); this.columns[i] = reader.column(); this.setters[i] = newSetter(reader, types.get(i)); columnsBuilder.addAll(reader.columns()); } this.children = columnsBuilder.build(); if (children.size() > 0) { this.column = children.get(0); } else { this.column = NullReader.NULL_COLUMN; } }