in parquet-avro/src/main/java/org/apache/parquet/avro/AvroRecordConverter.java [829:893]
public ArrayElementConverter(GroupType repeatedType,
Schema elementSchema, GenericData model,
final ParentValueContainer setter) {
Type elementType = repeatedType.getType(0);
Preconditions.checkArgument(
!elementClass.isPrimitive() || elementType.isRepetition(REQUIRED),
"Cannot convert list of optional elements to primitive array");
Schema nonNullElementSchema = AvroSchemaConverter.getNonNull(elementSchema);
this.elementConverter = newConverter(
nonNullElementSchema, elementType, model, elementClass, new ParentValueContainer() {
@Override
public void add(Object value) {
isSet = true;
setter.add(value);
}
@Override
public void addByte(byte value) {
isSet = true;
setter.addByte(value);
}
@Override
public void addBoolean(boolean value) {
isSet = true;
setter.addBoolean(value);
}
@Override
public void addChar(char value) {
isSet = true;
setter.addChar(value);
}
@Override
public void addShort(short value) {
isSet = true;
setter.addShort(value);
}
@Override
public void addInt(int value) {
isSet = true;
setter.addInt(value);
}
@Override
public void addLong(long value) {
isSet = true;
setter.addLong(value);
}
@Override
public void addFloat(float value) {
isSet = true;
setter.addFloat(value);
}
@Override
public void addDouble(double value) {
isSet = true;
setter.addDouble(value);
}
});
}