TIcebergDeleteFileDesc.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.doris.thrift;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.16.0)", date = "2026-05-14")
public class TIcebergDeleteFileDesc implements org.apache.thrift.TBase<TIcebergDeleteFileDesc, TIcebergDeleteFileDesc._Fields>, java.io.Serializable, Cloneable, Comparable<TIcebergDeleteFileDesc> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIcebergDeleteFileDesc");

  private static final org.apache.thrift.protocol.TField PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("path", org.apache.thrift.protocol.TType.STRING, (short)1);
  private static final org.apache.thrift.protocol.TField POSITION_LOWER_BOUND_FIELD_DESC = new org.apache.thrift.protocol.TField("position_lower_bound", org.apache.thrift.protocol.TType.I64, (short)2);
  private static final org.apache.thrift.protocol.TField POSITION_UPPER_BOUND_FIELD_DESC = new org.apache.thrift.protocol.TField("position_upper_bound", org.apache.thrift.protocol.TType.I64, (short)3);
  private static final org.apache.thrift.protocol.TField FIELD_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("field_ids", org.apache.thrift.protocol.TType.LIST, (short)4);
  private static final org.apache.thrift.protocol.TField CONTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("content", org.apache.thrift.protocol.TType.I32, (short)5);
  private static final org.apache.thrift.protocol.TField CONTENT_OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("content_offset", org.apache.thrift.protocol.TType.I64, (short)6);
  private static final org.apache.thrift.protocol.TField CONTENT_SIZE_IN_BYTES_FIELD_DESC = new org.apache.thrift.protocol.TField("content_size_in_bytes", org.apache.thrift.protocol.TType.I64, (short)7);
  private static final org.apache.thrift.protocol.TField FILE_FORMAT_FIELD_DESC = new org.apache.thrift.protocol.TField("file_format", org.apache.thrift.protocol.TType.I32, (short)8);

  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TIcebergDeleteFileDescStandardSchemeFactory();
  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TIcebergDeleteFileDescTupleSchemeFactory();

  public @org.apache.thrift.annotation.Nullable java.lang.String path; // optional
  public long position_lower_bound; // optional
  public long position_upper_bound; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Integer> field_ids; // optional
  public int content; // optional
  public long content_offset; // optional
  public long content_size_in_bytes; // optional
  /**
   * 
   * @see TFileFormatType
   */
  public @org.apache.thrift.annotation.Nullable TFileFormatType file_format; // 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 {
    PATH((short)1, "path"),
    POSITION_LOWER_BOUND((short)2, "position_lower_bound"),
    POSITION_UPPER_BOUND((short)3, "position_upper_bound"),
    FIELD_IDS((short)4, "field_ids"),
    CONTENT((short)5, "content"),
    CONTENT_OFFSET((short)6, "content_offset"),
    CONTENT_SIZE_IN_BYTES((short)7, "content_size_in_bytes"),
    /**
     * 
     * @see TFileFormatType
     */
    FILE_FORMAT((short)8, "file_format");

    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: // PATH
          return PATH;
        case 2: // POSITION_LOWER_BOUND
          return POSITION_LOWER_BOUND;
        case 3: // POSITION_UPPER_BOUND
          return POSITION_UPPER_BOUND;
        case 4: // FIELD_IDS
          return FIELD_IDS;
        case 5: // CONTENT
          return CONTENT;
        case 6: // CONTENT_OFFSET
          return CONTENT_OFFSET;
        case 7: // CONTENT_SIZE_IN_BYTES
          return CONTENT_SIZE_IN_BYTES;
        case 8: // FILE_FORMAT
          return FILE_FORMAT;
        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 int __POSITION_LOWER_BOUND_ISSET_ID = 0;
  private static final int __POSITION_UPPER_BOUND_ISSET_ID = 1;
  private static final int __CONTENT_ISSET_ID = 2;
  private static final int __CONTENT_OFFSET_ISSET_ID = 3;
  private static final int __CONTENT_SIZE_IN_BYTES_ISSET_ID = 4;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.PATH,_Fields.POSITION_LOWER_BOUND,_Fields.POSITION_UPPER_BOUND,_Fields.FIELD_IDS,_Fields.CONTENT,_Fields.CONTENT_OFFSET,_Fields.CONTENT_SIZE_IN_BYTES,_Fields.FILE_FORMAT};
  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.PATH, new org.apache.thrift.meta_data.FieldMetaData("path", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.POSITION_LOWER_BOUND, new org.apache.thrift.meta_data.FieldMetaData("position_lower_bound", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.POSITION_UPPER_BOUND, new org.apache.thrift.meta_data.FieldMetaData("position_upper_bound", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.FIELD_IDS, new org.apache.thrift.meta_data.FieldMetaData("field_ids", 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.I32))));
    tmpMap.put(_Fields.CONTENT, new org.apache.thrift.meta_data.FieldMetaData("content", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.CONTENT_OFFSET, new org.apache.thrift.meta_data.FieldMetaData("content_offset", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.CONTENT_SIZE_IN_BYTES, new org.apache.thrift.meta_data.FieldMetaData("content_size_in_bytes", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.FILE_FORMAT, new org.apache.thrift.meta_data.FieldMetaData("file_format", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TFileFormatType.class)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TIcebergDeleteFileDesc.class, metaDataMap);
  }

  public TIcebergDeleteFileDesc() {
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TIcebergDeleteFileDesc(TIcebergDeleteFileDesc other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetPath()) {
      this.path = other.path;
    }
    this.position_lower_bound = other.position_lower_bound;
    this.position_upper_bound = other.position_upper_bound;
    if (other.isSetFieldIds()) {
      java.util.List<java.lang.Integer> __this__field_ids = new java.util.ArrayList<java.lang.Integer>(other.field_ids);
      this.field_ids = __this__field_ids;
    }
    this.content = other.content;
    this.content_offset = other.content_offset;
    this.content_size_in_bytes = other.content_size_in_bytes;
    if (other.isSetFileFormat()) {
      this.file_format = other.file_format;
    }
  }

  public TIcebergDeleteFileDesc deepCopy() {
    return new TIcebergDeleteFileDesc(this);
  }

  @Override
  public void clear() {
    this.path = null;
    setPositionLowerBoundIsSet(false);
    this.position_lower_bound = 0;
    setPositionUpperBoundIsSet(false);
    this.position_upper_bound = 0;
    this.field_ids = null;
    setContentIsSet(false);
    this.content = 0;
    setContentOffsetIsSet(false);
    this.content_offset = 0;
    setContentSizeInBytesIsSet(false);
    this.content_size_in_bytes = 0;
    this.file_format = null;
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getPath() {
    return this.path;
  }

  public TIcebergDeleteFileDesc setPath(@org.apache.thrift.annotation.Nullable java.lang.String path) {
    this.path = path;
    return this;
  }

  public void unsetPath() {
    this.path = null;
  }

  /** Returns true if field path is set (has been assigned a value) and false otherwise */
  public boolean isSetPath() {
    return this.path != null;
  }

  public void setPathIsSet(boolean value) {
    if (!value) {
      this.path = null;
    }
  }

  public long getPositionLowerBound() {
    return this.position_lower_bound;
  }

  public TIcebergDeleteFileDesc setPositionLowerBound(long position_lower_bound) {
    this.position_lower_bound = position_lower_bound;
    setPositionLowerBoundIsSet(true);
    return this;
  }

  public void unsetPositionLowerBound() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __POSITION_LOWER_BOUND_ISSET_ID);
  }

  /** Returns true if field position_lower_bound is set (has been assigned a value) and false otherwise */
  public boolean isSetPositionLowerBound() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __POSITION_LOWER_BOUND_ISSET_ID);
  }

  public void setPositionLowerBoundIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __POSITION_LOWER_BOUND_ISSET_ID, value);
  }

  public long getPositionUpperBound() {
    return this.position_upper_bound;
  }

  public TIcebergDeleteFileDesc setPositionUpperBound(long position_upper_bound) {
    this.position_upper_bound = position_upper_bound;
    setPositionUpperBoundIsSet(true);
    return this;
  }

  public void unsetPositionUpperBound() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __POSITION_UPPER_BOUND_ISSET_ID);
  }

  /** Returns true if field position_upper_bound is set (has been assigned a value) and false otherwise */
  public boolean isSetPositionUpperBound() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __POSITION_UPPER_BOUND_ISSET_ID);
  }

  public void setPositionUpperBoundIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __POSITION_UPPER_BOUND_ISSET_ID, value);
  }

  public int getFieldIdsSize() {
    return (this.field_ids == null) ? 0 : this.field_ids.size();
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<java.lang.Integer> getFieldIdsIterator() {
    return (this.field_ids == null) ? null : this.field_ids.iterator();
  }

  public void addToFieldIds(int elem) {
    if (this.field_ids == null) {
      this.field_ids = new java.util.ArrayList<java.lang.Integer>();
    }
    this.field_ids.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<java.lang.Integer> getFieldIds() {
    return this.field_ids;
  }

  public TIcebergDeleteFileDesc setFieldIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Integer> field_ids) {
    this.field_ids = field_ids;
    return this;
  }

  public void unsetFieldIds() {
    this.field_ids = null;
  }

  /** Returns true if field field_ids is set (has been assigned a value) and false otherwise */
  public boolean isSetFieldIds() {
    return this.field_ids != null;
  }

  public void setFieldIdsIsSet(boolean value) {
    if (!value) {
      this.field_ids = null;
    }
  }

  public int getContent() {
    return this.content;
  }

  public TIcebergDeleteFileDesc setContent(int content) {
    this.content = content;
    setContentIsSet(true);
    return this;
  }

  public void unsetContent() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __CONTENT_ISSET_ID);
  }

  /** Returns true if field content is set (has been assigned a value) and false otherwise */
  public boolean isSetContent() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __CONTENT_ISSET_ID);
  }

  public void setContentIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CONTENT_ISSET_ID, value);
  }

  public long getContentOffset() {
    return this.content_offset;
  }

  public TIcebergDeleteFileDesc setContentOffset(long content_offset) {
    this.content_offset = content_offset;
    setContentOffsetIsSet(true);
    return this;
  }

  public void unsetContentOffset() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __CONTENT_OFFSET_ISSET_ID);
  }

  /** Returns true if field content_offset is set (has been assigned a value) and false otherwise */
  public boolean isSetContentOffset() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __CONTENT_OFFSET_ISSET_ID);
  }

  public void setContentOffsetIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CONTENT_OFFSET_ISSET_ID, value);
  }

  public long getContentSizeInBytes() {
    return this.content_size_in_bytes;
  }

  public TIcebergDeleteFileDesc setContentSizeInBytes(long content_size_in_bytes) {
    this.content_size_in_bytes = content_size_in_bytes;
    setContentSizeInBytesIsSet(true);
    return this;
  }

  public void unsetContentSizeInBytes() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __CONTENT_SIZE_IN_BYTES_ISSET_ID);
  }

  /** Returns true if field content_size_in_bytes is set (has been assigned a value) and false otherwise */
  public boolean isSetContentSizeInBytes() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __CONTENT_SIZE_IN_BYTES_ISSET_ID);
  }

  public void setContentSizeInBytesIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CONTENT_SIZE_IN_BYTES_ISSET_ID, value);
  }

  /**
   * 
   * @see TFileFormatType
   */
  @org.apache.thrift.annotation.Nullable
  public TFileFormatType getFileFormat() {
    return this.file_format;
  }

  /**
   * 
   * @see TFileFormatType
   */
  public TIcebergDeleteFileDesc setFileFormat(@org.apache.thrift.annotation.Nullable TFileFormatType file_format) {
    this.file_format = file_format;
    return this;
  }

  public void unsetFileFormat() {
    this.file_format = null;
  }

  /** Returns true if field file_format is set (has been assigned a value) and false otherwise */
  public boolean isSetFileFormat() {
    return this.file_format != null;
  }

  public void setFileFormatIsSet(boolean value) {
    if (!value) {
      this.file_format = null;
    }
  }

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case PATH:
      if (value == null) {
        unsetPath();
      } else {
        setPath((java.lang.String)value);
      }
      break;

    case POSITION_LOWER_BOUND:
      if (value == null) {
        unsetPositionLowerBound();
      } else {
        setPositionLowerBound((java.lang.Long)value);
      }
      break;

    case POSITION_UPPER_BOUND:
      if (value == null) {
        unsetPositionUpperBound();
      } else {
        setPositionUpperBound((java.lang.Long)value);
      }
      break;

    case FIELD_IDS:
      if (value == null) {
        unsetFieldIds();
      } else {
        setFieldIds((java.util.List<java.lang.Integer>)value);
      }
      break;

    case CONTENT:
      if (value == null) {
        unsetContent();
      } else {
        setContent((java.lang.Integer)value);
      }
      break;

    case CONTENT_OFFSET:
      if (value == null) {
        unsetContentOffset();
      } else {
        setContentOffset((java.lang.Long)value);
      }
      break;

    case CONTENT_SIZE_IN_BYTES:
      if (value == null) {
        unsetContentSizeInBytes();
      } else {
        setContentSizeInBytes((java.lang.Long)value);
      }
      break;

    case FILE_FORMAT:
      if (value == null) {
        unsetFileFormat();
      } else {
        setFileFormat((TFileFormatType)value);
      }
      break;

    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.Object getFieldValue(_Fields field) {
    switch (field) {
    case PATH:
      return getPath();

    case POSITION_LOWER_BOUND:
      return getPositionLowerBound();

    case POSITION_UPPER_BOUND:
      return getPositionUpperBound();

    case FIELD_IDS:
      return getFieldIds();

    case CONTENT:
      return getContent();

    case CONTENT_OFFSET:
      return getContentOffset();

    case CONTENT_SIZE_IN_BYTES:
      return getContentSizeInBytes();

    case FILE_FORMAT:
      return getFileFormat();

    }
    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 PATH:
      return isSetPath();
    case POSITION_LOWER_BOUND:
      return isSetPositionLowerBound();
    case POSITION_UPPER_BOUND:
      return isSetPositionUpperBound();
    case FIELD_IDS:
      return isSetFieldIds();
    case CONTENT:
      return isSetContent();
    case CONTENT_OFFSET:
      return isSetContentOffset();
    case CONTENT_SIZE_IN_BYTES:
      return isSetContentSizeInBytes();
    case FILE_FORMAT:
      return isSetFileFormat();
    }
    throw new java.lang.IllegalStateException();
  }

  @Override
  public boolean equals(java.lang.Object that) {
    if (that instanceof TIcebergDeleteFileDesc)
      return this.equals((TIcebergDeleteFileDesc)that);
    return false;
  }

  public boolean equals(TIcebergDeleteFileDesc that) {
    if (that == null)
      return false;
    if (this == that)
      return true;

    boolean this_present_path = true && this.isSetPath();
    boolean that_present_path = true && that.isSetPath();
    if (this_present_path || that_present_path) {
      if (!(this_present_path && that_present_path))
        return false;
      if (!this.path.equals(that.path))
        return false;
    }

    boolean this_present_position_lower_bound = true && this.isSetPositionLowerBound();
    boolean that_present_position_lower_bound = true && that.isSetPositionLowerBound();
    if (this_present_position_lower_bound || that_present_position_lower_bound) {
      if (!(this_present_position_lower_bound && that_present_position_lower_bound))
        return false;
      if (this.position_lower_bound != that.position_lower_bound)
        return false;
    }

    boolean this_present_position_upper_bound = true && this.isSetPositionUpperBound();
    boolean that_present_position_upper_bound = true && that.isSetPositionUpperBound();
    if (this_present_position_upper_bound || that_present_position_upper_bound) {
      if (!(this_present_position_upper_bound && that_present_position_upper_bound))
        return false;
      if (this.position_upper_bound != that.position_upper_bound)
        return false;
    }

    boolean this_present_field_ids = true && this.isSetFieldIds();
    boolean that_present_field_ids = true && that.isSetFieldIds();
    if (this_present_field_ids || that_present_field_ids) {
      if (!(this_present_field_ids && that_present_field_ids))
        return false;
      if (!this.field_ids.equals(that.field_ids))
        return false;
    }

    boolean this_present_content = true && this.isSetContent();
    boolean that_present_content = true && that.isSetContent();
    if (this_present_content || that_present_content) {
      if (!(this_present_content && that_present_content))
        return false;
      if (this.content != that.content)
        return false;
    }

    boolean this_present_content_offset = true && this.isSetContentOffset();
    boolean that_present_content_offset = true && that.isSetContentOffset();
    if (this_present_content_offset || that_present_content_offset) {
      if (!(this_present_content_offset && that_present_content_offset))
        return false;
      if (this.content_offset != that.content_offset)
        return false;
    }

    boolean this_present_content_size_in_bytes = true && this.isSetContentSizeInBytes();
    boolean that_present_content_size_in_bytes = true && that.isSetContentSizeInBytes();
    if (this_present_content_size_in_bytes || that_present_content_size_in_bytes) {
      if (!(this_present_content_size_in_bytes && that_present_content_size_in_bytes))
        return false;
      if (this.content_size_in_bytes != that.content_size_in_bytes)
        return false;
    }

    boolean this_present_file_format = true && this.isSetFileFormat();
    boolean that_present_file_format = true && that.isSetFileFormat();
    if (this_present_file_format || that_present_file_format) {
      if (!(this_present_file_format && that_present_file_format))
        return false;
      if (!this.file_format.equals(that.file_format))
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    int hashCode = 1;

    hashCode = hashCode * 8191 + ((isSetPath()) ? 131071 : 524287);
    if (isSetPath())
      hashCode = hashCode * 8191 + path.hashCode();

    hashCode = hashCode * 8191 + ((isSetPositionLowerBound()) ? 131071 : 524287);
    if (isSetPositionLowerBound())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(position_lower_bound);

    hashCode = hashCode * 8191 + ((isSetPositionUpperBound()) ? 131071 : 524287);
    if (isSetPositionUpperBound())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(position_upper_bound);

    hashCode = hashCode * 8191 + ((isSetFieldIds()) ? 131071 : 524287);
    if (isSetFieldIds())
      hashCode = hashCode * 8191 + field_ids.hashCode();

    hashCode = hashCode * 8191 + ((isSetContent()) ? 131071 : 524287);
    if (isSetContent())
      hashCode = hashCode * 8191 + content;

    hashCode = hashCode * 8191 + ((isSetContentOffset()) ? 131071 : 524287);
    if (isSetContentOffset())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(content_offset);

    hashCode = hashCode * 8191 + ((isSetContentSizeInBytes()) ? 131071 : 524287);
    if (isSetContentSizeInBytes())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(content_size_in_bytes);

    hashCode = hashCode * 8191 + ((isSetFileFormat()) ? 131071 : 524287);
    if (isSetFileFormat())
      hashCode = hashCode * 8191 + file_format.getValue();

    return hashCode;
  }

  @Override
  public int compareTo(TIcebergDeleteFileDesc other) {
    if (!getClass().equals(other.getClass())) {
      return getClass().getName().compareTo(other.getClass().getName());
    }

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetPath(), other.isSetPath());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPath()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.path, other.path);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPositionLowerBound(), other.isSetPositionLowerBound());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPositionLowerBound()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.position_lower_bound, other.position_lower_bound);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPositionUpperBound(), other.isSetPositionUpperBound());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPositionUpperBound()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.position_upper_bound, other.position_upper_bound);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFieldIds(), other.isSetFieldIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFieldIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.field_ids, other.field_ids);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetContent(), other.isSetContent());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContent()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.content, other.content);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetContentOffset(), other.isSetContentOffset());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContentOffset()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.content_offset, other.content_offset);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetContentSizeInBytes(), other.isSetContentSizeInBytes());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContentSizeInBytes()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.content_size_in_bytes, other.content_size_in_bytes);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFileFormat(), other.isSetFileFormat());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFileFormat()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file_format, other.file_format);
      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("TIcebergDeleteFileDesc(");
    boolean first = true;

    if (isSetPath()) {
      sb.append("path:");
      if (this.path == null) {
        sb.append("null");
      } else {
        sb.append(this.path);
      }
      first = false;
    }
    if (isSetPositionLowerBound()) {
      if (!first) sb.append(", ");
      sb.append("position_lower_bound:");
      sb.append(this.position_lower_bound);
      first = false;
    }
    if (isSetPositionUpperBound()) {
      if (!first) sb.append(", ");
      sb.append("position_upper_bound:");
      sb.append(this.position_upper_bound);
      first = false;
    }
    if (isSetFieldIds()) {
      if (!first) sb.append(", ");
      sb.append("field_ids:");
      if (this.field_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.field_ids);
      }
      first = false;
    }
    if (isSetContent()) {
      if (!first) sb.append(", ");
      sb.append("content:");
      sb.append(this.content);
      first = false;
    }
    if (isSetContentOffset()) {
      if (!first) sb.append(", ");
      sb.append("content_offset:");
      sb.append(this.content_offset);
      first = false;
    }
    if (isSetContentSizeInBytes()) {
      if (!first) sb.append(", ");
      sb.append("content_size_in_bytes:");
      sb.append(this.content_size_in_bytes);
      first = false;
    }
    if (isSetFileFormat()) {
      if (!first) sb.append(", ");
      sb.append("file_format:");
      if (this.file_format == null) {
        sb.append("null");
      } else {
        sb.append(this.file_format);
      }
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // 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 {
      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
      __isset_bitfield = 0;
      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 TIcebergDeleteFileDescStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TIcebergDeleteFileDescStandardScheme getScheme() {
      return new TIcebergDeleteFileDescStandardScheme();
    }
  }

  private static class TIcebergDeleteFileDescStandardScheme extends org.apache.thrift.scheme.StandardScheme<TIcebergDeleteFileDesc> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TIcebergDeleteFileDesc 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: // PATH
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.path = iprot.readString();
              struct.setPathIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // POSITION_LOWER_BOUND
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.position_lower_bound = iprot.readI64();
              struct.setPositionLowerBoundIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // POSITION_UPPER_BOUND
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.position_upper_bound = iprot.readI64();
              struct.setPositionUpperBoundIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // FIELD_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list102 = iprot.readListBegin();
                struct.field_ids = new java.util.ArrayList<java.lang.Integer>(_list102.size);
                int _elem103;
                for (int _i104 = 0; _i104 < _list102.size; ++_i104)
                {
                  _elem103 = iprot.readI32();
                  struct.field_ids.add(_elem103);
                }
                iprot.readListEnd();
              }
              struct.setFieldIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // CONTENT
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.content = iprot.readI32();
              struct.setContentIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // CONTENT_OFFSET
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.content_offset = iprot.readI64();
              struct.setContentOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // CONTENT_SIZE_IN_BYTES
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.content_size_in_bytes = iprot.readI64();
              struct.setContentSizeInBytesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // FILE_FORMAT
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.file_format = org.apache.doris.thrift.TFileFormatType.findByValue(iprot.readI32());
              struct.setFileFormatIsSet(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, TIcebergDeleteFileDesc struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.path != null) {
        if (struct.isSetPath()) {
          oprot.writeFieldBegin(PATH_FIELD_DESC);
          oprot.writeString(struct.path);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetPositionLowerBound()) {
        oprot.writeFieldBegin(POSITION_LOWER_BOUND_FIELD_DESC);
        oprot.writeI64(struct.position_lower_bound);
        oprot.writeFieldEnd();
      }
      if (struct.isSetPositionUpperBound()) {
        oprot.writeFieldBegin(POSITION_UPPER_BOUND_FIELD_DESC);
        oprot.writeI64(struct.position_upper_bound);
        oprot.writeFieldEnd();
      }
      if (struct.field_ids != null) {
        if (struct.isSetFieldIds()) {
          oprot.writeFieldBegin(FIELD_IDS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, struct.field_ids.size()));
            for (int _iter105 : struct.field_ids)
            {
              oprot.writeI32(_iter105);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetContent()) {
        oprot.writeFieldBegin(CONTENT_FIELD_DESC);
        oprot.writeI32(struct.content);
        oprot.writeFieldEnd();
      }
      if (struct.isSetContentOffset()) {
        oprot.writeFieldBegin(CONTENT_OFFSET_FIELD_DESC);
        oprot.writeI64(struct.content_offset);
        oprot.writeFieldEnd();
      }
      if (struct.isSetContentSizeInBytes()) {
        oprot.writeFieldBegin(CONTENT_SIZE_IN_BYTES_FIELD_DESC);
        oprot.writeI64(struct.content_size_in_bytes);
        oprot.writeFieldEnd();
      }
      if (struct.file_format != null) {
        if (struct.isSetFileFormat()) {
          oprot.writeFieldBegin(FILE_FORMAT_FIELD_DESC);
          oprot.writeI32(struct.file_format.getValue());
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class TIcebergDeleteFileDescTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TIcebergDeleteFileDescTupleScheme getScheme() {
      return new TIcebergDeleteFileDescTupleScheme();
    }
  }

  private static class TIcebergDeleteFileDescTupleScheme extends org.apache.thrift.scheme.TupleScheme<TIcebergDeleteFileDesc> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TIcebergDeleteFileDesc struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetPath()) {
        optionals.set(0);
      }
      if (struct.isSetPositionLowerBound()) {
        optionals.set(1);
      }
      if (struct.isSetPositionUpperBound()) {
        optionals.set(2);
      }
      if (struct.isSetFieldIds()) {
        optionals.set(3);
      }
      if (struct.isSetContent()) {
        optionals.set(4);
      }
      if (struct.isSetContentOffset()) {
        optionals.set(5);
      }
      if (struct.isSetContentSizeInBytes()) {
        optionals.set(6);
      }
      if (struct.isSetFileFormat()) {
        optionals.set(7);
      }
      oprot.writeBitSet(optionals, 8);
      if (struct.isSetPath()) {
        oprot.writeString(struct.path);
      }
      if (struct.isSetPositionLowerBound()) {
        oprot.writeI64(struct.position_lower_bound);
      }
      if (struct.isSetPositionUpperBound()) {
        oprot.writeI64(struct.position_upper_bound);
      }
      if (struct.isSetFieldIds()) {
        {
          oprot.writeI32(struct.field_ids.size());
          for (int _iter106 : struct.field_ids)
          {
            oprot.writeI32(_iter106);
          }
        }
      }
      if (struct.isSetContent()) {
        oprot.writeI32(struct.content);
      }
      if (struct.isSetContentOffset()) {
        oprot.writeI64(struct.content_offset);
      }
      if (struct.isSetContentSizeInBytes()) {
        oprot.writeI64(struct.content_size_in_bytes);
      }
      if (struct.isSetFileFormat()) {
        oprot.writeI32(struct.file_format.getValue());
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TIcebergDeleteFileDesc struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(8);
      if (incoming.get(0)) {
        struct.path = iprot.readString();
        struct.setPathIsSet(true);
      }
      if (incoming.get(1)) {
        struct.position_lower_bound = iprot.readI64();
        struct.setPositionLowerBoundIsSet(true);
      }
      if (incoming.get(2)) {
        struct.position_upper_bound = iprot.readI64();
        struct.setPositionUpperBoundIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.thrift.protocol.TList _list107 = iprot.readListBegin(org.apache.thrift.protocol.TType.I32);
          struct.field_ids = new java.util.ArrayList<java.lang.Integer>(_list107.size);
          int _elem108;
          for (int _i109 = 0; _i109 < _list107.size; ++_i109)
          {
            _elem108 = iprot.readI32();
            struct.field_ids.add(_elem108);
          }
        }
        struct.setFieldIdsIsSet(true);
      }
      if (incoming.get(4)) {
        struct.content = iprot.readI32();
        struct.setContentIsSet(true);
      }
      if (incoming.get(5)) {
        struct.content_offset = iprot.readI64();
        struct.setContentOffsetIsSet(true);
      }
      if (incoming.get(6)) {
        struct.content_size_in_bytes = iprot.readI64();
        struct.setContentSizeInBytesIsSet(true);
      }
      if (incoming.get(7)) {
        struct.file_format = org.apache.doris.thrift.TFileFormatType.findByValue(iprot.readI32());
        struct.setFileFormatIsSet(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();
  }
}