in parquet-cli/src/main/java/org/apache/parquet/cli/commands/CheckParquet251Command.java [209:287]
private PrimitiveConverter getValidatingConverter(final DataPage page, PrimitiveTypeName type) {
return type.convert(new PrimitiveTypeNameConverter<PrimitiveConverter, RuntimeException>() {
@Override
public PrimitiveConverter convertFLOAT(PrimitiveTypeName primitiveTypeName) {
final StatsValidator<Float> validator = new StatsValidator<Float>(page);
return new PrimitiveConverter() {
@Override
public void addFloat(float value) {
validator.validate(value);
}
};
}
@Override
public PrimitiveConverter convertDOUBLE(PrimitiveTypeName primitiveTypeName) {
final StatsValidator<Double> validator = new StatsValidator<Double>(page);
return new PrimitiveConverter() {
@Override
public void addDouble(double value) {
validator.validate(value);
}
};
}
@Override
public PrimitiveConverter convertINT32(PrimitiveTypeName primitiveTypeName) {
final StatsValidator<Integer> validator = new StatsValidator<Integer>(page);
return new PrimitiveConverter() {
@Override
public void addInt(int value) {
validator.validate(value);
}
};
}
@Override
public PrimitiveConverter convertINT64(PrimitiveTypeName primitiveTypeName) {
final StatsValidator<Long> validator = new StatsValidator<Long>(page);
return new PrimitiveConverter() {
@Override
public void addLong(long value) {
validator.validate(value);
}
};
}
@Override
public PrimitiveConverter convertBOOLEAN(PrimitiveTypeName primitiveTypeName) {
final StatsValidator<Boolean> validator = new StatsValidator<Boolean>(page);
return new PrimitiveConverter() {
@Override
public void addBoolean(boolean value) {
validator.validate(value);
}
};
}
@Override
public PrimitiveConverter convertINT96(PrimitiveTypeName primitiveTypeName) {
return convertBINARY(primitiveTypeName);
}
@Override
public PrimitiveConverter convertFIXED_LEN_BYTE_ARRAY(PrimitiveTypeName primitiveTypeName) {
return convertBINARY(primitiveTypeName);
}
@Override
public PrimitiveConverter convertBINARY(PrimitiveTypeName primitiveTypeName) {
final StatsValidator<Binary> validator = new StatsValidator<Binary>(page);
return new PrimitiveConverter() {
@Override
public void addBinary(Binary value) {
validator.validate(value);
}
};
}
});
}