/**
 * Autogenerated by Thrift Compiler (0.14.1)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.apache.hadoop.hbase.thrift2.generated;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
/**
 * Thrift wrapper around
 * org.apache.hadoop.hbase.client.OnlineLogRecordrd
 */
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.14.1)", date = "2022-07-05")
public class TOnlineLogRecord implements org.apache.thrift.TBase<TOnlineLogRecord, TOnlineLogRecord._Fields>, java.io.Serializable, Cloneable, Comparable<TOnlineLogRecord> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TOnlineLogRecord");

  private static final org.apache.thrift.protocol.TField START_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("startTime", org.apache.thrift.protocol.TType.I64, (short)1);
  private static final org.apache.thrift.protocol.TField PROCESSING_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("processingTime", org.apache.thrift.protocol.TType.I32, (short)2);
  private static final org.apache.thrift.protocol.TField QUEUE_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("queueTime", org.apache.thrift.protocol.TType.I32, (short)3);
  private static final org.apache.thrift.protocol.TField RESPONSE_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("responseSize", org.apache.thrift.protocol.TType.I64, (short)4);
  private static final org.apache.thrift.protocol.TField CLIENT_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("clientAddress", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField SERVER_CLASS_FIELD_DESC = new org.apache.thrift.protocol.TField("serverClass", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField METHOD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("methodName", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField CALL_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("callDetails", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField PARAM_FIELD_DESC = new org.apache.thrift.protocol.TField("param", org.apache.thrift.protocol.TType.STRING, (short)9);
  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)10);
  private static final org.apache.thrift.protocol.TField MULTI_GETS_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("multiGetsCount", org.apache.thrift.protocol.TType.I32, (short)11);
  private static final org.apache.thrift.protocol.TField MULTI_MUTATIONS_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("multiMutationsCount", org.apache.thrift.protocol.TType.I32, (short)12);
  private static final org.apache.thrift.protocol.TField MULTI_SERVICE_CALLS_FIELD_DESC = new org.apache.thrift.protocol.TField("multiServiceCalls", org.apache.thrift.protocol.TType.I32, (short)13);
  private static final org.apache.thrift.protocol.TField REGION_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("regionName", org.apache.thrift.protocol.TType.STRING, (short)14);

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

  public long startTime; // required
  public int processingTime; // required
  public int queueTime; // required
  public long responseSize; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String clientAddress; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String serverClass; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String methodName; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String callDetails; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String param; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
  public int multiGetsCount; // required
  public int multiMutationsCount; // required
  public int multiServiceCalls; // required
  public @org.apache.thrift.annotation.Nullable java.lang.String regionName; // 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 {
    START_TIME((short)1, "startTime"),
    PROCESSING_TIME((short)2, "processingTime"),
    QUEUE_TIME((short)3, "queueTime"),
    RESPONSE_SIZE((short)4, "responseSize"),
    CLIENT_ADDRESS((short)5, "clientAddress"),
    SERVER_CLASS((short)6, "serverClass"),
    METHOD_NAME((short)7, "methodName"),
    CALL_DETAILS((short)8, "callDetails"),
    PARAM((short)9, "param"),
    USER_NAME((short)10, "userName"),
    MULTI_GETS_COUNT((short)11, "multiGetsCount"),
    MULTI_MUTATIONS_COUNT((short)12, "multiMutationsCount"),
    MULTI_SERVICE_CALLS((short)13, "multiServiceCalls"),
    REGION_NAME((short)14, "regionName");

    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: // START_TIME
          return START_TIME;
        case 2: // PROCESSING_TIME
          return PROCESSING_TIME;
        case 3: // QUEUE_TIME
          return QUEUE_TIME;
        case 4: // RESPONSE_SIZE
          return RESPONSE_SIZE;
        case 5: // CLIENT_ADDRESS
          return CLIENT_ADDRESS;
        case 6: // SERVER_CLASS
          return SERVER_CLASS;
        case 7: // METHOD_NAME
          return METHOD_NAME;
        case 8: // CALL_DETAILS
          return CALL_DETAILS;
        case 9: // PARAM
          return PARAM;
        case 10: // USER_NAME
          return USER_NAME;
        case 11: // MULTI_GETS_COUNT
          return MULTI_GETS_COUNT;
        case 12: // MULTI_MUTATIONS_COUNT
          return MULTI_MUTATIONS_COUNT;
        case 13: // MULTI_SERVICE_CALLS
          return MULTI_SERVICE_CALLS;
        case 14: // REGION_NAME
          return REGION_NAME;
        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 __STARTTIME_ISSET_ID = 0;
  private static final int __PROCESSINGTIME_ISSET_ID = 1;
  private static final int __QUEUETIME_ISSET_ID = 2;
  private static final int __RESPONSESIZE_ISSET_ID = 3;
  private static final int __MULTIGETSCOUNT_ISSET_ID = 4;
  private static final int __MULTIMUTATIONSCOUNT_ISSET_ID = 5;
  private static final int __MULTISERVICECALLS_ISSET_ID = 6;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.REGION_NAME};
  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.START_TIME, new org.apache.thrift.meta_data.FieldMetaData("startTime", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.PROCESSING_TIME, new org.apache.thrift.meta_data.FieldMetaData("processingTime", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.QUEUE_TIME, new org.apache.thrift.meta_data.FieldMetaData("queueTime", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.RESPONSE_SIZE, new org.apache.thrift.meta_data.FieldMetaData("responseSize", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.CLIENT_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("clientAddress", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SERVER_CLASS, new org.apache.thrift.meta_data.FieldMetaData("serverClass", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.METHOD_NAME, new org.apache.thrift.meta_data.FieldMetaData("methodName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.CALL_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("callDetails", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.PARAM, new org.apache.thrift.meta_data.FieldMetaData("param", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.MULTI_GETS_COUNT, new org.apache.thrift.meta_data.FieldMetaData("multiGetsCount", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.MULTI_MUTATIONS_COUNT, new org.apache.thrift.meta_data.FieldMetaData("multiMutationsCount", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.MULTI_SERVICE_CALLS, new org.apache.thrift.meta_data.FieldMetaData("multiServiceCalls", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.REGION_NAME, new org.apache.thrift.meta_data.FieldMetaData("regionName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TOnlineLogRecord.class, metaDataMap);
  }

  public TOnlineLogRecord() {
  }

  public TOnlineLogRecord(
    long startTime,
    int processingTime,
    int queueTime,
    long responseSize,
    java.lang.String clientAddress,
    java.lang.String serverClass,
    java.lang.String methodName,
    java.lang.String callDetails,
    java.lang.String param,
    java.lang.String userName,
    int multiGetsCount,
    int multiMutationsCount,
    int multiServiceCalls)
  {
    this();
    this.startTime = startTime;
    setStartTimeIsSet(true);
    this.processingTime = processingTime;
    setProcessingTimeIsSet(true);
    this.queueTime = queueTime;
    setQueueTimeIsSet(true);
    this.responseSize = responseSize;
    setResponseSizeIsSet(true);
    this.clientAddress = clientAddress;
    this.serverClass = serverClass;
    this.methodName = methodName;
    this.callDetails = callDetails;
    this.param = param;
    this.userName = userName;
    this.multiGetsCount = multiGetsCount;
    setMultiGetsCountIsSet(true);
    this.multiMutationsCount = multiMutationsCount;
    setMultiMutationsCountIsSet(true);
    this.multiServiceCalls = multiServiceCalls;
    setMultiServiceCallsIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TOnlineLogRecord(TOnlineLogRecord other) {
    __isset_bitfield = other.__isset_bitfield;
    this.startTime = other.startTime;
    this.processingTime = other.processingTime;
    this.queueTime = other.queueTime;
    this.responseSize = other.responseSize;
    if (other.isSetClientAddress()) {
      this.clientAddress = other.clientAddress;
    }
    if (other.isSetServerClass()) {
      this.serverClass = other.serverClass;
    }
    if (other.isSetMethodName()) {
      this.methodName = other.methodName;
    }
    if (other.isSetCallDetails()) {
      this.callDetails = other.callDetails;
    }
    if (other.isSetParam()) {
      this.param = other.param;
    }
    if (other.isSetUserName()) {
      this.userName = other.userName;
    }
    this.multiGetsCount = other.multiGetsCount;
    this.multiMutationsCount = other.multiMutationsCount;
    this.multiServiceCalls = other.multiServiceCalls;
    if (other.isSetRegionName()) {
      this.regionName = other.regionName;
    }
  }

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

  @Override
  public void clear() {
    setStartTimeIsSet(false);
    this.startTime = 0;
    setProcessingTimeIsSet(false);
    this.processingTime = 0;
    setQueueTimeIsSet(false);
    this.queueTime = 0;
    setResponseSizeIsSet(false);
    this.responseSize = 0;
    this.clientAddress = null;
    this.serverClass = null;
    this.methodName = null;
    this.callDetails = null;
    this.param = null;
    this.userName = null;
    setMultiGetsCountIsSet(false);
    this.multiGetsCount = 0;
    setMultiMutationsCountIsSet(false);
    this.multiMutationsCount = 0;
    setMultiServiceCallsIsSet(false);
    this.multiServiceCalls = 0;
    this.regionName = null;
  }

  public long getStartTime() {
    return this.startTime;
  }

  public TOnlineLogRecord setStartTime(long startTime) {
    this.startTime = startTime;
    setStartTimeIsSet(true);
    return this;
  }

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

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

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

  public int getProcessingTime() {
    return this.processingTime;
  }

  public TOnlineLogRecord setProcessingTime(int processingTime) {
    this.processingTime = processingTime;
    setProcessingTimeIsSet(true);
    return this;
  }

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

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

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

  public int getQueueTime() {
    return this.queueTime;
  }

  public TOnlineLogRecord setQueueTime(int queueTime) {
    this.queueTime = queueTime;
    setQueueTimeIsSet(true);
    return this;
  }

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

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

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

  public long getResponseSize() {
    return this.responseSize;
  }

  public TOnlineLogRecord setResponseSize(long responseSize) {
    this.responseSize = responseSize;
    setResponseSizeIsSet(true);
    return this;
  }

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

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

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

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

  public TOnlineLogRecord setClientAddress(@org.apache.thrift.annotation.Nullable java.lang.String clientAddress) {
    this.clientAddress = clientAddress;
    return this;
  }

  public void unsetClientAddress() {
    this.clientAddress = null;
  }

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

  public void setClientAddressIsSet(boolean value) {
    if (!value) {
      this.clientAddress = null;
    }
  }

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

  public TOnlineLogRecord setServerClass(@org.apache.thrift.annotation.Nullable java.lang.String serverClass) {
    this.serverClass = serverClass;
    return this;
  }

  public void unsetServerClass() {
    this.serverClass = null;
  }

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

  public void setServerClassIsSet(boolean value) {
    if (!value) {
      this.serverClass = null;
    }
  }

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

  public TOnlineLogRecord setMethodName(@org.apache.thrift.annotation.Nullable java.lang.String methodName) {
    this.methodName = methodName;
    return this;
  }

  public void unsetMethodName() {
    this.methodName = null;
  }

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

  public void setMethodNameIsSet(boolean value) {
    if (!value) {
      this.methodName = null;
    }
  }

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

  public TOnlineLogRecord setCallDetails(@org.apache.thrift.annotation.Nullable java.lang.String callDetails) {
    this.callDetails = callDetails;
    return this;
  }

  public void unsetCallDetails() {
    this.callDetails = null;
  }

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

  public void setCallDetailsIsSet(boolean value) {
    if (!value) {
      this.callDetails = null;
    }
  }

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

  public TOnlineLogRecord setParam(@org.apache.thrift.annotation.Nullable java.lang.String param) {
    this.param = param;
    return this;
  }

  public void unsetParam() {
    this.param = null;
  }

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

  public void setParamIsSet(boolean value) {
    if (!value) {
      this.param = null;
    }
  }

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

  public TOnlineLogRecord setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
    this.userName = userName;
    return this;
  }

  public void unsetUserName() {
    this.userName = null;
  }

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

  public void setUserNameIsSet(boolean value) {
    if (!value) {
      this.userName = null;
    }
  }

  public int getMultiGetsCount() {
    return this.multiGetsCount;
  }

  public TOnlineLogRecord setMultiGetsCount(int multiGetsCount) {
    this.multiGetsCount = multiGetsCount;
    setMultiGetsCountIsSet(true);
    return this;
  }

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

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

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

  public int getMultiMutationsCount() {
    return this.multiMutationsCount;
  }

  public TOnlineLogRecord setMultiMutationsCount(int multiMutationsCount) {
    this.multiMutationsCount = multiMutationsCount;
    setMultiMutationsCountIsSet(true);
    return this;
  }

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

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

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

  public int getMultiServiceCalls() {
    return this.multiServiceCalls;
  }

  public TOnlineLogRecord setMultiServiceCalls(int multiServiceCalls) {
    this.multiServiceCalls = multiServiceCalls;
    setMultiServiceCallsIsSet(true);
    return this;
  }

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

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

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

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

  public TOnlineLogRecord setRegionName(@org.apache.thrift.annotation.Nullable java.lang.String regionName) {
    this.regionName = regionName;
    return this;
  }

  public void unsetRegionName() {
    this.regionName = null;
  }

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

  public void setRegionNameIsSet(boolean value) {
    if (!value) {
      this.regionName = null;
    }
  }

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case START_TIME:
      if (value == null) {
        unsetStartTime();
      } else {
        setStartTime((java.lang.Long)value);
      }
      break;

    case PROCESSING_TIME:
      if (value == null) {
        unsetProcessingTime();
      } else {
        setProcessingTime((java.lang.Integer)value);
      }
      break;

    case QUEUE_TIME:
      if (value == null) {
        unsetQueueTime();
      } else {
        setQueueTime((java.lang.Integer)value);
      }
      break;

    case RESPONSE_SIZE:
      if (value == null) {
        unsetResponseSize();
      } else {
        setResponseSize((java.lang.Long)value);
      }
      break;

    case CLIENT_ADDRESS:
      if (value == null) {
        unsetClientAddress();
      } else {
        setClientAddress((java.lang.String)value);
      }
      break;

    case SERVER_CLASS:
      if (value == null) {
        unsetServerClass();
      } else {
        setServerClass((java.lang.String)value);
      }
      break;

    case METHOD_NAME:
      if (value == null) {
        unsetMethodName();
      } else {
        setMethodName((java.lang.String)value);
      }
      break;

    case CALL_DETAILS:
      if (value == null) {
        unsetCallDetails();
      } else {
        setCallDetails((java.lang.String)value);
      }
      break;

    case PARAM:
      if (value == null) {
        unsetParam();
      } else {
        setParam((java.lang.String)value);
      }
      break;

    case USER_NAME:
      if (value == null) {
        unsetUserName();
      } else {
        setUserName((java.lang.String)value);
      }
      break;

    case MULTI_GETS_COUNT:
      if (value == null) {
        unsetMultiGetsCount();
      } else {
        setMultiGetsCount((java.lang.Integer)value);
      }
      break;

    case MULTI_MUTATIONS_COUNT:
      if (value == null) {
        unsetMultiMutationsCount();
      } else {
        setMultiMutationsCount((java.lang.Integer)value);
      }
      break;

    case MULTI_SERVICE_CALLS:
      if (value == null) {
        unsetMultiServiceCalls();
      } else {
        setMultiServiceCalls((java.lang.Integer)value);
      }
      break;

    case REGION_NAME:
      if (value == null) {
        unsetRegionName();
      } else {
        setRegionName((java.lang.String)value);
      }
      break;

    }
  }

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

    case PROCESSING_TIME:
      return getProcessingTime();

    case QUEUE_TIME:
      return getQueueTime();

    case RESPONSE_SIZE:
      return getResponseSize();

    case CLIENT_ADDRESS:
      return getClientAddress();

    case SERVER_CLASS:
      return getServerClass();

    case METHOD_NAME:
      return getMethodName();

    case CALL_DETAILS:
      return getCallDetails();

    case PARAM:
      return getParam();

    case USER_NAME:
      return getUserName();

    case MULTI_GETS_COUNT:
      return getMultiGetsCount();

    case MULTI_MUTATIONS_COUNT:
      return getMultiMutationsCount();

    case MULTI_SERVICE_CALLS:
      return getMultiServiceCalls();

    case REGION_NAME:
      return getRegionName();

    }
    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 START_TIME:
      return isSetStartTime();
    case PROCESSING_TIME:
      return isSetProcessingTime();
    case QUEUE_TIME:
      return isSetQueueTime();
    case RESPONSE_SIZE:
      return isSetResponseSize();
    case CLIENT_ADDRESS:
      return isSetClientAddress();
    case SERVER_CLASS:
      return isSetServerClass();
    case METHOD_NAME:
      return isSetMethodName();
    case CALL_DETAILS:
      return isSetCallDetails();
    case PARAM:
      return isSetParam();
    case USER_NAME:
      return isSetUserName();
    case MULTI_GETS_COUNT:
      return isSetMultiGetsCount();
    case MULTI_MUTATIONS_COUNT:
      return isSetMultiMutationsCount();
    case MULTI_SERVICE_CALLS:
      return isSetMultiServiceCalls();
    case REGION_NAME:
      return isSetRegionName();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_startTime = true;
    boolean that_present_startTime = true;
    if (this_present_startTime || that_present_startTime) {
      if (!(this_present_startTime && that_present_startTime))
        return false;
      if (this.startTime != that.startTime)
        return false;
    }

    boolean this_present_processingTime = true;
    boolean that_present_processingTime = true;
    if (this_present_processingTime || that_present_processingTime) {
      if (!(this_present_processingTime && that_present_processingTime))
        return false;
      if (this.processingTime != that.processingTime)
        return false;
    }

    boolean this_present_queueTime = true;
    boolean that_present_queueTime = true;
    if (this_present_queueTime || that_present_queueTime) {
      if (!(this_present_queueTime && that_present_queueTime))
        return false;
      if (this.queueTime != that.queueTime)
        return false;
    }

    boolean this_present_responseSize = true;
    boolean that_present_responseSize = true;
    if (this_present_responseSize || that_present_responseSize) {
      if (!(this_present_responseSize && that_present_responseSize))
        return false;
      if (this.responseSize != that.responseSize)
        return false;
    }

    boolean this_present_clientAddress = true && this.isSetClientAddress();
    boolean that_present_clientAddress = true && that.isSetClientAddress();
    if (this_present_clientAddress || that_present_clientAddress) {
      if (!(this_present_clientAddress && that_present_clientAddress))
        return false;
      if (!this.clientAddress.equals(that.clientAddress))
        return false;
    }

    boolean this_present_serverClass = true && this.isSetServerClass();
    boolean that_present_serverClass = true && that.isSetServerClass();
    if (this_present_serverClass || that_present_serverClass) {
      if (!(this_present_serverClass && that_present_serverClass))
        return false;
      if (!this.serverClass.equals(that.serverClass))
        return false;
    }

    boolean this_present_methodName = true && this.isSetMethodName();
    boolean that_present_methodName = true && that.isSetMethodName();
    if (this_present_methodName || that_present_methodName) {
      if (!(this_present_methodName && that_present_methodName))
        return false;
      if (!this.methodName.equals(that.methodName))
        return false;
    }

    boolean this_present_callDetails = true && this.isSetCallDetails();
    boolean that_present_callDetails = true && that.isSetCallDetails();
    if (this_present_callDetails || that_present_callDetails) {
      if (!(this_present_callDetails && that_present_callDetails))
        return false;
      if (!this.callDetails.equals(that.callDetails))
        return false;
    }

    boolean this_present_param = true && this.isSetParam();
    boolean that_present_param = true && that.isSetParam();
    if (this_present_param || that_present_param) {
      if (!(this_present_param && that_present_param))
        return false;
      if (!this.param.equals(that.param))
        return false;
    }

    boolean this_present_userName = true && this.isSetUserName();
    boolean that_present_userName = true && that.isSetUserName();
    if (this_present_userName || that_present_userName) {
      if (!(this_present_userName && that_present_userName))
        return false;
      if (!this.userName.equals(that.userName))
        return false;
    }

    boolean this_present_multiGetsCount = true;
    boolean that_present_multiGetsCount = true;
    if (this_present_multiGetsCount || that_present_multiGetsCount) {
      if (!(this_present_multiGetsCount && that_present_multiGetsCount))
        return false;
      if (this.multiGetsCount != that.multiGetsCount)
        return false;
    }

    boolean this_present_multiMutationsCount = true;
    boolean that_present_multiMutationsCount = true;
    if (this_present_multiMutationsCount || that_present_multiMutationsCount) {
      if (!(this_present_multiMutationsCount && that_present_multiMutationsCount))
        return false;
      if (this.multiMutationsCount != that.multiMutationsCount)
        return false;
    }

    boolean this_present_multiServiceCalls = true;
    boolean that_present_multiServiceCalls = true;
    if (this_present_multiServiceCalls || that_present_multiServiceCalls) {
      if (!(this_present_multiServiceCalls && that_present_multiServiceCalls))
        return false;
      if (this.multiServiceCalls != that.multiServiceCalls)
        return false;
    }

    boolean this_present_regionName = true && this.isSetRegionName();
    boolean that_present_regionName = true && that.isSetRegionName();
    if (this_present_regionName || that_present_regionName) {
      if (!(this_present_regionName && that_present_regionName))
        return false;
      if (!this.regionName.equals(that.regionName))
        return false;
    }

    return true;
  }

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

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

    hashCode = hashCode * 8191 + processingTime;

    hashCode = hashCode * 8191 + queueTime;

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

    hashCode = hashCode * 8191 + ((isSetClientAddress()) ? 131071 : 524287);
    if (isSetClientAddress())
      hashCode = hashCode * 8191 + clientAddress.hashCode();

    hashCode = hashCode * 8191 + ((isSetServerClass()) ? 131071 : 524287);
    if (isSetServerClass())
      hashCode = hashCode * 8191 + serverClass.hashCode();

    hashCode = hashCode * 8191 + ((isSetMethodName()) ? 131071 : 524287);
    if (isSetMethodName())
      hashCode = hashCode * 8191 + methodName.hashCode();

    hashCode = hashCode * 8191 + ((isSetCallDetails()) ? 131071 : 524287);
    if (isSetCallDetails())
      hashCode = hashCode * 8191 + callDetails.hashCode();

    hashCode = hashCode * 8191 + ((isSetParam()) ? 131071 : 524287);
    if (isSetParam())
      hashCode = hashCode * 8191 + param.hashCode();

    hashCode = hashCode * 8191 + ((isSetUserName()) ? 131071 : 524287);
    if (isSetUserName())
      hashCode = hashCode * 8191 + userName.hashCode();

    hashCode = hashCode * 8191 + multiGetsCount;

    hashCode = hashCode * 8191 + multiMutationsCount;

    hashCode = hashCode * 8191 + multiServiceCalls;

    hashCode = hashCode * 8191 + ((isSetRegionName()) ? 131071 : 524287);
    if (isSetRegionName())
      hashCode = hashCode * 8191 + regionName.hashCode();

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetStartTime(), other.isSetStartTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStartTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startTime, other.startTime);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetProcessingTime(), other.isSetProcessingTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetProcessingTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processingTime, other.processingTime);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetQueueTime(), other.isSetQueueTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetQueueTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.queueTime, other.queueTime);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetResponseSize(), other.isSetResponseSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetResponseSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.responseSize, other.responseSize);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetClientAddress(), other.isSetClientAddress());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetClientAddress()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.clientAddress, other.clientAddress);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetServerClass(), other.isSetServerClass());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetServerClass()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serverClass, other.serverClass);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetMethodName(), other.isSetMethodName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMethodName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.methodName, other.methodName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCallDetails(), other.isSetCallDetails());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCallDetails()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.callDetails, other.callDetails);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetParam(), other.isSetParam());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetParam()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.param, other.param);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetUserName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetMultiGetsCount(), other.isSetMultiGetsCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMultiGetsCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.multiGetsCount, other.multiGetsCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetMultiMutationsCount(), other.isSetMultiMutationsCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMultiMutationsCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.multiMutationsCount, other.multiMutationsCount);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetMultiServiceCalls(), other.isSetMultiServiceCalls());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMultiServiceCalls()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.multiServiceCalls, other.multiServiceCalls);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRegionName(), other.isSetRegionName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRegionName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.regionName, other.regionName);
      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("TOnlineLogRecord(");
    boolean first = true;

    sb.append("startTime:");
    sb.append(this.startTime);
    first = false;
    if (!first) sb.append(", ");
    sb.append("processingTime:");
    sb.append(this.processingTime);
    first = false;
    if (!first) sb.append(", ");
    sb.append("queueTime:");
    sb.append(this.queueTime);
    first = false;
    if (!first) sb.append(", ");
    sb.append("responseSize:");
    sb.append(this.responseSize);
    first = false;
    if (!first) sb.append(", ");
    sb.append("clientAddress:");
    if (this.clientAddress == null) {
      sb.append("null");
    } else {
      sb.append(this.clientAddress);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("serverClass:");
    if (this.serverClass == null) {
      sb.append("null");
    } else {
      sb.append(this.serverClass);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("methodName:");
    if (this.methodName == null) {
      sb.append("null");
    } else {
      sb.append(this.methodName);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("callDetails:");
    if (this.callDetails == null) {
      sb.append("null");
    } else {
      sb.append(this.callDetails);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("param:");
    if (this.param == null) {
      sb.append("null");
    } else {
      sb.append(this.param);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("userName:");
    if (this.userName == null) {
      sb.append("null");
    } else {
      sb.append(this.userName);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("multiGetsCount:");
    sb.append(this.multiGetsCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("multiMutationsCount:");
    sb.append(this.multiMutationsCount);
    first = false;
    if (!first) sb.append(", ");
    sb.append("multiServiceCalls:");
    sb.append(this.multiServiceCalls);
    first = false;
    if (isSetRegionName()) {
      if (!first) sb.append(", ");
      sb.append("regionName:");
      if (this.regionName == null) {
        sb.append("null");
      } else {
        sb.append(this.regionName);
      }
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // alas, we cannot check 'startTime' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'processingTime' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'queueTime' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'responseSize' because it's a primitive and you chose the non-beans generator.
    if (clientAddress == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'clientAddress' was not present! Struct: " + toString());
    }
    if (serverClass == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'serverClass' was not present! Struct: " + toString());
    }
    if (methodName == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'methodName' was not present! Struct: " + toString());
    }
    if (callDetails == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'callDetails' was not present! Struct: " + toString());
    }
    if (param == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'param' was not present! Struct: " + toString());
    }
    if (userName == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
    }
    // alas, we cannot check 'multiGetsCount' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'multiMutationsCount' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'multiServiceCalls' because it's a primitive and you chose the non-beans generator.
    // 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 TOnlineLogRecordStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TOnlineLogRecordStandardScheme getScheme() {
      return new TOnlineLogRecordStandardScheme();
    }
  }

  private static class TOnlineLogRecordStandardScheme extends org.apache.thrift.scheme.StandardScheme<TOnlineLogRecord> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TOnlineLogRecord 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: // START_TIME
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.startTime = iprot.readI64();
              struct.setStartTimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // PROCESSING_TIME
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.processingTime = iprot.readI32();
              struct.setProcessingTimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // QUEUE_TIME
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.queueTime = iprot.readI32();
              struct.setQueueTimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // RESPONSE_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.responseSize = iprot.readI64();
              struct.setResponseSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // CLIENT_ADDRESS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.clientAddress = iprot.readString();
              struct.setClientAddressIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // SERVER_CLASS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.serverClass = iprot.readString();
              struct.setServerClassIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // METHOD_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.methodName = iprot.readString();
              struct.setMethodNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // CALL_DETAILS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.callDetails = iprot.readString();
              struct.setCallDetailsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // PARAM
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.param = iprot.readString();
              struct.setParamIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // USER_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.userName = iprot.readString();
              struct.setUserNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // MULTI_GETS_COUNT
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.multiGetsCount = iprot.readI32();
              struct.setMultiGetsCountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // MULTI_MUTATIONS_COUNT
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.multiMutationsCount = iprot.readI32();
              struct.setMultiMutationsCountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // MULTI_SERVICE_CALLS
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.multiServiceCalls = iprot.readI32();
              struct.setMultiServiceCallsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // REGION_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.regionName = iprot.readString();
              struct.setRegionNameIsSet(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.isSetStartTime()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'startTime' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetProcessingTime()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'processingTime' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetQueueTime()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'queueTime' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetResponseSize()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'responseSize' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetMultiGetsCount()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'multiGetsCount' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetMultiMutationsCount()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'multiMutationsCount' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetMultiServiceCalls()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'multiServiceCalls' was not found in serialized data! Struct: " + toString());
      }
      struct.validate();
    }

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

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(START_TIME_FIELD_DESC);
      oprot.writeI64(struct.startTime);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PROCESSING_TIME_FIELD_DESC);
      oprot.writeI32(struct.processingTime);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(QUEUE_TIME_FIELD_DESC);
      oprot.writeI32(struct.queueTime);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(RESPONSE_SIZE_FIELD_DESC);
      oprot.writeI64(struct.responseSize);
      oprot.writeFieldEnd();
      if (struct.clientAddress != null) {
        oprot.writeFieldBegin(CLIENT_ADDRESS_FIELD_DESC);
        oprot.writeString(struct.clientAddress);
        oprot.writeFieldEnd();
      }
      if (struct.serverClass != null) {
        oprot.writeFieldBegin(SERVER_CLASS_FIELD_DESC);
        oprot.writeString(struct.serverClass);
        oprot.writeFieldEnd();
      }
      if (struct.methodName != null) {
        oprot.writeFieldBegin(METHOD_NAME_FIELD_DESC);
        oprot.writeString(struct.methodName);
        oprot.writeFieldEnd();
      }
      if (struct.callDetails != null) {
        oprot.writeFieldBegin(CALL_DETAILS_FIELD_DESC);
        oprot.writeString(struct.callDetails);
        oprot.writeFieldEnd();
      }
      if (struct.param != null) {
        oprot.writeFieldBegin(PARAM_FIELD_DESC);
        oprot.writeString(struct.param);
        oprot.writeFieldEnd();
      }
      if (struct.userName != null) {
        oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
        oprot.writeString(struct.userName);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(MULTI_GETS_COUNT_FIELD_DESC);
      oprot.writeI32(struct.multiGetsCount);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(MULTI_MUTATIONS_COUNT_FIELD_DESC);
      oprot.writeI32(struct.multiMutationsCount);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(MULTI_SERVICE_CALLS_FIELD_DESC);
      oprot.writeI32(struct.multiServiceCalls);
      oprot.writeFieldEnd();
      if (struct.regionName != null) {
        if (struct.isSetRegionName()) {
          oprot.writeFieldBegin(REGION_NAME_FIELD_DESC);
          oprot.writeString(struct.regionName);
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TOnlineLogRecordTupleScheme extends org.apache.thrift.scheme.TupleScheme<TOnlineLogRecord> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TOnlineLogRecord struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      oprot.writeI64(struct.startTime);
      oprot.writeI32(struct.processingTime);
      oprot.writeI32(struct.queueTime);
      oprot.writeI64(struct.responseSize);
      oprot.writeString(struct.clientAddress);
      oprot.writeString(struct.serverClass);
      oprot.writeString(struct.methodName);
      oprot.writeString(struct.callDetails);
      oprot.writeString(struct.param);
      oprot.writeString(struct.userName);
      oprot.writeI32(struct.multiGetsCount);
      oprot.writeI32(struct.multiMutationsCount);
      oprot.writeI32(struct.multiServiceCalls);
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetRegionName()) {
        optionals.set(0);
      }
      oprot.writeBitSet(optionals, 1);
      if (struct.isSetRegionName()) {
        oprot.writeString(struct.regionName);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TOnlineLogRecord struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      struct.startTime = iprot.readI64();
      struct.setStartTimeIsSet(true);
      struct.processingTime = iprot.readI32();
      struct.setProcessingTimeIsSet(true);
      struct.queueTime = iprot.readI32();
      struct.setQueueTimeIsSet(true);
      struct.responseSize = iprot.readI64();
      struct.setResponseSizeIsSet(true);
      struct.clientAddress = iprot.readString();
      struct.setClientAddressIsSet(true);
      struct.serverClass = iprot.readString();
      struct.setServerClassIsSet(true);
      struct.methodName = iprot.readString();
      struct.setMethodNameIsSet(true);
      struct.callDetails = iprot.readString();
      struct.setCallDetailsIsSet(true);
      struct.param = iprot.readString();
      struct.setParamIsSet(true);
      struct.userName = iprot.readString();
      struct.setUserNameIsSet(true);
      struct.multiGetsCount = iprot.readI32();
      struct.setMultiGetsCountIsSet(true);
      struct.multiMutationsCount = iprot.readI32();
      struct.setMultiMutationsCountIsSet(true);
      struct.multiServiceCalls = iprot.readI32();
      struct.setMultiServiceCallsIsSet(true);
      java.util.BitSet incoming = iprot.readBitSet(1);
      if (incoming.get(0)) {
        struct.regionName = iprot.readString();
        struct.setRegionNameIsSet(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();
  }
}

