hydra.langs.parquet.format.Statistics Maven / Gradle / Ivy
package hydra.langs.parquet.format;
import java.io.Serializable;
/**
* Statistics per row group and per page. All fields are optional.
*/
public class Statistics implements Serializable {
public static final hydra.core.Name NAME = new hydra.core.Name("hydra/langs/parquet/format.Statistics");
public final java.util.Optional nullCount;
public final java.util.Optional distinctCount;
public final java.util.Optional maxValue;
public final java.util.Optional minValue;
public Statistics (java.util.Optional nullCount, java.util.Optional distinctCount, java.util.Optional maxValue, java.util.Optional minValue) {
this.nullCount = nullCount;
this.distinctCount = distinctCount;
this.maxValue = maxValue;
this.minValue = minValue;
}
@Override
public boolean equals(Object other) {
if (!(other instanceof Statistics)) {
return false;
}
Statistics o = (Statistics) (other);
return nullCount.equals(o.nullCount) && distinctCount.equals(o.distinctCount) && maxValue.equals(o.maxValue) && minValue.equals(o.minValue);
}
@Override
public int hashCode() {
return 2 * nullCount.hashCode() + 3 * distinctCount.hashCode() + 5 * maxValue.hashCode() + 7 * minValue.hashCode();
}
public Statistics withNullCount(java.util.Optional nullCount) {
return new Statistics(nullCount, distinctCount, maxValue, minValue);
}
public Statistics withDistinctCount(java.util.Optional distinctCount) {
return new Statistics(nullCount, distinctCount, maxValue, minValue);
}
public Statistics withMaxValue(java.util.Optional maxValue) {
return new Statistics(nullCount, distinctCount, maxValue, minValue);
}
public Statistics withMinValue(java.util.Optional minValue) {
return new Statistics(nullCount, distinctCount, maxValue, minValue);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy