OffsetIndex.java
/**
* Autogenerated by Thrift Compiler (0.16.0)
*
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* @generated
*/
package org.apache.parquet.format;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
/**
* Optional offsets for each data page in a ColumnChunk.
*
* Forms part of the page index, along with ColumnIndex.
*
* OffsetIndex may be present even if ColumnIndex is not.
*/
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.16.0)", date = "2026-05-14")
public class OffsetIndex implements org.apache.thrift.TBase<OffsetIndex, OffsetIndex._Fields>, java.io.Serializable, Cloneable, Comparable<OffsetIndex> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OffsetIndex");
private static final org.apache.thrift.protocol.TField PAGE_LOCATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("page_locations", org.apache.thrift.protocol.TType.LIST, (short)1);
private static final org.apache.thrift.protocol.TField UNENCODED_BYTE_ARRAY_DATA_BYTES_FIELD_DESC = new org.apache.thrift.protocol.TField("unencoded_byte_array_data_bytes", org.apache.thrift.protocol.TType.LIST, (short)2);
private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new OffsetIndexStandardSchemeFactory();
private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new OffsetIndexTupleSchemeFactory();
/**
* PageLocations, ordered by increasing PageLocation.offset. It is required
* that page_locations[i].first_row_index < page_locations[i+1].first_row_index.
*/
public @org.apache.thrift.annotation.Nullable java.util.List<PageLocation> page_locations; // required
/**
* Unencoded/uncompressed size for BYTE_ARRAY types.
*
* See documention for unencoded_byte_array_data_bytes in SizeStatistics for
* more details on this field.
*/
public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> unencoded_byte_array_data_bytes; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
/**
* PageLocations, ordered by increasing PageLocation.offset. It is required
* that page_locations[i].first_row_index < page_locations[i+1].first_row_index.
*/
PAGE_LOCATIONS((short)1, "page_locations"),
/**
* Unencoded/uncompressed size for BYTE_ARRAY types.
*
* See documention for unencoded_byte_array_data_bytes in SizeStatistics for
* more details on this field.
*/
UNENCODED_BYTE_ARRAY_DATA_BYTES((short)2, "unencoded_byte_array_data_bytes");
private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
static {
for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
byName.put(field.getFieldName(), field);
}
}
/**
* Find the _Fields constant that matches fieldId, or null if its not found.
*/
@org.apache.thrift.annotation.Nullable
public static _Fields findByThriftId(int fieldId) {
switch(fieldId) {
case 1: // PAGE_LOCATIONS
return PAGE_LOCATIONS;
case 2: // UNENCODED_BYTE_ARRAY_DATA_BYTES
return UNENCODED_BYTE_ARRAY_DATA_BYTES;
default:
return null;
}
}
/**
* Find the _Fields constant that matches fieldId, throwing an exception
* if it is not found.
*/
public static _Fields findByThriftIdOrThrow(int fieldId) {
_Fields fields = findByThriftId(fieldId);
if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
return fields;
}
/**
* Find the _Fields constant that matches name, or null if its not found.
*/
@org.apache.thrift.annotation.Nullable
public static _Fields findByName(java.lang.String name) {
return byName.get(name);
}
private final short _thriftId;
private final java.lang.String _fieldName;
_Fields(short thriftId, java.lang.String fieldName) {
_thriftId = thriftId;
_fieldName = fieldName;
}
public short getThriftFieldId() {
return _thriftId;
}
public java.lang.String getFieldName() {
return _fieldName;
}
}
// isset id assignments
private static final _Fields optionals[] = {_Fields.UNENCODED_BYTE_ARRAY_DATA_BYTES};
public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
tmpMap.put(_Fields.PAGE_LOCATIONS, new org.apache.thrift.meta_data.FieldMetaData("page_locations", org.apache.thrift.TFieldRequirementType.REQUIRED,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PageLocation.class))));
tmpMap.put(_Fields.UNENCODED_BYTE_ARRAY_DATA_BYTES, new org.apache.thrift.meta_data.FieldMetaData("unencoded_byte_array_data_bytes", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(OffsetIndex.class, metaDataMap);
}
public OffsetIndex() {
}
public OffsetIndex(
java.util.List<PageLocation> page_locations)
{
this();
this.page_locations = page_locations;
}
/**
* Performs a deep copy on <i>other</i>.
*/
public OffsetIndex(OffsetIndex other) {
if (other.isSetPageLocations()) {
java.util.List<PageLocation> __this__page_locations = new java.util.ArrayList<PageLocation>(other.page_locations.size());
for (PageLocation other_element : other.page_locations) {
__this__page_locations.add(new PageLocation(other_element));
}
this.page_locations = __this__page_locations;
}
if (other.isSetUnencodedByteArrayDataBytes()) {
java.util.List<java.lang.Long> __this__unencoded_byte_array_data_bytes = new java.util.ArrayList<java.lang.Long>(other.unencoded_byte_array_data_bytes);
this.unencoded_byte_array_data_bytes = __this__unencoded_byte_array_data_bytes;
}
}
public OffsetIndex deepCopy() {
return new OffsetIndex(this);
}
@Override
public void clear() {
this.page_locations = null;
this.unencoded_byte_array_data_bytes = null;
}
public int getPageLocationsSize() {
return (this.page_locations == null) ? 0 : this.page_locations.size();
}
@org.apache.thrift.annotation.Nullable
public java.util.Iterator<PageLocation> getPageLocationsIterator() {
return (this.page_locations == null) ? null : this.page_locations.iterator();
}
public void addToPageLocations(PageLocation elem) {
if (this.page_locations == null) {
this.page_locations = new java.util.ArrayList<PageLocation>();
}
this.page_locations.add(elem);
}
/**
* PageLocations, ordered by increasing PageLocation.offset. It is required
* that page_locations[i].first_row_index < page_locations[i+1].first_row_index.
*/
@org.apache.thrift.annotation.Nullable
public java.util.List<PageLocation> getPageLocations() {
return this.page_locations;
}
/**
* PageLocations, ordered by increasing PageLocation.offset. It is required
* that page_locations[i].first_row_index < page_locations[i+1].first_row_index.
*/
public OffsetIndex setPageLocations(@org.apache.thrift.annotation.Nullable java.util.List<PageLocation> page_locations) {
this.page_locations = page_locations;
return this;
}
public void unsetPageLocations() {
this.page_locations = null;
}
/** Returns true if field page_locations is set (has been assigned a value) and false otherwise */
public boolean isSetPageLocations() {
return this.page_locations != null;
}
public void setPageLocationsIsSet(boolean value) {
if (!value) {
this.page_locations = null;
}
}
public int getUnencodedByteArrayDataBytesSize() {
return (this.unencoded_byte_array_data_bytes == null) ? 0 : this.unencoded_byte_array_data_bytes.size();
}
@org.apache.thrift.annotation.Nullable
public java.util.Iterator<java.lang.Long> getUnencodedByteArrayDataBytesIterator() {
return (this.unencoded_byte_array_data_bytes == null) ? null : this.unencoded_byte_array_data_bytes.iterator();
}
public void addToUnencodedByteArrayDataBytes(long elem) {
if (this.unencoded_byte_array_data_bytes == null) {
this.unencoded_byte_array_data_bytes = new java.util.ArrayList<java.lang.Long>();
}
this.unencoded_byte_array_data_bytes.add(elem);
}
/**
* Unencoded/uncompressed size for BYTE_ARRAY types.
*
* See documention for unencoded_byte_array_data_bytes in SizeStatistics for
* more details on this field.
*/
@org.apache.thrift.annotation.Nullable
public java.util.List<java.lang.Long> getUnencodedByteArrayDataBytes() {
return this.unencoded_byte_array_data_bytes;
}
/**
* Unencoded/uncompressed size for BYTE_ARRAY types.
*
* See documention for unencoded_byte_array_data_bytes in SizeStatistics for
* more details on this field.
*/
public OffsetIndex setUnencodedByteArrayDataBytes(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> unencoded_byte_array_data_bytes) {
this.unencoded_byte_array_data_bytes = unencoded_byte_array_data_bytes;
return this;
}
public void unsetUnencodedByteArrayDataBytes() {
this.unencoded_byte_array_data_bytes = null;
}
/** Returns true if field unencoded_byte_array_data_bytes is set (has been assigned a value) and false otherwise */
public boolean isSetUnencodedByteArrayDataBytes() {
return this.unencoded_byte_array_data_bytes != null;
}
public void setUnencodedByteArrayDataBytesIsSet(boolean value) {
if (!value) {
this.unencoded_byte_array_data_bytes = null;
}
}
public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
switch (field) {
case PAGE_LOCATIONS:
if (value == null) {
unsetPageLocations();
} else {
setPageLocations((java.util.List<PageLocation>)value);
}
break;
case UNENCODED_BYTE_ARRAY_DATA_BYTES:
if (value == null) {
unsetUnencodedByteArrayDataBytes();
} else {
setUnencodedByteArrayDataBytes((java.util.List<java.lang.Long>)value);
}
break;
}
}
@org.apache.thrift.annotation.Nullable
public java.lang.Object getFieldValue(_Fields field) {
switch (field) {
case PAGE_LOCATIONS:
return getPageLocations();
case UNENCODED_BYTE_ARRAY_DATA_BYTES:
return getUnencodedByteArrayDataBytes();
}
throw new java.lang.IllegalStateException();
}
/** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
public boolean isSet(_Fields field) {
if (field == null) {
throw new java.lang.IllegalArgumentException();
}
switch (field) {
case PAGE_LOCATIONS:
return isSetPageLocations();
case UNENCODED_BYTE_ARRAY_DATA_BYTES:
return isSetUnencodedByteArrayDataBytes();
}
throw new java.lang.IllegalStateException();
}
@Override
public boolean equals(java.lang.Object that) {
if (that instanceof OffsetIndex)
return this.equals((OffsetIndex)that);
return false;
}
public boolean equals(OffsetIndex that) {
if (that == null)
return false;
if (this == that)
return true;
boolean this_present_page_locations = true && this.isSetPageLocations();
boolean that_present_page_locations = true && that.isSetPageLocations();
if (this_present_page_locations || that_present_page_locations) {
if (!(this_present_page_locations && that_present_page_locations))
return false;
if (!this.page_locations.equals(that.page_locations))
return false;
}
boolean this_present_unencoded_byte_array_data_bytes = true && this.isSetUnencodedByteArrayDataBytes();
boolean that_present_unencoded_byte_array_data_bytes = true && that.isSetUnencodedByteArrayDataBytes();
if (this_present_unencoded_byte_array_data_bytes || that_present_unencoded_byte_array_data_bytes) {
if (!(this_present_unencoded_byte_array_data_bytes && that_present_unencoded_byte_array_data_bytes))
return false;
if (!this.unencoded_byte_array_data_bytes.equals(that.unencoded_byte_array_data_bytes))
return false;
}
return true;
}
@Override
public int hashCode() {
int hashCode = 1;
hashCode = hashCode * 8191 + ((isSetPageLocations()) ? 131071 : 524287);
if (isSetPageLocations())
hashCode = hashCode * 8191 + page_locations.hashCode();
hashCode = hashCode * 8191 + ((isSetUnencodedByteArrayDataBytes()) ? 131071 : 524287);
if (isSetUnencodedByteArrayDataBytes())
hashCode = hashCode * 8191 + unencoded_byte_array_data_bytes.hashCode();
return hashCode;
}
@Override
public int compareTo(OffsetIndex other) {
if (!getClass().equals(other.getClass())) {
return getClass().getName().compareTo(other.getClass().getName());
}
int lastComparison = 0;
lastComparison = java.lang.Boolean.compare(isSetPageLocations(), other.isSetPageLocations());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetPageLocations()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.page_locations, other.page_locations);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = java.lang.Boolean.compare(isSetUnencodedByteArrayDataBytes(), other.isSetUnencodedByteArrayDataBytes());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetUnencodedByteArrayDataBytes()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.unencoded_byte_array_data_bytes, other.unencoded_byte_array_data_bytes);
if (lastComparison != 0) {
return lastComparison;
}
}
return 0;
}
@org.apache.thrift.annotation.Nullable
public _Fields fieldForId(int fieldId) {
return _Fields.findByThriftId(fieldId);
}
public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
scheme(iprot).read(iprot, this);
}
public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
scheme(oprot).write(oprot, this);
}
@Override
public java.lang.String toString() {
java.lang.StringBuilder sb = new java.lang.StringBuilder("OffsetIndex(");
boolean first = true;
sb.append("page_locations:");
if (this.page_locations == null) {
sb.append("null");
} else {
sb.append(this.page_locations);
}
first = false;
if (isSetUnencodedByteArrayDataBytes()) {
if (!first) sb.append(", ");
sb.append("unencoded_byte_array_data_bytes:");
if (this.unencoded_byte_array_data_bytes == null) {
sb.append("null");
} else {
sb.append(this.unencoded_byte_array_data_bytes);
}
first = false;
}
sb.append(")");
return sb.toString();
}
public void validate() throws org.apache.thrift.TException {
// check for required fields
if (page_locations == null) {
throw new org.apache.thrift.protocol.TProtocolException("Required field 'page_locations' was not present! Struct: " + toString());
}
// check for sub-struct validity
}
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
try {
write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
} catch (org.apache.thrift.TException te) {
throw new java.io.IOException(te);
}
}
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
try {
read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
} catch (org.apache.thrift.TException te) {
throw new java.io.IOException(te);
}
}
private static class OffsetIndexStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
public OffsetIndexStandardScheme getScheme() {
return new OffsetIndexStandardScheme();
}
}
private static class OffsetIndexStandardScheme extends org.apache.thrift.scheme.StandardScheme<OffsetIndex> {
public void read(org.apache.thrift.protocol.TProtocol iprot, OffsetIndex struct) throws org.apache.thrift.TException {
org.apache.thrift.protocol.TField schemeField;
iprot.readStructBegin();
while (true)
{
schemeField = iprot.readFieldBegin();
if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
break;
}
switch (schemeField.id) {
case 1: // PAGE_LOCATIONS
if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list80 = iprot.readListBegin();
struct.page_locations = new java.util.ArrayList<PageLocation>(_list80.size);
@org.apache.thrift.annotation.Nullable PageLocation _elem81;
for (int _i82 = 0; _i82 < _list80.size; ++_i82)
{
_elem81 = new PageLocation();
_elem81.read(iprot);
struct.page_locations.add(_elem81);
}
iprot.readListEnd();
}
struct.setPageLocationsIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 2: // UNENCODED_BYTE_ARRAY_DATA_BYTES
if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list83 = iprot.readListBegin();
struct.unencoded_byte_array_data_bytes = new java.util.ArrayList<java.lang.Long>(_list83.size);
long _elem84;
for (int _i85 = 0; _i85 < _list83.size; ++_i85)
{
_elem84 = iprot.readI64();
struct.unencoded_byte_array_data_bytes.add(_elem84);
}
iprot.readListEnd();
}
struct.setUnencodedByteArrayDataBytesIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
iprot.readFieldEnd();
}
iprot.readStructEnd();
// check for required fields of primitive type, which can't be checked in the validate method
struct.validate();
}
public void write(org.apache.thrift.protocol.TProtocol oprot, OffsetIndex struct) throws org.apache.thrift.TException {
struct.validate();
oprot.writeStructBegin(STRUCT_DESC);
if (struct.page_locations != null) {
oprot.writeFieldBegin(PAGE_LOCATIONS_FIELD_DESC);
{
oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.page_locations.size()));
for (PageLocation _iter86 : struct.page_locations)
{
_iter86.write(oprot);
}
oprot.writeListEnd();
}
oprot.writeFieldEnd();
}
if (struct.unencoded_byte_array_data_bytes != null) {
if (struct.isSetUnencodedByteArrayDataBytes()) {
oprot.writeFieldBegin(UNENCODED_BYTE_ARRAY_DATA_BYTES_FIELD_DESC);
{
oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.unencoded_byte_array_data_bytes.size()));
for (long _iter87 : struct.unencoded_byte_array_data_bytes)
{
oprot.writeI64(_iter87);
}
oprot.writeListEnd();
}
oprot.writeFieldEnd();
}
}
oprot.writeFieldStop();
oprot.writeStructEnd();
}
}
private static class OffsetIndexTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
public OffsetIndexTupleScheme getScheme() {
return new OffsetIndexTupleScheme();
}
}
private static class OffsetIndexTupleScheme extends org.apache.thrift.scheme.TupleScheme<OffsetIndex> {
@Override
public void write(org.apache.thrift.protocol.TProtocol prot, OffsetIndex struct) throws org.apache.thrift.TException {
org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
{
oprot.writeI32(struct.page_locations.size());
for (PageLocation _iter88 : struct.page_locations)
{
_iter88.write(oprot);
}
}
java.util.BitSet optionals = new java.util.BitSet();
if (struct.isSetUnencodedByteArrayDataBytes()) {
optionals.set(0);
}
oprot.writeBitSet(optionals, 1);
if (struct.isSetUnencodedByteArrayDataBytes()) {
{
oprot.writeI32(struct.unencoded_byte_array_data_bytes.size());
for (long _iter89 : struct.unencoded_byte_array_data_bytes)
{
oprot.writeI64(_iter89);
}
}
}
}
@Override
public void read(org.apache.thrift.protocol.TProtocol prot, OffsetIndex struct) throws org.apache.thrift.TException {
org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
{
org.apache.thrift.protocol.TList _list90 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
struct.page_locations = new java.util.ArrayList<PageLocation>(_list90.size);
@org.apache.thrift.annotation.Nullable PageLocation _elem91;
for (int _i92 = 0; _i92 < _list90.size; ++_i92)
{
_elem91 = new PageLocation();
_elem91.read(iprot);
struct.page_locations.add(_elem91);
}
}
struct.setPageLocationsIsSet(true);
java.util.BitSet incoming = iprot.readBitSet(1);
if (incoming.get(0)) {
{
org.apache.thrift.protocol.TList _list93 = iprot.readListBegin(org.apache.thrift.protocol.TType.I64);
struct.unencoded_byte_array_data_bytes = new java.util.ArrayList<java.lang.Long>(_list93.size);
long _elem94;
for (int _i95 = 0; _i95 < _list93.size; ++_i95)
{
_elem94 = iprot.readI64();
struct.unencoded_byte_array_data_bytes.add(_elem94);
}
}
struct.setUnencodedByteArrayDataBytesIsSet(true);
}
}
}
private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
}
}