TBrokerRangeDesc.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 TBrokerRangeDesc implements org.apache.thrift.TBase<TBrokerRangeDesc, TBrokerRangeDesc._Fields>, java.io.Serializable, Cloneable, Comparable<TBrokerRangeDesc> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TBrokerRangeDesc");

  private static final org.apache.thrift.protocol.TField FILE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("file_type", org.apache.thrift.protocol.TType.I32, (short)1);
  private static final org.apache.thrift.protocol.TField FORMAT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("format_type", org.apache.thrift.protocol.TType.I32, (short)2);
  private static final org.apache.thrift.protocol.TField SPLITTABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("splittable", org.apache.thrift.protocol.TType.BOOL, (short)3);
  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)4);
  private static final org.apache.thrift.protocol.TField START_OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("start_offset", org.apache.thrift.protocol.TType.I64, (short)5);
  private static final org.apache.thrift.protocol.TField SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("size", org.apache.thrift.protocol.TType.I64, (short)6);
  private static final org.apache.thrift.protocol.TField LOAD_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("load_id", org.apache.thrift.protocol.TType.STRUCT, (short)7);
  private static final org.apache.thrift.protocol.TField FILE_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("file_size", org.apache.thrift.protocol.TType.I64, (short)8);
  private static final org.apache.thrift.protocol.TField NUM_OF_COLUMNS_FROM_FILE_FIELD_DESC = new org.apache.thrift.protocol.TField("num_of_columns_from_file", org.apache.thrift.protocol.TType.I32, (short)9);
  private static final org.apache.thrift.protocol.TField COLUMNS_FROM_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("columns_from_path", org.apache.thrift.protocol.TType.LIST, (short)10);
  private static final org.apache.thrift.protocol.TField STRIP_OUTER_ARRAY_FIELD_DESC = new org.apache.thrift.protocol.TField("strip_outer_array", org.apache.thrift.protocol.TType.BOOL, (short)11);
  private static final org.apache.thrift.protocol.TField JSONPATHS_FIELD_DESC = new org.apache.thrift.protocol.TField("jsonpaths", org.apache.thrift.protocol.TType.STRING, (short)12);
  private static final org.apache.thrift.protocol.TField JSON_ROOT_FIELD_DESC = new org.apache.thrift.protocol.TField("json_root", org.apache.thrift.protocol.TType.STRING, (short)13);
  private static final org.apache.thrift.protocol.TField NUM_AS_STRING_FIELD_DESC = new org.apache.thrift.protocol.TField("num_as_string", org.apache.thrift.protocol.TType.BOOL, (short)14);
  private static final org.apache.thrift.protocol.TField FUZZY_PARSE_FIELD_DESC = new org.apache.thrift.protocol.TField("fuzzy_parse", org.apache.thrift.protocol.TType.BOOL, (short)15);
  private static final org.apache.thrift.protocol.TField HDFS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("hdfs_params", org.apache.thrift.protocol.TType.STRUCT, (short)16);
  private static final org.apache.thrift.protocol.TField READ_JSON_BY_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("read_json_by_line", org.apache.thrift.protocol.TType.BOOL, (short)17);
  private static final org.apache.thrift.protocol.TField READ_BY_COLUMN_DEF_FIELD_DESC = new org.apache.thrift.protocol.TField("read_by_column_def", org.apache.thrift.protocol.TType.BOOL, (short)18);
  private static final org.apache.thrift.protocol.TField HEADER_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("header_type", org.apache.thrift.protocol.TType.STRING, (short)19);
  private static final org.apache.thrift.protocol.TField SKIP_LINES_FIELD_DESC = new org.apache.thrift.protocol.TField("skip_lines", org.apache.thrift.protocol.TType.I32, (short)20);

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

  /**
   * 
   * @see org.apache.doris.thrift.TFileType
   */
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileType file_type; // required
  /**
   * 
   * @see TFileFormatType
   */
  public @org.apache.thrift.annotation.Nullable TFileFormatType format_type; // required
  public boolean splittable; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String path; // required
  public long start_offset; // required
  public long size; // required
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TUniqueId load_id; // optional
  public long file_size; // optional
  public int num_of_columns_from_file; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> columns_from_path; // optional
  public boolean strip_outer_array; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String jsonpaths; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String json_root; // optional
  public boolean num_as_string; // optional
  public boolean fuzzy_parse; // optional
  public @org.apache.thrift.annotation.Nullable THdfsParams hdfs_params; // optional
  public boolean read_json_by_line; // optional
  public boolean read_by_column_def; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String header_type; // optional
  public int skip_lines; // 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 {
    /**
     * 
     * @see org.apache.doris.thrift.TFileType
     */
    FILE_TYPE((short)1, "file_type"),
    /**
     * 
     * @see TFileFormatType
     */
    FORMAT_TYPE((short)2, "format_type"),
    SPLITTABLE((short)3, "splittable"),
    PATH((short)4, "path"),
    START_OFFSET((short)5, "start_offset"),
    SIZE((short)6, "size"),
    LOAD_ID((short)7, "load_id"),
    FILE_SIZE((short)8, "file_size"),
    NUM_OF_COLUMNS_FROM_FILE((short)9, "num_of_columns_from_file"),
    COLUMNS_FROM_PATH((short)10, "columns_from_path"),
    STRIP_OUTER_ARRAY((short)11, "strip_outer_array"),
    JSONPATHS((short)12, "jsonpaths"),
    JSON_ROOT((short)13, "json_root"),
    NUM_AS_STRING((short)14, "num_as_string"),
    FUZZY_PARSE((short)15, "fuzzy_parse"),
    HDFS_PARAMS((short)16, "hdfs_params"),
    READ_JSON_BY_LINE((short)17, "read_json_by_line"),
    READ_BY_COLUMN_DEF((short)18, "read_by_column_def"),
    HEADER_TYPE((short)19, "header_type"),
    SKIP_LINES((short)20, "skip_lines");

    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: // FILE_TYPE
          return FILE_TYPE;
        case 2: // FORMAT_TYPE
          return FORMAT_TYPE;
        case 3: // SPLITTABLE
          return SPLITTABLE;
        case 4: // PATH
          return PATH;
        case 5: // START_OFFSET
          return START_OFFSET;
        case 6: // SIZE
          return SIZE;
        case 7: // LOAD_ID
          return LOAD_ID;
        case 8: // FILE_SIZE
          return FILE_SIZE;
        case 9: // NUM_OF_COLUMNS_FROM_FILE
          return NUM_OF_COLUMNS_FROM_FILE;
        case 10: // COLUMNS_FROM_PATH
          return COLUMNS_FROM_PATH;
        case 11: // STRIP_OUTER_ARRAY
          return STRIP_OUTER_ARRAY;
        case 12: // JSONPATHS
          return JSONPATHS;
        case 13: // JSON_ROOT
          return JSON_ROOT;
        case 14: // NUM_AS_STRING
          return NUM_AS_STRING;
        case 15: // FUZZY_PARSE
          return FUZZY_PARSE;
        case 16: // HDFS_PARAMS
          return HDFS_PARAMS;
        case 17: // READ_JSON_BY_LINE
          return READ_JSON_BY_LINE;
        case 18: // READ_BY_COLUMN_DEF
          return READ_BY_COLUMN_DEF;
        case 19: // HEADER_TYPE
          return HEADER_TYPE;
        case 20: // SKIP_LINES
          return SKIP_LINES;
        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 __SPLITTABLE_ISSET_ID = 0;
  private static final int __START_OFFSET_ISSET_ID = 1;
  private static final int __SIZE_ISSET_ID = 2;
  private static final int __FILE_SIZE_ISSET_ID = 3;
  private static final int __NUM_OF_COLUMNS_FROM_FILE_ISSET_ID = 4;
  private static final int __STRIP_OUTER_ARRAY_ISSET_ID = 5;
  private static final int __NUM_AS_STRING_ISSET_ID = 6;
  private static final int __FUZZY_PARSE_ISSET_ID = 7;
  private static final int __READ_JSON_BY_LINE_ISSET_ID = 8;
  private static final int __READ_BY_COLUMN_DEF_ISSET_ID = 9;
  private static final int __SKIP_LINES_ISSET_ID = 10;
  private short __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.LOAD_ID,_Fields.FILE_SIZE,_Fields.NUM_OF_COLUMNS_FROM_FILE,_Fields.COLUMNS_FROM_PATH,_Fields.STRIP_OUTER_ARRAY,_Fields.JSONPATHS,_Fields.JSON_ROOT,_Fields.NUM_AS_STRING,_Fields.FUZZY_PARSE,_Fields.HDFS_PARAMS,_Fields.READ_JSON_BY_LINE,_Fields.READ_BY_COLUMN_DEF,_Fields.HEADER_TYPE,_Fields.SKIP_LINES};
  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.FILE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("file_type", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TFileType.class)));
    tmpMap.put(_Fields.FORMAT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("format_type", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TFileFormatType.class)));
    tmpMap.put(_Fields.SPLITTABLE, new org.apache.thrift.meta_data.FieldMetaData("splittable", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.PATH, new org.apache.thrift.meta_data.FieldMetaData("path", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.START_OFFSET, new org.apache.thrift.meta_data.FieldMetaData("start_offset", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.SIZE, new org.apache.thrift.meta_data.FieldMetaData("size", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.LOAD_ID, new org.apache.thrift.meta_data.FieldMetaData("load_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TUniqueId.class)));
    tmpMap.put(_Fields.FILE_SIZE, new org.apache.thrift.meta_data.FieldMetaData("file_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.NUM_OF_COLUMNS_FROM_FILE, new org.apache.thrift.meta_data.FieldMetaData("num_of_columns_from_file", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.COLUMNS_FROM_PATH, new org.apache.thrift.meta_data.FieldMetaData("columns_from_path", 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.STRING))));
    tmpMap.put(_Fields.STRIP_OUTER_ARRAY, new org.apache.thrift.meta_data.FieldMetaData("strip_outer_array", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.JSONPATHS, new org.apache.thrift.meta_data.FieldMetaData("jsonpaths", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.JSON_ROOT, new org.apache.thrift.meta_data.FieldMetaData("json_root", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.NUM_AS_STRING, new org.apache.thrift.meta_data.FieldMetaData("num_as_string", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.FUZZY_PARSE, new org.apache.thrift.meta_data.FieldMetaData("fuzzy_parse", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.HDFS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("hdfs_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, THdfsParams.class)));
    tmpMap.put(_Fields.READ_JSON_BY_LINE, new org.apache.thrift.meta_data.FieldMetaData("read_json_by_line", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.READ_BY_COLUMN_DEF, new org.apache.thrift.meta_data.FieldMetaData("read_by_column_def", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.HEADER_TYPE, new org.apache.thrift.meta_data.FieldMetaData("header_type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SKIP_LINES, new org.apache.thrift.meta_data.FieldMetaData("skip_lines", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TBrokerRangeDesc.class, metaDataMap);
  }

  public TBrokerRangeDesc() {
  }

  public TBrokerRangeDesc(
    org.apache.doris.thrift.TFileType file_type,
    TFileFormatType format_type,
    boolean splittable,
    java.lang.String path,
    long start_offset,
    long size)
  {
    this();
    this.file_type = file_type;
    this.format_type = format_type;
    this.splittable = splittable;
    setSplittableIsSet(true);
    this.path = path;
    this.start_offset = start_offset;
    setStartOffsetIsSet(true);
    this.size = size;
    setSizeIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TBrokerRangeDesc(TBrokerRangeDesc other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetFileType()) {
      this.file_type = other.file_type;
    }
    if (other.isSetFormatType()) {
      this.format_type = other.format_type;
    }
    this.splittable = other.splittable;
    if (other.isSetPath()) {
      this.path = other.path;
    }
    this.start_offset = other.start_offset;
    this.size = other.size;
    if (other.isSetLoadId()) {
      this.load_id = new org.apache.doris.thrift.TUniqueId(other.load_id);
    }
    this.file_size = other.file_size;
    this.num_of_columns_from_file = other.num_of_columns_from_file;
    if (other.isSetColumnsFromPath()) {
      java.util.List<java.lang.String> __this__columns_from_path = new java.util.ArrayList<java.lang.String>(other.columns_from_path);
      this.columns_from_path = __this__columns_from_path;
    }
    this.strip_outer_array = other.strip_outer_array;
    if (other.isSetJsonpaths()) {
      this.jsonpaths = other.jsonpaths;
    }
    if (other.isSetJsonRoot()) {
      this.json_root = other.json_root;
    }
    this.num_as_string = other.num_as_string;
    this.fuzzy_parse = other.fuzzy_parse;
    if (other.isSetHdfsParams()) {
      this.hdfs_params = new THdfsParams(other.hdfs_params);
    }
    this.read_json_by_line = other.read_json_by_line;
    this.read_by_column_def = other.read_by_column_def;
    if (other.isSetHeaderType()) {
      this.header_type = other.header_type;
    }
    this.skip_lines = other.skip_lines;
  }

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

  @Override
  public void clear() {
    this.file_type = null;
    this.format_type = null;
    setSplittableIsSet(false);
    this.splittable = false;
    this.path = null;
    setStartOffsetIsSet(false);
    this.start_offset = 0;
    setSizeIsSet(false);
    this.size = 0;
    this.load_id = null;
    setFileSizeIsSet(false);
    this.file_size = 0;
    setNumOfColumnsFromFileIsSet(false);
    this.num_of_columns_from_file = 0;
    this.columns_from_path = null;
    setStripOuterArrayIsSet(false);
    this.strip_outer_array = false;
    this.jsonpaths = null;
    this.json_root = null;
    setNumAsStringIsSet(false);
    this.num_as_string = false;
    setFuzzyParseIsSet(false);
    this.fuzzy_parse = false;
    this.hdfs_params = null;
    setReadJsonByLineIsSet(false);
    this.read_json_by_line = false;
    setReadByColumnDefIsSet(false);
    this.read_by_column_def = false;
    this.header_type = null;
    setSkipLinesIsSet(false);
    this.skip_lines = 0;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileType
   */
  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TFileType getFileType() {
    return this.file_type;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileType
   */
  public TBrokerRangeDesc setFileType(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileType file_type) {
    this.file_type = file_type;
    return this;
  }

  public void unsetFileType() {
    this.file_type = null;
  }

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

  public void setFileTypeIsSet(boolean value) {
    if (!value) {
      this.file_type = null;
    }
  }

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

  /**
   * 
   * @see TFileFormatType
   */
  public TBrokerRangeDesc setFormatType(@org.apache.thrift.annotation.Nullable TFileFormatType format_type) {
    this.format_type = format_type;
    return this;
  }

  public void unsetFormatType() {
    this.format_type = null;
  }

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

  public void setFormatTypeIsSet(boolean value) {
    if (!value) {
      this.format_type = null;
    }
  }

  public boolean isSplittable() {
    return this.splittable;
  }

  public TBrokerRangeDesc setSplittable(boolean splittable) {
    this.splittable = splittable;
    setSplittableIsSet(true);
    return this;
  }

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

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

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

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

  public TBrokerRangeDesc 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 getStartOffset() {
    return this.start_offset;
  }

  public TBrokerRangeDesc setStartOffset(long start_offset) {
    this.start_offset = start_offset;
    setStartOffsetIsSet(true);
    return this;
  }

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

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

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

  public long getSize() {
    return this.size;
  }

  public TBrokerRangeDesc setSize(long size) {
    this.size = size;
    setSizeIsSet(true);
    return this;
  }

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

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

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

  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TUniqueId getLoadId() {
    return this.load_id;
  }

  public TBrokerRangeDesc setLoadId(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TUniqueId load_id) {
    this.load_id = load_id;
    return this;
  }

  public void unsetLoadId() {
    this.load_id = null;
  }

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

  public void setLoadIdIsSet(boolean value) {
    if (!value) {
      this.load_id = null;
    }
  }

  public long getFileSize() {
    return this.file_size;
  }

  public TBrokerRangeDesc setFileSize(long file_size) {
    this.file_size = file_size;
    setFileSizeIsSet(true);
    return this;
  }

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

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

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

  public int getNumOfColumnsFromFile() {
    return this.num_of_columns_from_file;
  }

  public TBrokerRangeDesc setNumOfColumnsFromFile(int num_of_columns_from_file) {
    this.num_of_columns_from_file = num_of_columns_from_file;
    setNumOfColumnsFromFileIsSet(true);
    return this;
  }

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

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

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

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

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

  public void addToColumnsFromPath(java.lang.String elem) {
    if (this.columns_from_path == null) {
      this.columns_from_path = new java.util.ArrayList<java.lang.String>();
    }
    this.columns_from_path.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<java.lang.String> getColumnsFromPath() {
    return this.columns_from_path;
  }

  public TBrokerRangeDesc setColumnsFromPath(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> columns_from_path) {
    this.columns_from_path = columns_from_path;
    return this;
  }

  public void unsetColumnsFromPath() {
    this.columns_from_path = null;
  }

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

  public void setColumnsFromPathIsSet(boolean value) {
    if (!value) {
      this.columns_from_path = null;
    }
  }

  public boolean isStripOuterArray() {
    return this.strip_outer_array;
  }

  public TBrokerRangeDesc setStripOuterArray(boolean strip_outer_array) {
    this.strip_outer_array = strip_outer_array;
    setStripOuterArrayIsSet(true);
    return this;
  }

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

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

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

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

  public TBrokerRangeDesc setJsonpaths(@org.apache.thrift.annotation.Nullable java.lang.String jsonpaths) {
    this.jsonpaths = jsonpaths;
    return this;
  }

  public void unsetJsonpaths() {
    this.jsonpaths = null;
  }

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

  public void setJsonpathsIsSet(boolean value) {
    if (!value) {
      this.jsonpaths = null;
    }
  }

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

  public TBrokerRangeDesc setJsonRoot(@org.apache.thrift.annotation.Nullable java.lang.String json_root) {
    this.json_root = json_root;
    return this;
  }

  public void unsetJsonRoot() {
    this.json_root = null;
  }

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

  public void setJsonRootIsSet(boolean value) {
    if (!value) {
      this.json_root = null;
    }
  }

  public boolean isNumAsString() {
    return this.num_as_string;
  }

  public TBrokerRangeDesc setNumAsString(boolean num_as_string) {
    this.num_as_string = num_as_string;
    setNumAsStringIsSet(true);
    return this;
  }

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

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

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

  public boolean isFuzzyParse() {
    return this.fuzzy_parse;
  }

  public TBrokerRangeDesc setFuzzyParse(boolean fuzzy_parse) {
    this.fuzzy_parse = fuzzy_parse;
    setFuzzyParseIsSet(true);
    return this;
  }

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

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

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

  @org.apache.thrift.annotation.Nullable
  public THdfsParams getHdfsParams() {
    return this.hdfs_params;
  }

  public TBrokerRangeDesc setHdfsParams(@org.apache.thrift.annotation.Nullable THdfsParams hdfs_params) {
    this.hdfs_params = hdfs_params;
    return this;
  }

  public void unsetHdfsParams() {
    this.hdfs_params = null;
  }

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

  public void setHdfsParamsIsSet(boolean value) {
    if (!value) {
      this.hdfs_params = null;
    }
  }

  public boolean isReadJsonByLine() {
    return this.read_json_by_line;
  }

  public TBrokerRangeDesc setReadJsonByLine(boolean read_json_by_line) {
    this.read_json_by_line = read_json_by_line;
    setReadJsonByLineIsSet(true);
    return this;
  }

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

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

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

  public boolean isReadByColumnDef() {
    return this.read_by_column_def;
  }

  public TBrokerRangeDesc setReadByColumnDef(boolean read_by_column_def) {
    this.read_by_column_def = read_by_column_def;
    setReadByColumnDefIsSet(true);
    return this;
  }

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

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

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

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

  public TBrokerRangeDesc setHeaderType(@org.apache.thrift.annotation.Nullable java.lang.String header_type) {
    this.header_type = header_type;
    return this;
  }

  public void unsetHeaderType() {
    this.header_type = null;
  }

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

  public void setHeaderTypeIsSet(boolean value) {
    if (!value) {
      this.header_type = null;
    }
  }

  public int getSkipLines() {
    return this.skip_lines;
  }

  public TBrokerRangeDesc setSkipLines(int skip_lines) {
    this.skip_lines = skip_lines;
    setSkipLinesIsSet(true);
    return this;
  }

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

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

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

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case FILE_TYPE:
      if (value == null) {
        unsetFileType();
      } else {
        setFileType((org.apache.doris.thrift.TFileType)value);
      }
      break;

    case FORMAT_TYPE:
      if (value == null) {
        unsetFormatType();
      } else {
        setFormatType((TFileFormatType)value);
      }
      break;

    case SPLITTABLE:
      if (value == null) {
        unsetSplittable();
      } else {
        setSplittable((java.lang.Boolean)value);
      }
      break;

    case PATH:
      if (value == null) {
        unsetPath();
      } else {
        setPath((java.lang.String)value);
      }
      break;

    case START_OFFSET:
      if (value == null) {
        unsetStartOffset();
      } else {
        setStartOffset((java.lang.Long)value);
      }
      break;

    case SIZE:
      if (value == null) {
        unsetSize();
      } else {
        setSize((java.lang.Long)value);
      }
      break;

    case LOAD_ID:
      if (value == null) {
        unsetLoadId();
      } else {
        setLoadId((org.apache.doris.thrift.TUniqueId)value);
      }
      break;

    case FILE_SIZE:
      if (value == null) {
        unsetFileSize();
      } else {
        setFileSize((java.lang.Long)value);
      }
      break;

    case NUM_OF_COLUMNS_FROM_FILE:
      if (value == null) {
        unsetNumOfColumnsFromFile();
      } else {
        setNumOfColumnsFromFile((java.lang.Integer)value);
      }
      break;

    case COLUMNS_FROM_PATH:
      if (value == null) {
        unsetColumnsFromPath();
      } else {
        setColumnsFromPath((java.util.List<java.lang.String>)value);
      }
      break;

    case STRIP_OUTER_ARRAY:
      if (value == null) {
        unsetStripOuterArray();
      } else {
        setStripOuterArray((java.lang.Boolean)value);
      }
      break;

    case JSONPATHS:
      if (value == null) {
        unsetJsonpaths();
      } else {
        setJsonpaths((java.lang.String)value);
      }
      break;

    case JSON_ROOT:
      if (value == null) {
        unsetJsonRoot();
      } else {
        setJsonRoot((java.lang.String)value);
      }
      break;

    case NUM_AS_STRING:
      if (value == null) {
        unsetNumAsString();
      } else {
        setNumAsString((java.lang.Boolean)value);
      }
      break;

    case FUZZY_PARSE:
      if (value == null) {
        unsetFuzzyParse();
      } else {
        setFuzzyParse((java.lang.Boolean)value);
      }
      break;

    case HDFS_PARAMS:
      if (value == null) {
        unsetHdfsParams();
      } else {
        setHdfsParams((THdfsParams)value);
      }
      break;

    case READ_JSON_BY_LINE:
      if (value == null) {
        unsetReadJsonByLine();
      } else {
        setReadJsonByLine((java.lang.Boolean)value);
      }
      break;

    case READ_BY_COLUMN_DEF:
      if (value == null) {
        unsetReadByColumnDef();
      } else {
        setReadByColumnDef((java.lang.Boolean)value);
      }
      break;

    case HEADER_TYPE:
      if (value == null) {
        unsetHeaderType();
      } else {
        setHeaderType((java.lang.String)value);
      }
      break;

    case SKIP_LINES:
      if (value == null) {
        unsetSkipLines();
      } else {
        setSkipLines((java.lang.Integer)value);
      }
      break;

    }
  }

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

    case FORMAT_TYPE:
      return getFormatType();

    case SPLITTABLE:
      return isSplittable();

    case PATH:
      return getPath();

    case START_OFFSET:
      return getStartOffset();

    case SIZE:
      return getSize();

    case LOAD_ID:
      return getLoadId();

    case FILE_SIZE:
      return getFileSize();

    case NUM_OF_COLUMNS_FROM_FILE:
      return getNumOfColumnsFromFile();

    case COLUMNS_FROM_PATH:
      return getColumnsFromPath();

    case STRIP_OUTER_ARRAY:
      return isStripOuterArray();

    case JSONPATHS:
      return getJsonpaths();

    case JSON_ROOT:
      return getJsonRoot();

    case NUM_AS_STRING:
      return isNumAsString();

    case FUZZY_PARSE:
      return isFuzzyParse();

    case HDFS_PARAMS:
      return getHdfsParams();

    case READ_JSON_BY_LINE:
      return isReadJsonByLine();

    case READ_BY_COLUMN_DEF:
      return isReadByColumnDef();

    case HEADER_TYPE:
      return getHeaderType();

    case SKIP_LINES:
      return getSkipLines();

    }
    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 FILE_TYPE:
      return isSetFileType();
    case FORMAT_TYPE:
      return isSetFormatType();
    case SPLITTABLE:
      return isSetSplittable();
    case PATH:
      return isSetPath();
    case START_OFFSET:
      return isSetStartOffset();
    case SIZE:
      return isSetSize();
    case LOAD_ID:
      return isSetLoadId();
    case FILE_SIZE:
      return isSetFileSize();
    case NUM_OF_COLUMNS_FROM_FILE:
      return isSetNumOfColumnsFromFile();
    case COLUMNS_FROM_PATH:
      return isSetColumnsFromPath();
    case STRIP_OUTER_ARRAY:
      return isSetStripOuterArray();
    case JSONPATHS:
      return isSetJsonpaths();
    case JSON_ROOT:
      return isSetJsonRoot();
    case NUM_AS_STRING:
      return isSetNumAsString();
    case FUZZY_PARSE:
      return isSetFuzzyParse();
    case HDFS_PARAMS:
      return isSetHdfsParams();
    case READ_JSON_BY_LINE:
      return isSetReadJsonByLine();
    case READ_BY_COLUMN_DEF:
      return isSetReadByColumnDef();
    case HEADER_TYPE:
      return isSetHeaderType();
    case SKIP_LINES:
      return isSetSkipLines();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_file_type = true && this.isSetFileType();
    boolean that_present_file_type = true && that.isSetFileType();
    if (this_present_file_type || that_present_file_type) {
      if (!(this_present_file_type && that_present_file_type))
        return false;
      if (!this.file_type.equals(that.file_type))
        return false;
    }

    boolean this_present_format_type = true && this.isSetFormatType();
    boolean that_present_format_type = true && that.isSetFormatType();
    if (this_present_format_type || that_present_format_type) {
      if (!(this_present_format_type && that_present_format_type))
        return false;
      if (!this.format_type.equals(that.format_type))
        return false;
    }

    boolean this_present_splittable = true;
    boolean that_present_splittable = true;
    if (this_present_splittable || that_present_splittable) {
      if (!(this_present_splittable && that_present_splittable))
        return false;
      if (this.splittable != that.splittable)
        return false;
    }

    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_start_offset = true;
    boolean that_present_start_offset = true;
    if (this_present_start_offset || that_present_start_offset) {
      if (!(this_present_start_offset && that_present_start_offset))
        return false;
      if (this.start_offset != that.start_offset)
        return false;
    }

    boolean this_present_size = true;
    boolean that_present_size = true;
    if (this_present_size || that_present_size) {
      if (!(this_present_size && that_present_size))
        return false;
      if (this.size != that.size)
        return false;
    }

    boolean this_present_load_id = true && this.isSetLoadId();
    boolean that_present_load_id = true && that.isSetLoadId();
    if (this_present_load_id || that_present_load_id) {
      if (!(this_present_load_id && that_present_load_id))
        return false;
      if (!this.load_id.equals(that.load_id))
        return false;
    }

    boolean this_present_file_size = true && this.isSetFileSize();
    boolean that_present_file_size = true && that.isSetFileSize();
    if (this_present_file_size || that_present_file_size) {
      if (!(this_present_file_size && that_present_file_size))
        return false;
      if (this.file_size != that.file_size)
        return false;
    }

    boolean this_present_num_of_columns_from_file = true && this.isSetNumOfColumnsFromFile();
    boolean that_present_num_of_columns_from_file = true && that.isSetNumOfColumnsFromFile();
    if (this_present_num_of_columns_from_file || that_present_num_of_columns_from_file) {
      if (!(this_present_num_of_columns_from_file && that_present_num_of_columns_from_file))
        return false;
      if (this.num_of_columns_from_file != that.num_of_columns_from_file)
        return false;
    }

    boolean this_present_columns_from_path = true && this.isSetColumnsFromPath();
    boolean that_present_columns_from_path = true && that.isSetColumnsFromPath();
    if (this_present_columns_from_path || that_present_columns_from_path) {
      if (!(this_present_columns_from_path && that_present_columns_from_path))
        return false;
      if (!this.columns_from_path.equals(that.columns_from_path))
        return false;
    }

    boolean this_present_strip_outer_array = true && this.isSetStripOuterArray();
    boolean that_present_strip_outer_array = true && that.isSetStripOuterArray();
    if (this_present_strip_outer_array || that_present_strip_outer_array) {
      if (!(this_present_strip_outer_array && that_present_strip_outer_array))
        return false;
      if (this.strip_outer_array != that.strip_outer_array)
        return false;
    }

    boolean this_present_jsonpaths = true && this.isSetJsonpaths();
    boolean that_present_jsonpaths = true && that.isSetJsonpaths();
    if (this_present_jsonpaths || that_present_jsonpaths) {
      if (!(this_present_jsonpaths && that_present_jsonpaths))
        return false;
      if (!this.jsonpaths.equals(that.jsonpaths))
        return false;
    }

    boolean this_present_json_root = true && this.isSetJsonRoot();
    boolean that_present_json_root = true && that.isSetJsonRoot();
    if (this_present_json_root || that_present_json_root) {
      if (!(this_present_json_root && that_present_json_root))
        return false;
      if (!this.json_root.equals(that.json_root))
        return false;
    }

    boolean this_present_num_as_string = true && this.isSetNumAsString();
    boolean that_present_num_as_string = true && that.isSetNumAsString();
    if (this_present_num_as_string || that_present_num_as_string) {
      if (!(this_present_num_as_string && that_present_num_as_string))
        return false;
      if (this.num_as_string != that.num_as_string)
        return false;
    }

    boolean this_present_fuzzy_parse = true && this.isSetFuzzyParse();
    boolean that_present_fuzzy_parse = true && that.isSetFuzzyParse();
    if (this_present_fuzzy_parse || that_present_fuzzy_parse) {
      if (!(this_present_fuzzy_parse && that_present_fuzzy_parse))
        return false;
      if (this.fuzzy_parse != that.fuzzy_parse)
        return false;
    }

    boolean this_present_hdfs_params = true && this.isSetHdfsParams();
    boolean that_present_hdfs_params = true && that.isSetHdfsParams();
    if (this_present_hdfs_params || that_present_hdfs_params) {
      if (!(this_present_hdfs_params && that_present_hdfs_params))
        return false;
      if (!this.hdfs_params.equals(that.hdfs_params))
        return false;
    }

    boolean this_present_read_json_by_line = true && this.isSetReadJsonByLine();
    boolean that_present_read_json_by_line = true && that.isSetReadJsonByLine();
    if (this_present_read_json_by_line || that_present_read_json_by_line) {
      if (!(this_present_read_json_by_line && that_present_read_json_by_line))
        return false;
      if (this.read_json_by_line != that.read_json_by_line)
        return false;
    }

    boolean this_present_read_by_column_def = true && this.isSetReadByColumnDef();
    boolean that_present_read_by_column_def = true && that.isSetReadByColumnDef();
    if (this_present_read_by_column_def || that_present_read_by_column_def) {
      if (!(this_present_read_by_column_def && that_present_read_by_column_def))
        return false;
      if (this.read_by_column_def != that.read_by_column_def)
        return false;
    }

    boolean this_present_header_type = true && this.isSetHeaderType();
    boolean that_present_header_type = true && that.isSetHeaderType();
    if (this_present_header_type || that_present_header_type) {
      if (!(this_present_header_type && that_present_header_type))
        return false;
      if (!this.header_type.equals(that.header_type))
        return false;
    }

    boolean this_present_skip_lines = true && this.isSetSkipLines();
    boolean that_present_skip_lines = true && that.isSetSkipLines();
    if (this_present_skip_lines || that_present_skip_lines) {
      if (!(this_present_skip_lines && that_present_skip_lines))
        return false;
      if (this.skip_lines != that.skip_lines)
        return false;
    }

    return true;
  }

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

    hashCode = hashCode * 8191 + ((isSetFileType()) ? 131071 : 524287);
    if (isSetFileType())
      hashCode = hashCode * 8191 + file_type.getValue();

    hashCode = hashCode * 8191 + ((isSetFormatType()) ? 131071 : 524287);
    if (isSetFormatType())
      hashCode = hashCode * 8191 + format_type.getValue();

    hashCode = hashCode * 8191 + ((splittable) ? 131071 : 524287);

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

    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(start_offset);

    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(size);

    hashCode = hashCode * 8191 + ((isSetLoadId()) ? 131071 : 524287);
    if (isSetLoadId())
      hashCode = hashCode * 8191 + load_id.hashCode();

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

    hashCode = hashCode * 8191 + ((isSetNumOfColumnsFromFile()) ? 131071 : 524287);
    if (isSetNumOfColumnsFromFile())
      hashCode = hashCode * 8191 + num_of_columns_from_file;

    hashCode = hashCode * 8191 + ((isSetColumnsFromPath()) ? 131071 : 524287);
    if (isSetColumnsFromPath())
      hashCode = hashCode * 8191 + columns_from_path.hashCode();

    hashCode = hashCode * 8191 + ((isSetStripOuterArray()) ? 131071 : 524287);
    if (isSetStripOuterArray())
      hashCode = hashCode * 8191 + ((strip_outer_array) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetJsonpaths()) ? 131071 : 524287);
    if (isSetJsonpaths())
      hashCode = hashCode * 8191 + jsonpaths.hashCode();

    hashCode = hashCode * 8191 + ((isSetJsonRoot()) ? 131071 : 524287);
    if (isSetJsonRoot())
      hashCode = hashCode * 8191 + json_root.hashCode();

    hashCode = hashCode * 8191 + ((isSetNumAsString()) ? 131071 : 524287);
    if (isSetNumAsString())
      hashCode = hashCode * 8191 + ((num_as_string) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetFuzzyParse()) ? 131071 : 524287);
    if (isSetFuzzyParse())
      hashCode = hashCode * 8191 + ((fuzzy_parse) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetHdfsParams()) ? 131071 : 524287);
    if (isSetHdfsParams())
      hashCode = hashCode * 8191 + hdfs_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetReadJsonByLine()) ? 131071 : 524287);
    if (isSetReadJsonByLine())
      hashCode = hashCode * 8191 + ((read_json_by_line) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetReadByColumnDef()) ? 131071 : 524287);
    if (isSetReadByColumnDef())
      hashCode = hashCode * 8191 + ((read_by_column_def) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetHeaderType()) ? 131071 : 524287);
    if (isSetHeaderType())
      hashCode = hashCode * 8191 + header_type.hashCode();

    hashCode = hashCode * 8191 + ((isSetSkipLines()) ? 131071 : 524287);
    if (isSetSkipLines())
      hashCode = hashCode * 8191 + skip_lines;

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetFileType(), other.isSetFileType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFileType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file_type, other.file_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFormatType(), other.isSetFormatType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFormatType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.format_type, other.format_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSplittable(), other.isSetSplittable());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSplittable()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.splittable, other.splittable);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    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(isSetStartOffset(), other.isSetStartOffset());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStartOffset()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.start_offset, other.start_offset);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSize(), other.isSetSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.size, other.size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetLoadId(), other.isSetLoadId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLoadId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.load_id, other.load_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFileSize(), other.isSetFileSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFileSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file_size, other.file_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetNumOfColumnsFromFile(), other.isSetNumOfColumnsFromFile());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetNumOfColumnsFromFile()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.num_of_columns_from_file, other.num_of_columns_from_file);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetColumnsFromPath(), other.isSetColumnsFromPath());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetColumnsFromPath()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.columns_from_path, other.columns_from_path);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetStripOuterArray(), other.isSetStripOuterArray());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStripOuterArray()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.strip_outer_array, other.strip_outer_array);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJsonpaths(), other.isSetJsonpaths());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJsonpaths()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jsonpaths, other.jsonpaths);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJsonRoot(), other.isSetJsonRoot());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJsonRoot()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.json_root, other.json_root);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetNumAsString(), other.isSetNumAsString());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetNumAsString()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.num_as_string, other.num_as_string);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFuzzyParse(), other.isSetFuzzyParse());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFuzzyParse()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fuzzy_parse, other.fuzzy_parse);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetHdfsParams(), other.isSetHdfsParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHdfsParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hdfs_params, other.hdfs_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetReadJsonByLine(), other.isSetReadJsonByLine());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetReadJsonByLine()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.read_json_by_line, other.read_json_by_line);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetReadByColumnDef(), other.isSetReadByColumnDef());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetReadByColumnDef()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.read_by_column_def, other.read_by_column_def);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetHeaderType(), other.isSetHeaderType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHeaderType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.header_type, other.header_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSkipLines(), other.isSetSkipLines());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSkipLines()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.skip_lines, other.skip_lines);
      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("TBrokerRangeDesc(");
    boolean first = true;

    sb.append("file_type:");
    if (this.file_type == null) {
      sb.append("null");
    } else {
      sb.append(this.file_type);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("format_type:");
    if (this.format_type == null) {
      sb.append("null");
    } else {
      sb.append(this.format_type);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("splittable:");
    sb.append(this.splittable);
    first = false;
    if (!first) sb.append(", ");
    sb.append("path:");
    if (this.path == null) {
      sb.append("null");
    } else {
      sb.append(this.path);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("start_offset:");
    sb.append(this.start_offset);
    first = false;
    if (!first) sb.append(", ");
    sb.append("size:");
    sb.append(this.size);
    first = false;
    if (isSetLoadId()) {
      if (!first) sb.append(", ");
      sb.append("load_id:");
      if (this.load_id == null) {
        sb.append("null");
      } else {
        sb.append(this.load_id);
      }
      first = false;
    }
    if (isSetFileSize()) {
      if (!first) sb.append(", ");
      sb.append("file_size:");
      sb.append(this.file_size);
      first = false;
    }
    if (isSetNumOfColumnsFromFile()) {
      if (!first) sb.append(", ");
      sb.append("num_of_columns_from_file:");
      sb.append(this.num_of_columns_from_file);
      first = false;
    }
    if (isSetColumnsFromPath()) {
      if (!first) sb.append(", ");
      sb.append("columns_from_path:");
      if (this.columns_from_path == null) {
        sb.append("null");
      } else {
        sb.append(this.columns_from_path);
      }
      first = false;
    }
    if (isSetStripOuterArray()) {
      if (!first) sb.append(", ");
      sb.append("strip_outer_array:");
      sb.append(this.strip_outer_array);
      first = false;
    }
    if (isSetJsonpaths()) {
      if (!first) sb.append(", ");
      sb.append("jsonpaths:");
      if (this.jsonpaths == null) {
        sb.append("null");
      } else {
        sb.append(this.jsonpaths);
      }
      first = false;
    }
    if (isSetJsonRoot()) {
      if (!first) sb.append(", ");
      sb.append("json_root:");
      if (this.json_root == null) {
        sb.append("null");
      } else {
        sb.append(this.json_root);
      }
      first = false;
    }
    if (isSetNumAsString()) {
      if (!first) sb.append(", ");
      sb.append("num_as_string:");
      sb.append(this.num_as_string);
      first = false;
    }
    if (isSetFuzzyParse()) {
      if (!first) sb.append(", ");
      sb.append("fuzzy_parse:");
      sb.append(this.fuzzy_parse);
      first = false;
    }
    if (isSetHdfsParams()) {
      if (!first) sb.append(", ");
      sb.append("hdfs_params:");
      if (this.hdfs_params == null) {
        sb.append("null");
      } else {
        sb.append(this.hdfs_params);
      }
      first = false;
    }
    if (isSetReadJsonByLine()) {
      if (!first) sb.append(", ");
      sb.append("read_json_by_line:");
      sb.append(this.read_json_by_line);
      first = false;
    }
    if (isSetReadByColumnDef()) {
      if (!first) sb.append(", ");
      sb.append("read_by_column_def:");
      sb.append(this.read_by_column_def);
      first = false;
    }
    if (isSetHeaderType()) {
      if (!first) sb.append(", ");
      sb.append("header_type:");
      if (this.header_type == null) {
        sb.append("null");
      } else {
        sb.append(this.header_type);
      }
      first = false;
    }
    if (isSetSkipLines()) {
      if (!first) sb.append(", ");
      sb.append("skip_lines:");
      sb.append(this.skip_lines);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    if (file_type == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'file_type' was not present! Struct: " + toString());
    }
    if (format_type == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'format_type' was not present! Struct: " + toString());
    }
    // alas, we cannot check 'splittable' because it's a primitive and you chose the non-beans generator.
    if (path == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'path' was not present! Struct: " + toString());
    }
    // alas, we cannot check 'start_offset' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'size' because it's a primitive and you chose the non-beans generator.
    // check for sub-struct validity
    if (load_id != null) {
      load_id.validate();
    }
    if (hdfs_params != null) {
      hdfs_params.validate();
    }
  }

  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 TBrokerRangeDescStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TBrokerRangeDescStandardScheme getScheme() {
      return new TBrokerRangeDescStandardScheme();
    }
  }

  private static class TBrokerRangeDescStandardScheme extends org.apache.thrift.scheme.StandardScheme<TBrokerRangeDesc> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TBrokerRangeDesc 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: // FILE_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.file_type = org.apache.doris.thrift.TFileType.findByValue(iprot.readI32());
              struct.setFileTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // FORMAT_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.format_type = org.apache.doris.thrift.TFileFormatType.findByValue(iprot.readI32());
              struct.setFormatTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // SPLITTABLE
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.splittable = iprot.readBool();
              struct.setSplittableIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // 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 5: // START_OFFSET
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.start_offset = iprot.readI64();
              struct.setStartOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.size = iprot.readI64();
              struct.setSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // LOAD_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.load_id = new org.apache.doris.thrift.TUniqueId();
              struct.load_id.read(iprot);
              struct.setLoadIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // FILE_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.file_size = iprot.readI64();
              struct.setFileSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // NUM_OF_COLUMNS_FROM_FILE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.num_of_columns_from_file = iprot.readI32();
              struct.setNumOfColumnsFromFileIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // COLUMNS_FROM_PATH
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                struct.columns_from_path = new java.util.ArrayList<java.lang.String>(_list24.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _elem25;
                for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                {
                  _elem25 = iprot.readString();
                  struct.columns_from_path.add(_elem25);
                }
                iprot.readListEnd();
              }
              struct.setColumnsFromPathIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // STRIP_OUTER_ARRAY
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.strip_outer_array = iprot.readBool();
              struct.setStripOuterArrayIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // JSONPATHS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.jsonpaths = iprot.readString();
              struct.setJsonpathsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // JSON_ROOT
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.json_root = iprot.readString();
              struct.setJsonRootIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // NUM_AS_STRING
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.num_as_string = iprot.readBool();
              struct.setNumAsStringIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // FUZZY_PARSE
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.fuzzy_parse = iprot.readBool();
              struct.setFuzzyParseIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 16: // HDFS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.hdfs_params = new THdfsParams();
              struct.hdfs_params.read(iprot);
              struct.setHdfsParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 17: // READ_JSON_BY_LINE
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.read_json_by_line = iprot.readBool();
              struct.setReadJsonByLineIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 18: // READ_BY_COLUMN_DEF
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.read_by_column_def = iprot.readBool();
              struct.setReadByColumnDefIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 19: // HEADER_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.header_type = iprot.readString();
              struct.setHeaderTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 20: // SKIP_LINES
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.skip_lines = iprot.readI32();
              struct.setSkipLinesIsSet(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
      if (!struct.isSetSplittable()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'splittable' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetStartOffset()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'start_offset' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetSize()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'size' was not found in serialized data! Struct: " + toString());
      }
      struct.validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot, TBrokerRangeDesc struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.file_type != null) {
        oprot.writeFieldBegin(FILE_TYPE_FIELD_DESC);
        oprot.writeI32(struct.file_type.getValue());
        oprot.writeFieldEnd();
      }
      if (struct.format_type != null) {
        oprot.writeFieldBegin(FORMAT_TYPE_FIELD_DESC);
        oprot.writeI32(struct.format_type.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(SPLITTABLE_FIELD_DESC);
      oprot.writeBool(struct.splittable);
      oprot.writeFieldEnd();
      if (struct.path != null) {
        oprot.writeFieldBegin(PATH_FIELD_DESC);
        oprot.writeString(struct.path);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(START_OFFSET_FIELD_DESC);
      oprot.writeI64(struct.start_offset);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SIZE_FIELD_DESC);
      oprot.writeI64(struct.size);
      oprot.writeFieldEnd();
      if (struct.load_id != null) {
        if (struct.isSetLoadId()) {
          oprot.writeFieldBegin(LOAD_ID_FIELD_DESC);
          struct.load_id.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetFileSize()) {
        oprot.writeFieldBegin(FILE_SIZE_FIELD_DESC);
        oprot.writeI64(struct.file_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetNumOfColumnsFromFile()) {
        oprot.writeFieldBegin(NUM_OF_COLUMNS_FROM_FILE_FIELD_DESC);
        oprot.writeI32(struct.num_of_columns_from_file);
        oprot.writeFieldEnd();
      }
      if (struct.columns_from_path != null) {
        if (struct.isSetColumnsFromPath()) {
          oprot.writeFieldBegin(COLUMNS_FROM_PATH_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.columns_from_path.size()));
            for (java.lang.String _iter27 : struct.columns_from_path)
            {
              oprot.writeString(_iter27);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetStripOuterArray()) {
        oprot.writeFieldBegin(STRIP_OUTER_ARRAY_FIELD_DESC);
        oprot.writeBool(struct.strip_outer_array);
        oprot.writeFieldEnd();
      }
      if (struct.jsonpaths != null) {
        if (struct.isSetJsonpaths()) {
          oprot.writeFieldBegin(JSONPATHS_FIELD_DESC);
          oprot.writeString(struct.jsonpaths);
          oprot.writeFieldEnd();
        }
      }
      if (struct.json_root != null) {
        if (struct.isSetJsonRoot()) {
          oprot.writeFieldBegin(JSON_ROOT_FIELD_DESC);
          oprot.writeString(struct.json_root);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetNumAsString()) {
        oprot.writeFieldBegin(NUM_AS_STRING_FIELD_DESC);
        oprot.writeBool(struct.num_as_string);
        oprot.writeFieldEnd();
      }
      if (struct.isSetFuzzyParse()) {
        oprot.writeFieldBegin(FUZZY_PARSE_FIELD_DESC);
        oprot.writeBool(struct.fuzzy_parse);
        oprot.writeFieldEnd();
      }
      if (struct.hdfs_params != null) {
        if (struct.isSetHdfsParams()) {
          oprot.writeFieldBegin(HDFS_PARAMS_FIELD_DESC);
          struct.hdfs_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetReadJsonByLine()) {
        oprot.writeFieldBegin(READ_JSON_BY_LINE_FIELD_DESC);
        oprot.writeBool(struct.read_json_by_line);
        oprot.writeFieldEnd();
      }
      if (struct.isSetReadByColumnDef()) {
        oprot.writeFieldBegin(READ_BY_COLUMN_DEF_FIELD_DESC);
        oprot.writeBool(struct.read_by_column_def);
        oprot.writeFieldEnd();
      }
      if (struct.header_type != null) {
        if (struct.isSetHeaderType()) {
          oprot.writeFieldBegin(HEADER_TYPE_FIELD_DESC);
          oprot.writeString(struct.header_type);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetSkipLines()) {
        oprot.writeFieldBegin(SKIP_LINES_FIELD_DESC);
        oprot.writeI32(struct.skip_lines);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TBrokerRangeDescTupleScheme extends org.apache.thrift.scheme.TupleScheme<TBrokerRangeDesc> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TBrokerRangeDesc struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      oprot.writeI32(struct.file_type.getValue());
      oprot.writeI32(struct.format_type.getValue());
      oprot.writeBool(struct.splittable);
      oprot.writeString(struct.path);
      oprot.writeI64(struct.start_offset);
      oprot.writeI64(struct.size);
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetLoadId()) {
        optionals.set(0);
      }
      if (struct.isSetFileSize()) {
        optionals.set(1);
      }
      if (struct.isSetNumOfColumnsFromFile()) {
        optionals.set(2);
      }
      if (struct.isSetColumnsFromPath()) {
        optionals.set(3);
      }
      if (struct.isSetStripOuterArray()) {
        optionals.set(4);
      }
      if (struct.isSetJsonpaths()) {
        optionals.set(5);
      }
      if (struct.isSetJsonRoot()) {
        optionals.set(6);
      }
      if (struct.isSetNumAsString()) {
        optionals.set(7);
      }
      if (struct.isSetFuzzyParse()) {
        optionals.set(8);
      }
      if (struct.isSetHdfsParams()) {
        optionals.set(9);
      }
      if (struct.isSetReadJsonByLine()) {
        optionals.set(10);
      }
      if (struct.isSetReadByColumnDef()) {
        optionals.set(11);
      }
      if (struct.isSetHeaderType()) {
        optionals.set(12);
      }
      if (struct.isSetSkipLines()) {
        optionals.set(13);
      }
      oprot.writeBitSet(optionals, 14);
      if (struct.isSetLoadId()) {
        struct.load_id.write(oprot);
      }
      if (struct.isSetFileSize()) {
        oprot.writeI64(struct.file_size);
      }
      if (struct.isSetNumOfColumnsFromFile()) {
        oprot.writeI32(struct.num_of_columns_from_file);
      }
      if (struct.isSetColumnsFromPath()) {
        {
          oprot.writeI32(struct.columns_from_path.size());
          for (java.lang.String _iter28 : struct.columns_from_path)
          {
            oprot.writeString(_iter28);
          }
        }
      }
      if (struct.isSetStripOuterArray()) {
        oprot.writeBool(struct.strip_outer_array);
      }
      if (struct.isSetJsonpaths()) {
        oprot.writeString(struct.jsonpaths);
      }
      if (struct.isSetJsonRoot()) {
        oprot.writeString(struct.json_root);
      }
      if (struct.isSetNumAsString()) {
        oprot.writeBool(struct.num_as_string);
      }
      if (struct.isSetFuzzyParse()) {
        oprot.writeBool(struct.fuzzy_parse);
      }
      if (struct.isSetHdfsParams()) {
        struct.hdfs_params.write(oprot);
      }
      if (struct.isSetReadJsonByLine()) {
        oprot.writeBool(struct.read_json_by_line);
      }
      if (struct.isSetReadByColumnDef()) {
        oprot.writeBool(struct.read_by_column_def);
      }
      if (struct.isSetHeaderType()) {
        oprot.writeString(struct.header_type);
      }
      if (struct.isSetSkipLines()) {
        oprot.writeI32(struct.skip_lines);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TBrokerRangeDesc struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      struct.file_type = org.apache.doris.thrift.TFileType.findByValue(iprot.readI32());
      struct.setFileTypeIsSet(true);
      struct.format_type = org.apache.doris.thrift.TFileFormatType.findByValue(iprot.readI32());
      struct.setFormatTypeIsSet(true);
      struct.splittable = iprot.readBool();
      struct.setSplittableIsSet(true);
      struct.path = iprot.readString();
      struct.setPathIsSet(true);
      struct.start_offset = iprot.readI64();
      struct.setStartOffsetIsSet(true);
      struct.size = iprot.readI64();
      struct.setSizeIsSet(true);
      java.util.BitSet incoming = iprot.readBitSet(14);
      if (incoming.get(0)) {
        struct.load_id = new org.apache.doris.thrift.TUniqueId();
        struct.load_id.read(iprot);
        struct.setLoadIdIsSet(true);
      }
      if (incoming.get(1)) {
        struct.file_size = iprot.readI64();
        struct.setFileSizeIsSet(true);
      }
      if (incoming.get(2)) {
        struct.num_of_columns_from_file = iprot.readI32();
        struct.setNumOfColumnsFromFileIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
          struct.columns_from_path = new java.util.ArrayList<java.lang.String>(_list29.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _elem30;
          for (int _i31 = 0; _i31 < _list29.size; ++_i31)
          {
            _elem30 = iprot.readString();
            struct.columns_from_path.add(_elem30);
          }
        }
        struct.setColumnsFromPathIsSet(true);
      }
      if (incoming.get(4)) {
        struct.strip_outer_array = iprot.readBool();
        struct.setStripOuterArrayIsSet(true);
      }
      if (incoming.get(5)) {
        struct.jsonpaths = iprot.readString();
        struct.setJsonpathsIsSet(true);
      }
      if (incoming.get(6)) {
        struct.json_root = iprot.readString();
        struct.setJsonRootIsSet(true);
      }
      if (incoming.get(7)) {
        struct.num_as_string = iprot.readBool();
        struct.setNumAsStringIsSet(true);
      }
      if (incoming.get(8)) {
        struct.fuzzy_parse = iprot.readBool();
        struct.setFuzzyParseIsSet(true);
      }
      if (incoming.get(9)) {
        struct.hdfs_params = new THdfsParams();
        struct.hdfs_params.read(iprot);
        struct.setHdfsParamsIsSet(true);
      }
      if (incoming.get(10)) {
        struct.read_json_by_line = iprot.readBool();
        struct.setReadJsonByLineIsSet(true);
      }
      if (incoming.get(11)) {
        struct.read_by_column_def = iprot.readBool();
        struct.setReadByColumnDefIsSet(true);
      }
      if (incoming.get(12)) {
        struct.header_type = iprot.readString();
        struct.setHeaderTypeIsSet(true);
      }
      if (incoming.get(13)) {
        struct.skip_lines = iprot.readI32();
        struct.setSkipLinesIsSet(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();
  }
}