in parquet-avro/src/main/java/org/apache/parquet/avro/AvroRecordConverter.java [776:860]
private ParentValueContainer createSetterAndContainer() {
if (elementClass == boolean.class) {
final BooleanArrayList list = new BooleanArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addBoolean(boolean value) {
list.add(value);
}
};
} else if (elementClass == byte.class) {
final ByteArrayList list = new ByteArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addByte(byte value) {
list.add(value);
}
};
} else if (elementClass == char.class) {
final CharArrayList list = new CharArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addChar(char value) {
list.add(value);
}
};
} else if (elementClass == short.class) {
final ShortArrayList list = new ShortArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addShort(short value) {
list.add(value);
}
};
} else if (elementClass == int.class) {
final IntArrayList list = new IntArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addInt(int value) {
list.add(value);
}
};
} else if (elementClass == long.class) {
final LongArrayList list = new LongArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addLong(long value) {
list.add(value);
}
};
} else if (elementClass == float.class) {
final FloatArrayList list = new FloatArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addFloat(float value) {
list.add(value);
}
};
} else if (elementClass == double.class) {
final DoubleArrayList list = new DoubleArrayList();
this.container = list;
return new ParentValueContainer() {
@Override
public void addDouble(double value) {
list.add(value);
}
};
} else {
// this will end up as Object[]
final List<Object> list = new ArrayList<Object>();
this.container = list;
return new ParentValueContainer() {
@Override
public void add(Object value) {
list.add(value);
}
};
}
}