All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.datahub.client.model.protobuf.DatahubProtos Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: datahub.proto

package com.aliyun.datahub.client.model.protobuf;

public final class DatahubProtos {
  private DatahubProtos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface StringPairOrBuilder extends
      // @@protoc_insertion_point(interface_extends:StringPair)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required string key = 1;
     */
    boolean hasKey();
    /**
     * required string key = 1;
     */
    java.lang.String getKey();
    /**
     * required string key = 1;
     */
    com.google.protobuf.ByteString
        getKeyBytes();

    /**
     * required string value = 2;
     */
    boolean hasValue();
    /**
     * required string value = 2;
     */
    java.lang.String getValue();
    /**
     * required string value = 2;
     */
    com.google.protobuf.ByteString
        getValueBytes();
  }
  /**
   * Protobuf type {@code StringPair}
   */
  public static final class StringPair extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:StringPair)
      StringPairOrBuilder {
    // Use StringPair.newBuilder() to construct.
    private StringPair(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private StringPair(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final StringPair defaultInstance;
    public static StringPair getDefaultInstance() {
      return defaultInstance;
    }

    public StringPair getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private StringPair(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              key_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              value_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_StringPair_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_StringPair_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public StringPair parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StringPair(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int KEY_FIELD_NUMBER = 1;
    private java.lang.Object key_;
    /**
     * required string key = 1;
     */
    public boolean hasKey() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required string key = 1;
     */
    public java.lang.String getKey() {
      java.lang.Object ref = key_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          key_ = s;
        }
        return s;
      }
    }
    /**
     * required string key = 1;
     */
    public com.google.protobuf.ByteString
        getKeyBytes() {
      java.lang.Object ref = key_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        key_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VALUE_FIELD_NUMBER = 2;
    private java.lang.Object value_;
    /**
     * required string value = 2;
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required string value = 2;
     */
    public java.lang.String getValue() {
      java.lang.Object ref = value_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          value_ = s;
        }
        return s;
      }
    }
    /**
     * required string value = 2;
     */
    public com.google.protobuf.ByteString
        getValueBytes() {
      java.lang.Object ref = value_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        value_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      key_ = "";
      value_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasKey()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasValue()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getKeyBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getValueBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getKeyBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getValueBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code StringPair}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:StringPair)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPairOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_StringPair_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_StringPair_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        key_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        value_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_StringPair_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.key_ = key_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.value_ = value_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.getDefaultInstance()) return this;
        if (other.hasKey()) {
          bitField0_ |= 0x00000001;
          key_ = other.key_;
          onChanged();
        }
        if (other.hasValue()) {
          bitField0_ |= 0x00000002;
          value_ = other.value_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasKey()) {
          
          return false;
        }
        if (!hasValue()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object key_ = "";
      /**
       * required string key = 1;
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required string key = 1;
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            key_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string key = 1;
       */
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string key = 1;
       */
      public Builder setKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        key_ = value;
        onChanged();
        return this;
      }
      /**
       * required string key = 1;
       */
      public Builder clearKey() {
        bitField0_ = (bitField0_ & ~0x00000001);
        key_ = getDefaultInstance().getKey();
        onChanged();
        return this;
      }
      /**
       * required string key = 1;
       */
      public Builder setKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        key_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object value_ = "";
      /**
       * required string value = 2;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required string value = 2;
       */
      public java.lang.String getValue() {
        java.lang.Object ref = value_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            value_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string value = 2;
       */
      public com.google.protobuf.ByteString
          getValueBytes() {
        java.lang.Object ref = value_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          value_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string value = 2;
       */
      public Builder setValue(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * required string value = 2;
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000002);
        value_ = getDefaultInstance().getValue();
        onChanged();
        return this;
      }
      /**
       * required string value = 2;
       */
      public Builder setValueBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        value_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:StringPair)
    }

    static {
      defaultInstance = new StringPair(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:StringPair)
  }

  public interface FieldDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:FieldData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional bytes value = 1;
     */
    boolean hasValue();
    /**
     * optional bytes value = 1;
     */
    com.google.protobuf.ByteString getValue();
  }
  /**
   * Protobuf type {@code FieldData}
   */
  public static final class FieldData extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:FieldData)
      FieldDataOrBuilder {
    // Use FieldData.newBuilder() to construct.
    private FieldData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private FieldData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final FieldData defaultInstance;
    public static FieldData getDefaultInstance() {
      return defaultInstance;
    }

    public FieldData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private FieldData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              value_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FieldData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FieldData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public FieldData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FieldData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int VALUE_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString value_;
    /**
     * optional bytes value = 1;
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bytes value = 1;
     */
    public com.google.protobuf.ByteString getValue() {
      return value_;
    }

    private void initFields() {
      value_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, value_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, value_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code FieldData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:FieldData)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FieldData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FieldData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        value_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FieldData_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.value_ = value_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.getDefaultInstance()) return this;
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes value = 1;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bytes value = 1;
       */
      public com.google.protobuf.ByteString getValue() {
        return value_;
      }
      /**
       * optional bytes value = 1;
       */
      public Builder setValue(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes value = 1;
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000001);
        value_ = getDefaultInstance().getValue();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:FieldData)
    }

    static {
      defaultInstance = new FieldData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:FieldData)
  }

  public interface RecordAttributesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:RecordAttributes)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .StringPair attributes = 1;
     */
    java.util.List 
        getAttributesList();
    /**
     * repeated .StringPair attributes = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair getAttributes(int index);
    /**
     * repeated .StringPair attributes = 1;
     */
    int getAttributesCount();
    /**
     * repeated .StringPair attributes = 1;
     */
    java.util.List 
        getAttributesOrBuilderList();
    /**
     * repeated .StringPair attributes = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPairOrBuilder getAttributesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code RecordAttributes}
   */
  public static final class RecordAttributes extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:RecordAttributes)
      RecordAttributesOrBuilder {
    // Use RecordAttributes.newBuilder() to construct.
    private RecordAttributes(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RecordAttributes(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RecordAttributes defaultInstance;
    public static RecordAttributes getDefaultInstance() {
      return defaultInstance;
    }

    public RecordAttributes getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RecordAttributes(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                attributes_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              attributes_.add(input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          attributes_ = java.util.Collections.unmodifiableList(attributes_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordAttributes_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordAttributes_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public RecordAttributes parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RecordAttributes(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    public static final int ATTRIBUTES_FIELD_NUMBER = 1;
    private java.util.List attributes_;
    /**
     * repeated .StringPair attributes = 1;
     */
    public java.util.List getAttributesList() {
      return attributes_;
    }
    /**
     * repeated .StringPair attributes = 1;
     */
    public java.util.List 
        getAttributesOrBuilderList() {
      return attributes_;
    }
    /**
     * repeated .StringPair attributes = 1;
     */
    public int getAttributesCount() {
      return attributes_.size();
    }
    /**
     * repeated .StringPair attributes = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair getAttributes(int index) {
      return attributes_.get(index);
    }
    /**
     * repeated .StringPair attributes = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPairOrBuilder getAttributesOrBuilder(
        int index) {
      return attributes_.get(index);
    }

    private void initFields() {
      attributes_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      for (int i = 0; i < getAttributesCount(); i++) {
        if (!getAttributes(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < attributes_.size(); i++) {
        output.writeMessage(1, attributes_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < attributes_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, attributes_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code RecordAttributes}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:RecordAttributes)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordAttributes_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordAttributes_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAttributesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (attributesBuilder_ == null) {
          attributes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          attributesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordAttributes_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes(this);
        int from_bitField0_ = bitField0_;
        if (attributesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            attributes_ = java.util.Collections.unmodifiableList(attributes_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.attributes_ = attributes_;
        } else {
          result.attributes_ = attributesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.getDefaultInstance()) return this;
        if (attributesBuilder_ == null) {
          if (!other.attributes_.isEmpty()) {
            if (attributes_.isEmpty()) {
              attributes_ = other.attributes_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureAttributesIsMutable();
              attributes_.addAll(other.attributes_);
            }
            onChanged();
          }
        } else {
          if (!other.attributes_.isEmpty()) {
            if (attributesBuilder_.isEmpty()) {
              attributesBuilder_.dispose();
              attributesBuilder_ = null;
              attributes_ = other.attributes_;
              bitField0_ = (bitField0_ & ~0x00000001);
              attributesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttributesFieldBuilder() : null;
            } else {
              attributesBuilder_.addAllMessages(other.attributes_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getAttributesCount(); i++) {
          if (!getAttributes(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List attributes_ =
        java.util.Collections.emptyList();
      private void ensureAttributesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          attributes_ = new java.util.ArrayList(attributes_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPairOrBuilder> attributesBuilder_;

      /**
       * repeated .StringPair attributes = 1;
       */
      public java.util.List getAttributesList() {
        if (attributesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attributes_);
        } else {
          return attributesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public int getAttributesCount() {
        if (attributesBuilder_ == null) {
          return attributes_.size();
        } else {
          return attributesBuilder_.getCount();
        }
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair getAttributes(int index) {
        if (attributesBuilder_ == null) {
          return attributes_.get(index);
        } else {
          return attributesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder setAttributes(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair value) {
        if (attributesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributesIsMutable();
          attributes_.set(index, value);
          onChanged();
        } else {
          attributesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder setAttributes(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder builderForValue) {
        if (attributesBuilder_ == null) {
          ensureAttributesIsMutable();
          attributes_.set(index, builderForValue.build());
          onChanged();
        } else {
          attributesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder addAttributes(com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair value) {
        if (attributesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributesIsMutable();
          attributes_.add(value);
          onChanged();
        } else {
          attributesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder addAttributes(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair value) {
        if (attributesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributesIsMutable();
          attributes_.add(index, value);
          onChanged();
        } else {
          attributesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder addAttributes(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder builderForValue) {
        if (attributesBuilder_ == null) {
          ensureAttributesIsMutable();
          attributes_.add(builderForValue.build());
          onChanged();
        } else {
          attributesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder addAttributes(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder builderForValue) {
        if (attributesBuilder_ == null) {
          ensureAttributesIsMutable();
          attributes_.add(index, builderForValue.build());
          onChanged();
        } else {
          attributesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder addAllAttributes(
          java.lang.Iterable values) {
        if (attributesBuilder_ == null) {
          ensureAttributesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, attributes_);
          onChanged();
        } else {
          attributesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder clearAttributes() {
        if (attributesBuilder_ == null) {
          attributes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          attributesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public Builder removeAttributes(int index) {
        if (attributesBuilder_ == null) {
          ensureAttributesIsMutable();
          attributes_.remove(index);
          onChanged();
        } else {
          attributesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder getAttributesBuilder(
          int index) {
        return getAttributesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPairOrBuilder getAttributesOrBuilder(
          int index) {
        if (attributesBuilder_ == null) {
          return attributes_.get(index);  } else {
          return attributesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public java.util.List 
           getAttributesOrBuilderList() {
        if (attributesBuilder_ != null) {
          return attributesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attributes_);
        }
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder addAttributesBuilder() {
        return getAttributesFieldBuilder().addBuilder(
            com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.getDefaultInstance());
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder addAttributesBuilder(
          int index) {
        return getAttributesFieldBuilder().addBuilder(
            index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.getDefaultInstance());
      }
      /**
       * repeated .StringPair attributes = 1;
       */
      public java.util.List 
           getAttributesBuilderList() {
        return getAttributesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPairOrBuilder> 
          getAttributesFieldBuilder() {
        if (attributesBuilder_ == null) {
          attributesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPair.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.StringPairOrBuilder>(
                  attributes_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          attributes_ = null;
        }
        return attributesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:RecordAttributes)
    }

    static {
      defaultInstance = new RecordAttributes(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:RecordAttributes)
  }

  public interface RecordDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:RecordData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .FieldData data = 1;
     */
    java.util.List 
        getDataList();
    /**
     * repeated .FieldData data = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData getData(int index);
    /**
     * repeated .FieldData data = 1;
     */
    int getDataCount();
    /**
     * repeated .FieldData data = 1;
     */
    java.util.List 
        getDataOrBuilderList();
    /**
     * repeated .FieldData data = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldDataOrBuilder getDataOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code RecordData}
   */
  public static final class RecordData extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:RecordData)
      RecordDataOrBuilder {
    // Use RecordData.newBuilder() to construct.
    private RecordData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RecordData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RecordData defaultInstance;
    public static RecordData getDefaultInstance() {
      return defaultInstance;
    }

    public RecordData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RecordData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                data_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              data_.add(input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = java.util.Collections.unmodifiableList(data_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public RecordData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RecordData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    public static final int DATA_FIELD_NUMBER = 1;
    private java.util.List data_;
    /**
     * repeated .FieldData data = 1;
     */
    public java.util.List getDataList() {
      return data_;
    }
    /**
     * repeated .FieldData data = 1;
     */
    public java.util.List 
        getDataOrBuilderList() {
      return data_;
    }
    /**
     * repeated .FieldData data = 1;
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * repeated .FieldData data = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData getData(int index) {
      return data_.get(index);
    }
    /**
     * repeated .FieldData data = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldDataOrBuilder getDataOrBuilder(
        int index) {
      return data_.get(index);
    }

    private void initFields() {
      data_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < data_.size(); i++) {
        output.writeMessage(1, data_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < data_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, data_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code RecordData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:RecordData)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getDataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          dataBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordData_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData(this);
        int from_bitField0_ = bitField0_;
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            data_ = java.util.Collections.unmodifiableList(data_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.getDefaultInstance()) return this;
        if (dataBuilder_ == null) {
          if (!other.data_.isEmpty()) {
            if (data_.isEmpty()) {
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDataIsMutable();
              data_.addAll(other.data_);
            }
            onChanged();
          }
        } else {
          if (!other.data_.isEmpty()) {
            if (dataBuilder_.isEmpty()) {
              dataBuilder_.dispose();
              dataBuilder_ = null;
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
              dataBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDataFieldBuilder() : null;
            } else {
              dataBuilder_.addAllMessages(other.data_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List data_ =
        java.util.Collections.emptyList();
      private void ensureDataIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = new java.util.ArrayList(data_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldDataOrBuilder> dataBuilder_;

      /**
       * repeated .FieldData data = 1;
       */
      public java.util.List getDataList() {
        if (dataBuilder_ == null) {
          return java.util.Collections.unmodifiableList(data_);
        } else {
          return dataBuilder_.getMessageList();
        }
      }
      /**
       * repeated .FieldData data = 1;
       */
      public int getDataCount() {
        if (dataBuilder_ == null) {
          return data_.size();
        } else {
          return dataBuilder_.getCount();
        }
      }
      /**
       * repeated .FieldData data = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData getData(int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);
        } else {
          return dataBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder setData(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.set(index, value);
          onChanged();
        } else {
          dataBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder setData(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.set(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder addData(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(value);
          onChanged();
        } else {
          dataBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder addData(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(index, value);
          onChanged();
        } else {
          dataBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder addData(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder addData(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder addAllData(
          java.lang.Iterable values) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, data_);
          onChanged();
        } else {
          dataBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public Builder removeData(int index) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.remove(index);
          onChanged();
        } else {
          dataBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .FieldData data = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder getDataBuilder(
          int index) {
        return getDataFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .FieldData data = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldDataOrBuilder getDataOrBuilder(
          int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);  } else {
          return dataBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .FieldData data = 1;
       */
      public java.util.List 
           getDataOrBuilderList() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(data_);
        }
      }
      /**
       * repeated .FieldData data = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder addDataBuilder() {
        return getDataFieldBuilder().addBuilder(
            com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.getDefaultInstance());
      }
      /**
       * repeated .FieldData data = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder addDataBuilder(
          int index) {
        return getDataFieldBuilder().addBuilder(
            index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.getDefaultInstance());
      }
      /**
       * repeated .FieldData data = 1;
       */
      public java.util.List 
           getDataBuilderList() {
        return getDataFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldDataOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldData.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FieldDataOrBuilder>(
                  data_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:RecordData)
    }

    static {
      defaultInstance = new RecordData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:RecordData)
  }

  public interface RecordEntryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:RecordEntry)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional string shard_id = 1;
     */
    boolean hasShardId();
    /**
     * optional string shard_id = 1;
     */
    java.lang.String getShardId();
    /**
     * optional string shard_id = 1;
     */
    com.google.protobuf.ByteString
        getShardIdBytes();

    /**
     * optional string hash_key = 2;
     */
    boolean hasHashKey();
    /**
     * optional string hash_key = 2;
     */
    java.lang.String getHashKey();
    /**
     * optional string hash_key = 2;
     */
    com.google.protobuf.ByteString
        getHashKeyBytes();

    /**
     * optional string partition_key = 3;
     */
    boolean hasPartitionKey();
    /**
     * optional string partition_key = 3;
     */
    java.lang.String getPartitionKey();
    /**
     * optional string partition_key = 3;
     */
    com.google.protobuf.ByteString
        getPartitionKeyBytes();

    /**
     * optional string cursor = 4;
     */
    boolean hasCursor();
    /**
     * optional string cursor = 4;
     */
    java.lang.String getCursor();
    /**
     * optional string cursor = 4;
     */
    com.google.protobuf.ByteString
        getCursorBytes();

    /**
     * optional string next_cursor = 5;
     */
    boolean hasNextCursor();
    /**
     * optional string next_cursor = 5;
     */
    java.lang.String getNextCursor();
    /**
     * optional string next_cursor = 5;
     */
    com.google.protobuf.ByteString
        getNextCursorBytes();

    /**
     * optional int64 sequence = 6;
     */
    boolean hasSequence();
    /**
     * optional int64 sequence = 6;
     */
    long getSequence();

    /**
     * optional int64 system_time = 7;
     */
    boolean hasSystemTime();
    /**
     * optional int64 system_time = 7;
     */
    long getSystemTime();

    /**
     * optional .RecordAttributes attributes = 8;
     */
    boolean hasAttributes();
    /**
     * optional .RecordAttributes attributes = 8;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes getAttributes();
    /**
     * optional .RecordAttributes attributes = 8;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributesOrBuilder getAttributesOrBuilder();

    /**
     * required .RecordData data = 9;
     */
    boolean hasData();
    /**
     * required .RecordData data = 9;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData getData();
    /**
     * required .RecordData data = 9;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordDataOrBuilder getDataOrBuilder();

    /**
     * optional int64 serial = 10 [default = -1];
     */
    boolean hasSerial();
    /**
     * optional int64 serial = 10 [default = -1];
     */
    long getSerial();
  }
  /**
   * Protobuf type {@code RecordEntry}
   */
  public static final class RecordEntry extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:RecordEntry)
      RecordEntryOrBuilder {
    // Use RecordEntry.newBuilder() to construct.
    private RecordEntry(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RecordEntry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RecordEntry defaultInstance;
    public static RecordEntry getDefaultInstance() {
      return defaultInstance;
    }

    public RecordEntry getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RecordEntry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              shardId_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              hashKey_ = bs;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              partitionKey_ = bs;
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              cursor_ = bs;
              break;
            }
            case 42: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000010;
              nextCursor_ = bs;
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              sequence_ = input.readInt64();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              systemTime_ = input.readInt64();
              break;
            }
            case 66: {
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = attributes_.toBuilder();
              }
              attributes_ = input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(attributes_);
                attributes_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 74: {
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000100) == 0x00000100)) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000100;
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              serial_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordEntry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public RecordEntry parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RecordEntry(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int SHARD_ID_FIELD_NUMBER = 1;
    private java.lang.Object shardId_;
    /**
     * optional string shard_id = 1;
     */
    public boolean hasShardId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string shard_id = 1;
     */
    public java.lang.String getShardId() {
      java.lang.Object ref = shardId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          shardId_ = s;
        }
        return s;
      }
    }
    /**
     * optional string shard_id = 1;
     */
    public com.google.protobuf.ByteString
        getShardIdBytes() {
      java.lang.Object ref = shardId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shardId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HASH_KEY_FIELD_NUMBER = 2;
    private java.lang.Object hashKey_;
    /**
     * optional string hash_key = 2;
     */
    public boolean hasHashKey() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string hash_key = 2;
     */
    public java.lang.String getHashKey() {
      java.lang.Object ref = hashKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          hashKey_ = s;
        }
        return s;
      }
    }
    /**
     * optional string hash_key = 2;
     */
    public com.google.protobuf.ByteString
        getHashKeyBytes() {
      java.lang.Object ref = hashKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hashKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARTITION_KEY_FIELD_NUMBER = 3;
    private java.lang.Object partitionKey_;
    /**
     * optional string partition_key = 3;
     */
    public boolean hasPartitionKey() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string partition_key = 3;
     */
    public java.lang.String getPartitionKey() {
      java.lang.Object ref = partitionKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          partitionKey_ = s;
        }
        return s;
      }
    }
    /**
     * optional string partition_key = 3;
     */
    public com.google.protobuf.ByteString
        getPartitionKeyBytes() {
      java.lang.Object ref = partitionKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partitionKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CURSOR_FIELD_NUMBER = 4;
    private java.lang.Object cursor_;
    /**
     * optional string cursor = 4;
     */
    public boolean hasCursor() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional string cursor = 4;
     */
    public java.lang.String getCursor() {
      java.lang.Object ref = cursor_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          cursor_ = s;
        }
        return s;
      }
    }
    /**
     * optional string cursor = 4;
     */
    public com.google.protobuf.ByteString
        getCursorBytes() {
      java.lang.Object ref = cursor_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cursor_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NEXT_CURSOR_FIELD_NUMBER = 5;
    private java.lang.Object nextCursor_;
    /**
     * optional string next_cursor = 5;
     */
    public boolean hasNextCursor() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional string next_cursor = 5;
     */
    public java.lang.String getNextCursor() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          nextCursor_ = s;
        }
        return s;
      }
    }
    /**
     * optional string next_cursor = 5;
     */
    public com.google.protobuf.ByteString
        getNextCursorBytes() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nextCursor_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SEQUENCE_FIELD_NUMBER = 6;
    private long sequence_;
    /**
     * optional int64 sequence = 6;
     */
    public boolean hasSequence() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int64 sequence = 6;
     */
    public long getSequence() {
      return sequence_;
    }

    public static final int SYSTEM_TIME_FIELD_NUMBER = 7;
    private long systemTime_;
    /**
     * optional int64 system_time = 7;
     */
    public boolean hasSystemTime() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional int64 system_time = 7;
     */
    public long getSystemTime() {
      return systemTime_;
    }

    public static final int ATTRIBUTES_FIELD_NUMBER = 8;
    private com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes attributes_;
    /**
     * optional .RecordAttributes attributes = 8;
     */
    public boolean hasAttributes() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional .RecordAttributes attributes = 8;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes getAttributes() {
      return attributes_;
    }
    /**
     * optional .RecordAttributes attributes = 8;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributesOrBuilder getAttributesOrBuilder() {
      return attributes_;
    }

    public static final int DATA_FIELD_NUMBER = 9;
    private com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData data_;
    /**
     * required .RecordData data = 9;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * required .RecordData data = 9;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData getData() {
      return data_;
    }
    /**
     * required .RecordData data = 9;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordDataOrBuilder getDataOrBuilder() {
      return data_;
    }

    public static final int SERIAL_FIELD_NUMBER = 10;
    private long serial_;
    /**
     * optional int64 serial = 10 [default = -1];
     */
    public boolean hasSerial() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional int64 serial = 10 [default = -1];
     */
    public long getSerial() {
      return serial_;
    }

    private void initFields() {
      shardId_ = "";
      hashKey_ = "";
      partitionKey_ = "";
      cursor_ = "";
      nextCursor_ = "";
      sequence_ = 0L;
      systemTime_ = 0L;
      attributes_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.getDefaultInstance();
      data_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.getDefaultInstance();
      serial_ = -1L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasData()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasAttributes()) {
        if (!getAttributes().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getShardIdBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getHashKeyBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getPartitionKeyBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, getCursorBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt64(6, sequence_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt64(7, systemTime_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(8, attributes_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeMessage(9, data_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt64(10, serial_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getShardIdBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getHashKeyBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getPartitionKeyBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getCursorBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(6, sequence_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(7, systemTime_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, attributes_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, data_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(10, serial_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code RecordEntry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:RecordEntry)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordEntry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAttributesFieldBuilder();
          getDataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        shardId_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        hashKey_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        partitionKey_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        cursor_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        nextCursor_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        sequence_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000020);
        systemTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000040);
        if (attributesBuilder_ == null) {
          attributes_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.getDefaultInstance();
        } else {
          attributesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (dataBuilder_ == null) {
          data_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.getDefaultInstance();
        } else {
          dataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        serial_ = -1L;
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_RecordEntry_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.shardId_ = shardId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.hashKey_ = hashKey_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.partitionKey_ = partitionKey_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.cursor_ = cursor_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.nextCursor_ = nextCursor_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.sequence_ = sequence_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.systemTime_ = systemTime_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (attributesBuilder_ == null) {
          result.attributes_ = attributes_;
        } else {
          result.attributes_ = attributesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.serial_ = serial_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.getDefaultInstance()) return this;
        if (other.hasShardId()) {
          bitField0_ |= 0x00000001;
          shardId_ = other.shardId_;
          onChanged();
        }
        if (other.hasHashKey()) {
          bitField0_ |= 0x00000002;
          hashKey_ = other.hashKey_;
          onChanged();
        }
        if (other.hasPartitionKey()) {
          bitField0_ |= 0x00000004;
          partitionKey_ = other.partitionKey_;
          onChanged();
        }
        if (other.hasCursor()) {
          bitField0_ |= 0x00000008;
          cursor_ = other.cursor_;
          onChanged();
        }
        if (other.hasNextCursor()) {
          bitField0_ |= 0x00000010;
          nextCursor_ = other.nextCursor_;
          onChanged();
        }
        if (other.hasSequence()) {
          setSequence(other.getSequence());
        }
        if (other.hasSystemTime()) {
          setSystemTime(other.getSystemTime());
        }
        if (other.hasAttributes()) {
          mergeAttributes(other.getAttributes());
        }
        if (other.hasData()) {
          mergeData(other.getData());
        }
        if (other.hasSerial()) {
          setSerial(other.getSerial());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasData()) {
          
          return false;
        }
        if (hasAttributes()) {
          if (!getAttributes().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object shardId_ = "";
      /**
       * optional string shard_id = 1;
       */
      public boolean hasShardId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string shard_id = 1;
       */
      public java.lang.String getShardId() {
        java.lang.Object ref = shardId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            shardId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string shard_id = 1;
       */
      public com.google.protobuf.ByteString
          getShardIdBytes() {
        java.lang.Object ref = shardId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shardId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string shard_id = 1;
       */
      public Builder setShardId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        shardId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string shard_id = 1;
       */
      public Builder clearShardId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        shardId_ = getDefaultInstance().getShardId();
        onChanged();
        return this;
      }
      /**
       * optional string shard_id = 1;
       */
      public Builder setShardIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        shardId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object hashKey_ = "";
      /**
       * optional string hash_key = 2;
       */
      public boolean hasHashKey() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string hash_key = 2;
       */
      public java.lang.String getHashKey() {
        java.lang.Object ref = hashKey_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            hashKey_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string hash_key = 2;
       */
      public com.google.protobuf.ByteString
          getHashKeyBytes() {
        java.lang.Object ref = hashKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hashKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string hash_key = 2;
       */
      public Builder setHashKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        hashKey_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string hash_key = 2;
       */
      public Builder clearHashKey() {
        bitField0_ = (bitField0_ & ~0x00000002);
        hashKey_ = getDefaultInstance().getHashKey();
        onChanged();
        return this;
      }
      /**
       * optional string hash_key = 2;
       */
      public Builder setHashKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        hashKey_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object partitionKey_ = "";
      /**
       * optional string partition_key = 3;
       */
      public boolean hasPartitionKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string partition_key = 3;
       */
      public java.lang.String getPartitionKey() {
        java.lang.Object ref = partitionKey_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            partitionKey_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string partition_key = 3;
       */
      public com.google.protobuf.ByteString
          getPartitionKeyBytes() {
        java.lang.Object ref = partitionKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partitionKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string partition_key = 3;
       */
      public Builder setPartitionKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        partitionKey_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string partition_key = 3;
       */
      public Builder clearPartitionKey() {
        bitField0_ = (bitField0_ & ~0x00000004);
        partitionKey_ = getDefaultInstance().getPartitionKey();
        onChanged();
        return this;
      }
      /**
       * optional string partition_key = 3;
       */
      public Builder setPartitionKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        partitionKey_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cursor_ = "";
      /**
       * optional string cursor = 4;
       */
      public boolean hasCursor() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string cursor = 4;
       */
      public java.lang.String getCursor() {
        java.lang.Object ref = cursor_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            cursor_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string cursor = 4;
       */
      public com.google.protobuf.ByteString
          getCursorBytes() {
        java.lang.Object ref = cursor_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cursor_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string cursor = 4;
       */
      public Builder setCursor(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        cursor_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string cursor = 4;
       */
      public Builder clearCursor() {
        bitField0_ = (bitField0_ & ~0x00000008);
        cursor_ = getDefaultInstance().getCursor();
        onChanged();
        return this;
      }
      /**
       * optional string cursor = 4;
       */
      public Builder setCursorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        cursor_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object nextCursor_ = "";
      /**
       * optional string next_cursor = 5;
       */
      public boolean hasNextCursor() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional string next_cursor = 5;
       */
      public java.lang.String getNextCursor() {
        java.lang.Object ref = nextCursor_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            nextCursor_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string next_cursor = 5;
       */
      public com.google.protobuf.ByteString
          getNextCursorBytes() {
        java.lang.Object ref = nextCursor_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nextCursor_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string next_cursor = 5;
       */
      public Builder setNextCursor(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        nextCursor_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string next_cursor = 5;
       */
      public Builder clearNextCursor() {
        bitField0_ = (bitField0_ & ~0x00000010);
        nextCursor_ = getDefaultInstance().getNextCursor();
        onChanged();
        return this;
      }
      /**
       * optional string next_cursor = 5;
       */
      public Builder setNextCursorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        nextCursor_ = value;
        onChanged();
        return this;
      }

      private long sequence_ ;
      /**
       * optional int64 sequence = 6;
       */
      public boolean hasSequence() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int64 sequence = 6;
       */
      public long getSequence() {
        return sequence_;
      }
      /**
       * optional int64 sequence = 6;
       */
      public Builder setSequence(long value) {
        bitField0_ |= 0x00000020;
        sequence_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 sequence = 6;
       */
      public Builder clearSequence() {
        bitField0_ = (bitField0_ & ~0x00000020);
        sequence_ = 0L;
        onChanged();
        return this;
      }

      private long systemTime_ ;
      /**
       * optional int64 system_time = 7;
       */
      public boolean hasSystemTime() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional int64 system_time = 7;
       */
      public long getSystemTime() {
        return systemTime_;
      }
      /**
       * optional int64 system_time = 7;
       */
      public Builder setSystemTime(long value) {
        bitField0_ |= 0x00000040;
        systemTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 system_time = 7;
       */
      public Builder clearSystemTime() {
        bitField0_ = (bitField0_ & ~0x00000040);
        systemTime_ = 0L;
        onChanged();
        return this;
      }

      private com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes attributes_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributesOrBuilder> attributesBuilder_;
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public boolean hasAttributes() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes getAttributes() {
        if (attributesBuilder_ == null) {
          return attributes_;
        } else {
          return attributesBuilder_.getMessage();
        }
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public Builder setAttributes(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes value) {
        if (attributesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          attributes_ = value;
          onChanged();
        } else {
          attributesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public Builder setAttributes(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder builderForValue) {
        if (attributesBuilder_ == null) {
          attributes_ = builderForValue.build();
          onChanged();
        } else {
          attributesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public Builder mergeAttributes(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes value) {
        if (attributesBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              attributes_ != com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.getDefaultInstance()) {
            attributes_ =
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.newBuilder(attributes_).mergeFrom(value).buildPartial();
          } else {
            attributes_ = value;
          }
          onChanged();
        } else {
          attributesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public Builder clearAttributes() {
        if (attributesBuilder_ == null) {
          attributes_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.getDefaultInstance();
          onChanged();
        } else {
          attributesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder getAttributesBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getAttributesFieldBuilder().getBuilder();
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributesOrBuilder getAttributesOrBuilder() {
        if (attributesBuilder_ != null) {
          return attributesBuilder_.getMessageOrBuilder();
        } else {
          return attributes_;
        }
      }
      /**
       * optional .RecordAttributes attributes = 8;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributesOrBuilder> 
          getAttributesFieldBuilder() {
        if (attributesBuilder_ == null) {
          attributesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributes.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordAttributesOrBuilder>(
                  getAttributes(),
                  getParentForChildren(),
                  isClean());
          attributes_ = null;
        }
        return attributesBuilder_;
      }

      private com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData data_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordDataOrBuilder> dataBuilder_;
      /**
       * required .RecordData data = 9;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * required .RecordData data = 9;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData getData() {
        if (dataBuilder_ == null) {
          return data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * required .RecordData data = 9;
       */
      public Builder setData(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * required .RecordData data = 9;
       */
      public Builder setData(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * required .RecordData data = 9;
       */
      public Builder mergeData(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData value) {
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100) &&
              data_ != com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.getDefaultInstance()) {
            data_ =
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * required .RecordData data = 9;
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.getDefaultInstance();
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }
      /**
       * required .RecordData data = 9;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder getDataBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * required .RecordData data = 9;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordDataOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_;
        }
      }
      /**
       * required .RecordData data = 9;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordDataOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordData.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordDataOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      private long serial_ = -1L;
      /**
       * optional int64 serial = 10 [default = -1];
       */
      public boolean hasSerial() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional int64 serial = 10 [default = -1];
       */
      public long getSerial() {
        return serial_;
      }
      /**
       * optional int64 serial = 10 [default = -1];
       */
      public Builder setSerial(long value) {
        bitField0_ |= 0x00000200;
        serial_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 serial = 10 [default = -1];
       */
      public Builder clearSerial() {
        bitField0_ = (bitField0_ & ~0x00000200);
        serial_ = -1L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:RecordEntry)
    }

    static {
      defaultInstance = new RecordEntry(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:RecordEntry)
  }

  public interface PutRecordsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:PutRecordsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .RecordEntry records = 1;
     */
    java.util.List 
        getRecordsList();
    /**
     * repeated .RecordEntry records = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry getRecords(int index);
    /**
     * repeated .RecordEntry records = 1;
     */
    int getRecordsCount();
    /**
     * repeated .RecordEntry records = 1;
     */
    java.util.List 
        getRecordsOrBuilderList();
    /**
     * repeated .RecordEntry records = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder getRecordsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code PutRecordsRequest}
   */
  public static final class PutRecordsRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:PutRecordsRequest)
      PutRecordsRequestOrBuilder {
    // Use PutRecordsRequest.newBuilder() to construct.
    private PutRecordsRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutRecordsRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutRecordsRequest defaultInstance;
    public static PutRecordsRequest getDefaultInstance() {
      return defaultInstance;
    }

    public PutRecordsRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutRecordsRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                records_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              records_.add(input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          records_ = java.util.Collections.unmodifiableList(records_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public PutRecordsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutRecordsRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    public static final int RECORDS_FIELD_NUMBER = 1;
    private java.util.List records_;
    /**
     * repeated .RecordEntry records = 1;
     */
    public java.util.List getRecordsList() {
      return records_;
    }
    /**
     * repeated .RecordEntry records = 1;
     */
    public java.util.List 
        getRecordsOrBuilderList() {
      return records_;
    }
    /**
     * repeated .RecordEntry records = 1;
     */
    public int getRecordsCount() {
      return records_.size();
    }
    /**
     * repeated .RecordEntry records = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry getRecords(int index) {
      return records_.get(index);
    }
    /**
     * repeated .RecordEntry records = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder getRecordsOrBuilder(
        int index) {
      return records_.get(index);
    }

    private void initFields() {
      records_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      for (int i = 0; i < getRecordsCount(); i++) {
        if (!getRecords(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < records_.size(); i++) {
        output.writeMessage(1, records_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < records_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, records_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutRecordsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:PutRecordsRequest)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsRequest_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest(this);
        int from_bitField0_ = bitField0_;
        if (recordsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            records_ = java.util.Collections.unmodifiableList(records_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.records_ = records_;
        } else {
          result.records_ = recordsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest.getDefaultInstance()) return this;
        if (recordsBuilder_ == null) {
          if (!other.records_.isEmpty()) {
            if (records_.isEmpty()) {
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRecordsIsMutable();
              records_.addAll(other.records_);
            }
            onChanged();
          }
        } else {
          if (!other.records_.isEmpty()) {
            if (recordsBuilder_.isEmpty()) {
              recordsBuilder_.dispose();
              recordsBuilder_ = null;
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000001);
              recordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRecordsFieldBuilder() : null;
            } else {
              recordsBuilder_.addAllMessages(other.records_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getRecordsCount(); i++) {
          if (!getRecords(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List records_ =
        java.util.Collections.emptyList();
      private void ensureRecordsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          records_ = new java.util.ArrayList(records_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder> recordsBuilder_;

      /**
       * repeated .RecordEntry records = 1;
       */
      public java.util.List getRecordsList() {
        if (recordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(records_);
        } else {
          return recordsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public int getRecordsCount() {
        if (recordsBuilder_ == null) {
          return records_.size();
        } else {
          return recordsBuilder_.getCount();
        }
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry getRecords(int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);
        } else {
          return recordsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.set(index, value);
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.set(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder addRecords(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(index, value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder addRecords(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder addAllRecords(
          java.lang.Iterable values) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, records_);
          onChanged();
        } else {
          recordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder clearRecords() {
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public Builder removeRecords(int index) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.remove(index);
          onChanged();
        } else {
          recordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder getRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder getRecordsOrBuilder(
          int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);  } else {
          return recordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public java.util.List 
           getRecordsOrBuilderList() {
        if (recordsBuilder_ != null) {
          return recordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(records_);
        }
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder addRecordsBuilder() {
        return getRecordsFieldBuilder().addBuilder(
            com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.getDefaultInstance());
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder addRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().addBuilder(
            index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.getDefaultInstance());
      }
      /**
       * repeated .RecordEntry records = 1;
       */
      public java.util.List 
           getRecordsBuilderList() {
        return getRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder> 
          getRecordsFieldBuilder() {
        if (recordsBuilder_ == null) {
          recordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder>(
                  records_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          records_ = null;
        }
        return recordsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:PutRecordsRequest)
    }

    static {
      defaultInstance = new PutRecordsRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutRecordsRequest)
  }

  public interface FailedRecordOrBuilder extends
      // @@protoc_insertion_point(interface_extends:FailedRecord)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required int32 index = 1;
     */
    boolean hasIndex();
    /**
     * required int32 index = 1;
     */
    int getIndex();

    /**
     * optional string error_code = 2;
     */
    boolean hasErrorCode();
    /**
     * optional string error_code = 2;
     */
    java.lang.String getErrorCode();
    /**
     * optional string error_code = 2;
     */
    com.google.protobuf.ByteString
        getErrorCodeBytes();

    /**
     * optional string error_message = 3;
     */
    boolean hasErrorMessage();
    /**
     * optional string error_message = 3;
     */
    java.lang.String getErrorMessage();
    /**
     * optional string error_message = 3;
     */
    com.google.protobuf.ByteString
        getErrorMessageBytes();
  }
  /**
   * Protobuf type {@code FailedRecord}
   */
  public static final class FailedRecord extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:FailedRecord)
      FailedRecordOrBuilder {
    // Use FailedRecord.newBuilder() to construct.
    private FailedRecord(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private FailedRecord(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final FailedRecord defaultInstance;
    public static FailedRecord getDefaultInstance() {
      return defaultInstance;
    }

    public FailedRecord getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private FailedRecord(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              index_ = input.readInt32();
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              errorCode_ = bs;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              errorMessage_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FailedRecord_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FailedRecord_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public FailedRecord parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FailedRecord(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int INDEX_FIELD_NUMBER = 1;
    private int index_;
    /**
     * required int32 index = 1;
     */
    public boolean hasIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required int32 index = 1;
     */
    public int getIndex() {
      return index_;
    }

    public static final int ERROR_CODE_FIELD_NUMBER = 2;
    private java.lang.Object errorCode_;
    /**
     * optional string error_code = 2;
     */
    public boolean hasErrorCode() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string error_code = 2;
     */
    public java.lang.String getErrorCode() {
      java.lang.Object ref = errorCode_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          errorCode_ = s;
        }
        return s;
      }
    }
    /**
     * optional string error_code = 2;
     */
    public com.google.protobuf.ByteString
        getErrorCodeBytes() {
      java.lang.Object ref = errorCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ERROR_MESSAGE_FIELD_NUMBER = 3;
    private java.lang.Object errorMessage_;
    /**
     * optional string error_message = 3;
     */
    public boolean hasErrorMessage() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string error_message = 3;
     */
    public java.lang.String getErrorMessage() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          errorMessage_ = s;
        }
        return s;
      }
    }
    /**
     * optional string error_message = 3;
     */
    public com.google.protobuf.ByteString
        getErrorMessageBytes() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorMessage_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      index_ = 0;
      errorCode_ = "";
      errorMessage_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasIndex()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, index_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getErrorCodeBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getErrorMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, index_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getErrorCodeBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getErrorMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code FailedRecord}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:FailedRecord)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecordOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FailedRecord_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FailedRecord_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        index_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        errorCode_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        errorMessage_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_FailedRecord_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.index_ = index_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.errorCode_ = errorCode_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.errorMessage_ = errorMessage_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.getDefaultInstance()) return this;
        if (other.hasIndex()) {
          setIndex(other.getIndex());
        }
        if (other.hasErrorCode()) {
          bitField0_ |= 0x00000002;
          errorCode_ = other.errorCode_;
          onChanged();
        }
        if (other.hasErrorMessage()) {
          bitField0_ |= 0x00000004;
          errorMessage_ = other.errorMessage_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasIndex()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int index_ ;
      /**
       * required int32 index = 1;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required int32 index = 1;
       */
      public int getIndex() {
        return index_;
      }
      /**
       * required int32 index = 1;
       */
      public Builder setIndex(int value) {
        bitField0_ |= 0x00000001;
        index_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 index = 1;
       */
      public Builder clearIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        index_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object errorCode_ = "";
      /**
       * optional string error_code = 2;
       */
      public boolean hasErrorCode() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string error_code = 2;
       */
      public java.lang.String getErrorCode() {
        java.lang.Object ref = errorCode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            errorCode_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string error_code = 2;
       */
      public com.google.protobuf.ByteString
          getErrorCodeBytes() {
        java.lang.Object ref = errorCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string error_code = 2;
       */
      public Builder setErrorCode(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        errorCode_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string error_code = 2;
       */
      public Builder clearErrorCode() {
        bitField0_ = (bitField0_ & ~0x00000002);
        errorCode_ = getDefaultInstance().getErrorCode();
        onChanged();
        return this;
      }
      /**
       * optional string error_code = 2;
       */
      public Builder setErrorCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        errorCode_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object errorMessage_ = "";
      /**
       * optional string error_message = 3;
       */
      public boolean hasErrorMessage() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string error_message = 3;
       */
      public java.lang.String getErrorMessage() {
        java.lang.Object ref = errorMessage_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            errorMessage_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string error_message = 3;
       */
      public com.google.protobuf.ByteString
          getErrorMessageBytes() {
        java.lang.Object ref = errorMessage_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorMessage_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string error_message = 3;
       */
      public Builder setErrorMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        errorMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string error_message = 3;
       */
      public Builder clearErrorMessage() {
        bitField0_ = (bitField0_ & ~0x00000004);
        errorMessage_ = getDefaultInstance().getErrorMessage();
        onChanged();
        return this;
      }
      /**
       * optional string error_message = 3;
       */
      public Builder setErrorMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        errorMessage_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:FailedRecord)
    }

    static {
      defaultInstance = new FailedRecord(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:FailedRecord)
  }

  public interface PutRecordsResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:PutRecordsResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional int32 failed_count = 1;
     */
    boolean hasFailedCount();
    /**
     * optional int32 failed_count = 1;
     */
    int getFailedCount();

    /**
     * repeated .FailedRecord failed_records = 2;
     */
    java.util.List 
        getFailedRecordsList();
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord getFailedRecords(int index);
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    int getFailedRecordsCount();
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    java.util.List 
        getFailedRecordsOrBuilderList();
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecordOrBuilder getFailedRecordsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code PutRecordsResponse}
   */
  public static final class PutRecordsResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:PutRecordsResponse)
      PutRecordsResponseOrBuilder {
    // Use PutRecordsResponse.newBuilder() to construct.
    private PutRecordsResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutRecordsResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutRecordsResponse defaultInstance;
    public static PutRecordsResponse getDefaultInstance() {
      return defaultInstance;
    }

    public PutRecordsResponse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutRecordsResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              failedCount_ = input.readInt32();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                failedRecords_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              failedRecords_.add(input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          failedRecords_ = java.util.Collections.unmodifiableList(failedRecords_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public PutRecordsResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutRecordsResponse(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int FAILED_COUNT_FIELD_NUMBER = 1;
    private int failedCount_;
    /**
     * optional int32 failed_count = 1;
     */
    public boolean hasFailedCount() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 failed_count = 1;
     */
    public int getFailedCount() {
      return failedCount_;
    }

    public static final int FAILED_RECORDS_FIELD_NUMBER = 2;
    private java.util.List failedRecords_;
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    public java.util.List getFailedRecordsList() {
      return failedRecords_;
    }
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    public java.util.List 
        getFailedRecordsOrBuilderList() {
      return failedRecords_;
    }
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    public int getFailedRecordsCount() {
      return failedRecords_.size();
    }
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord getFailedRecords(int index) {
      return failedRecords_.get(index);
    }
    /**
     * repeated .FailedRecord failed_records = 2;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecordOrBuilder getFailedRecordsOrBuilder(
        int index) {
      return failedRecords_.get(index);
    }

    private void initFields() {
      failedCount_ = 0;
      failedRecords_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      for (int i = 0; i < getFailedRecordsCount(); i++) {
        if (!getFailedRecords(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, failedCount_);
      }
      for (int i = 0; i < failedRecords_.size(); i++) {
        output.writeMessage(2, failedRecords_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, failedCount_);
      }
      for (int i = 0; i < failedRecords_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, failedRecords_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutRecordsResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:PutRecordsResponse)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getFailedRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        failedCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (failedRecordsBuilder_ == null) {
          failedRecords_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          failedRecordsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutRecordsResponse_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.failedCount_ = failedCount_;
        if (failedRecordsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            failedRecords_ = java.util.Collections.unmodifiableList(failedRecords_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.failedRecords_ = failedRecords_;
        } else {
          result.failedRecords_ = failedRecordsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse.getDefaultInstance()) return this;
        if (other.hasFailedCount()) {
          setFailedCount(other.getFailedCount());
        }
        if (failedRecordsBuilder_ == null) {
          if (!other.failedRecords_.isEmpty()) {
            if (failedRecords_.isEmpty()) {
              failedRecords_ = other.failedRecords_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureFailedRecordsIsMutable();
              failedRecords_.addAll(other.failedRecords_);
            }
            onChanged();
          }
        } else {
          if (!other.failedRecords_.isEmpty()) {
            if (failedRecordsBuilder_.isEmpty()) {
              failedRecordsBuilder_.dispose();
              failedRecordsBuilder_ = null;
              failedRecords_ = other.failedRecords_;
              bitField0_ = (bitField0_ & ~0x00000002);
              failedRecordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getFailedRecordsFieldBuilder() : null;
            } else {
              failedRecordsBuilder_.addAllMessages(other.failedRecords_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getFailedRecordsCount(); i++) {
          if (!getFailedRecords(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutRecordsResponse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int failedCount_ ;
      /**
       * optional int32 failed_count = 1;
       */
      public boolean hasFailedCount() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 failed_count = 1;
       */
      public int getFailedCount() {
        return failedCount_;
      }
      /**
       * optional int32 failed_count = 1;
       */
      public Builder setFailedCount(int value) {
        bitField0_ |= 0x00000001;
        failedCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 failed_count = 1;
       */
      public Builder clearFailedCount() {
        bitField0_ = (bitField0_ & ~0x00000001);
        failedCount_ = 0;
        onChanged();
        return this;
      }

      private java.util.List failedRecords_ =
        java.util.Collections.emptyList();
      private void ensureFailedRecordsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          failedRecords_ = new java.util.ArrayList(failedRecords_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecordOrBuilder> failedRecordsBuilder_;

      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public java.util.List getFailedRecordsList() {
        if (failedRecordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(failedRecords_);
        } else {
          return failedRecordsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public int getFailedRecordsCount() {
        if (failedRecordsBuilder_ == null) {
          return failedRecords_.size();
        } else {
          return failedRecordsBuilder_.getCount();
        }
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord getFailedRecords(int index) {
        if (failedRecordsBuilder_ == null) {
          return failedRecords_.get(index);
        } else {
          return failedRecordsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder setFailedRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord value) {
        if (failedRecordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFailedRecordsIsMutable();
          failedRecords_.set(index, value);
          onChanged();
        } else {
          failedRecordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder setFailedRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder builderForValue) {
        if (failedRecordsBuilder_ == null) {
          ensureFailedRecordsIsMutable();
          failedRecords_.set(index, builderForValue.build());
          onChanged();
        } else {
          failedRecordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder addFailedRecords(com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord value) {
        if (failedRecordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFailedRecordsIsMutable();
          failedRecords_.add(value);
          onChanged();
        } else {
          failedRecordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder addFailedRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord value) {
        if (failedRecordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFailedRecordsIsMutable();
          failedRecords_.add(index, value);
          onChanged();
        } else {
          failedRecordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder addFailedRecords(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder builderForValue) {
        if (failedRecordsBuilder_ == null) {
          ensureFailedRecordsIsMutable();
          failedRecords_.add(builderForValue.build());
          onChanged();
        } else {
          failedRecordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder addFailedRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder builderForValue) {
        if (failedRecordsBuilder_ == null) {
          ensureFailedRecordsIsMutable();
          failedRecords_.add(index, builderForValue.build());
          onChanged();
        } else {
          failedRecordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder addAllFailedRecords(
          java.lang.Iterable values) {
        if (failedRecordsBuilder_ == null) {
          ensureFailedRecordsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, failedRecords_);
          onChanged();
        } else {
          failedRecordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder clearFailedRecords() {
        if (failedRecordsBuilder_ == null) {
          failedRecords_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          failedRecordsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public Builder removeFailedRecords(int index) {
        if (failedRecordsBuilder_ == null) {
          ensureFailedRecordsIsMutable();
          failedRecords_.remove(index);
          onChanged();
        } else {
          failedRecordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder getFailedRecordsBuilder(
          int index) {
        return getFailedRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecordOrBuilder getFailedRecordsOrBuilder(
          int index) {
        if (failedRecordsBuilder_ == null) {
          return failedRecords_.get(index);  } else {
          return failedRecordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public java.util.List 
           getFailedRecordsOrBuilderList() {
        if (failedRecordsBuilder_ != null) {
          return failedRecordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(failedRecords_);
        }
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder addFailedRecordsBuilder() {
        return getFailedRecordsFieldBuilder().addBuilder(
            com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.getDefaultInstance());
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder addFailedRecordsBuilder(
          int index) {
        return getFailedRecordsFieldBuilder().addBuilder(
            index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.getDefaultInstance());
      }
      /**
       * repeated .FailedRecord failed_records = 2;
       */
      public java.util.List 
           getFailedRecordsBuilderList() {
        return getFailedRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecordOrBuilder> 
          getFailedRecordsFieldBuilder() {
        if (failedRecordsBuilder_ == null) {
          failedRecordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecord.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.FailedRecordOrBuilder>(
                  failedRecords_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          failedRecords_ = null;
        }
        return failedRecordsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:PutRecordsResponse)
    }

    static {
      defaultInstance = new PutRecordsResponse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutRecordsResponse)
  }

  public interface GetRecordsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:GetRecordsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required string cursor = 1;
     */
    boolean hasCursor();
    /**
     * required string cursor = 1;
     */
    java.lang.String getCursor();
    /**
     * required string cursor = 1;
     */
    com.google.protobuf.ByteString
        getCursorBytes();

    /**
     * optional int32 limit = 2 [default = 1];
     */
    boolean hasLimit();
    /**
     * optional int32 limit = 2 [default = 1];
     */
    int getLimit();

    /**
     * optional string filter = 3;
     */
    boolean hasFilter();
    /**
     * optional string filter = 3;
     */
    java.lang.String getFilter();
    /**
     * optional string filter = 3;
     */
    com.google.protobuf.ByteString
        getFilterBytes();
  }
  /**
   * Protobuf type {@code GetRecordsRequest}
   */
  public static final class GetRecordsRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:GetRecordsRequest)
      GetRecordsRequestOrBuilder {
    // Use GetRecordsRequest.newBuilder() to construct.
    private GetRecordsRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private GetRecordsRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final GetRecordsRequest defaultInstance;
    public static GetRecordsRequest getDefaultInstance() {
      return defaultInstance;
    }

    public GetRecordsRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private GetRecordsRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              cursor_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              limit_ = input.readInt32();
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              filter_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public GetRecordsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GetRecordsRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int CURSOR_FIELD_NUMBER = 1;
    private java.lang.Object cursor_;
    /**
     * required string cursor = 1;
     */
    public boolean hasCursor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required string cursor = 1;
     */
    public java.lang.String getCursor() {
      java.lang.Object ref = cursor_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          cursor_ = s;
        }
        return s;
      }
    }
    /**
     * required string cursor = 1;
     */
    public com.google.protobuf.ByteString
        getCursorBytes() {
      java.lang.Object ref = cursor_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cursor_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LIMIT_FIELD_NUMBER = 2;
    private int limit_;
    /**
     * optional int32 limit = 2 [default = 1];
     */
    public boolean hasLimit() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 limit = 2 [default = 1];
     */
    public int getLimit() {
      return limit_;
    }

    public static final int FILTER_FIELD_NUMBER = 3;
    private java.lang.Object filter_;
    /**
     * optional string filter = 3;
     */
    public boolean hasFilter() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string filter = 3;
     */
    public java.lang.String getFilter() {
      java.lang.Object ref = filter_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          filter_ = s;
        }
        return s;
      }
    }
    /**
     * optional string filter = 3;
     */
    public com.google.protobuf.ByteString
        getFilterBytes() {
      java.lang.Object ref = filter_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        filter_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      cursor_ = "";
      limit_ = 1;
      filter_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasCursor()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, limit_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getFilterBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, limit_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getFilterBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code GetRecordsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:GetRecordsRequest)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        cursor_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        limit_ = 1;
        bitField0_ = (bitField0_ & ~0x00000002);
        filter_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsRequest_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.cursor_ = cursor_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.limit_ = limit_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.filter_ = filter_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest.getDefaultInstance()) return this;
        if (other.hasCursor()) {
          bitField0_ |= 0x00000001;
          cursor_ = other.cursor_;
          onChanged();
        }
        if (other.hasLimit()) {
          setLimit(other.getLimit());
        }
        if (other.hasFilter()) {
          bitField0_ |= 0x00000004;
          filter_ = other.filter_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasCursor()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object cursor_ = "";
      /**
       * required string cursor = 1;
       */
      public boolean hasCursor() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required string cursor = 1;
       */
      public java.lang.String getCursor() {
        java.lang.Object ref = cursor_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            cursor_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string cursor = 1;
       */
      public com.google.protobuf.ByteString
          getCursorBytes() {
        java.lang.Object ref = cursor_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cursor_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string cursor = 1;
       */
      public Builder setCursor(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        cursor_ = value;
        onChanged();
        return this;
      }
      /**
       * required string cursor = 1;
       */
      public Builder clearCursor() {
        bitField0_ = (bitField0_ & ~0x00000001);
        cursor_ = getDefaultInstance().getCursor();
        onChanged();
        return this;
      }
      /**
       * required string cursor = 1;
       */
      public Builder setCursorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        cursor_ = value;
        onChanged();
        return this;
      }

      private int limit_ = 1;
      /**
       * optional int32 limit = 2 [default = 1];
       */
      public boolean hasLimit() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 limit = 2 [default = 1];
       */
      public int getLimit() {
        return limit_;
      }
      /**
       * optional int32 limit = 2 [default = 1];
       */
      public Builder setLimit(int value) {
        bitField0_ |= 0x00000002;
        limit_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 limit = 2 [default = 1];
       */
      public Builder clearLimit() {
        bitField0_ = (bitField0_ & ~0x00000002);
        limit_ = 1;
        onChanged();
        return this;
      }

      private java.lang.Object filter_ = "";
      /**
       * optional string filter = 3;
       */
      public boolean hasFilter() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string filter = 3;
       */
      public java.lang.String getFilter() {
        java.lang.Object ref = filter_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            filter_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string filter = 3;
       */
      public com.google.protobuf.ByteString
          getFilterBytes() {
        java.lang.Object ref = filter_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filter_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string filter = 3;
       */
      public Builder setFilter(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        filter_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string filter = 3;
       */
      public Builder clearFilter() {
        bitField0_ = (bitField0_ & ~0x00000004);
        filter_ = getDefaultInstance().getFilter();
        onChanged();
        return this;
      }
      /**
       * optional string filter = 3;
       */
      public Builder setFilterBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        filter_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:GetRecordsRequest)
    }

    static {
      defaultInstance = new GetRecordsRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:GetRecordsRequest)
  }

  public interface GetRecordsResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:GetRecordsResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required string next_cursor = 1;
     */
    boolean hasNextCursor();
    /**
     * required string next_cursor = 1;
     */
    java.lang.String getNextCursor();
    /**
     * required string next_cursor = 1;
     */
    com.google.protobuf.ByteString
        getNextCursorBytes();

    /**
     * required int32 record_count = 2;
     */
    boolean hasRecordCount();
    /**
     * required int32 record_count = 2;
     */
    int getRecordCount();

    /**
     * optional int64 start_sequence = 3;
     */
    boolean hasStartSequence();
    /**
     * optional int64 start_sequence = 3;
     */
    long getStartSequence();

    /**
     * repeated .RecordEntry records = 4;
     */
    java.util.List 
        getRecordsList();
    /**
     * repeated .RecordEntry records = 4;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry getRecords(int index);
    /**
     * repeated .RecordEntry records = 4;
     */
    int getRecordsCount();
    /**
     * repeated .RecordEntry records = 4;
     */
    java.util.List 
        getRecordsOrBuilderList();
    /**
     * repeated .RecordEntry records = 4;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder getRecordsOrBuilder(
        int index);

    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    boolean hasLatestSequence();
    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    long getLatestSequence();

    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    boolean hasLatestTime();
    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    long getLatestTime();
  }
  /**
   * Protobuf type {@code GetRecordsResponse}
   */
  public static final class GetRecordsResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:GetRecordsResponse)
      GetRecordsResponseOrBuilder {
    // Use GetRecordsResponse.newBuilder() to construct.
    private GetRecordsResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private GetRecordsResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final GetRecordsResponse defaultInstance;
    public static GetRecordsResponse getDefaultInstance() {
      return defaultInstance;
    }

    public GetRecordsResponse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private GetRecordsResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              nextCursor_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              recordCount_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              startSequence_ = input.readInt64();
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                records_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              records_.add(input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.PARSER, extensionRegistry));
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              latestSequence_ = input.readInt64();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000010;
              latestTime_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          records_ = java.util.Collections.unmodifiableList(records_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public GetRecordsResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GetRecordsResponse(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int NEXT_CURSOR_FIELD_NUMBER = 1;
    private java.lang.Object nextCursor_;
    /**
     * required string next_cursor = 1;
     */
    public boolean hasNextCursor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required string next_cursor = 1;
     */
    public java.lang.String getNextCursor() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          nextCursor_ = s;
        }
        return s;
      }
    }
    /**
     * required string next_cursor = 1;
     */
    public com.google.protobuf.ByteString
        getNextCursorBytes() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nextCursor_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RECORD_COUNT_FIELD_NUMBER = 2;
    private int recordCount_;
    /**
     * required int32 record_count = 2;
     */
    public boolean hasRecordCount() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required int32 record_count = 2;
     */
    public int getRecordCount() {
      return recordCount_;
    }

    public static final int START_SEQUENCE_FIELD_NUMBER = 3;
    private long startSequence_;
    /**
     * optional int64 start_sequence = 3;
     */
    public boolean hasStartSequence() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int64 start_sequence = 3;
     */
    public long getStartSequence() {
      return startSequence_;
    }

    public static final int RECORDS_FIELD_NUMBER = 4;
    private java.util.List records_;
    /**
     * repeated .RecordEntry records = 4;
     */
    public java.util.List getRecordsList() {
      return records_;
    }
    /**
     * repeated .RecordEntry records = 4;
     */
    public java.util.List 
        getRecordsOrBuilderList() {
      return records_;
    }
    /**
     * repeated .RecordEntry records = 4;
     */
    public int getRecordsCount() {
      return records_.size();
    }
    /**
     * repeated .RecordEntry records = 4;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry getRecords(int index) {
      return records_.get(index);
    }
    /**
     * repeated .RecordEntry records = 4;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder getRecordsOrBuilder(
        int index) {
      return records_.get(index);
    }

    public static final int LATEST_SEQUENCE_FIELD_NUMBER = 5;
    private long latestSequence_;
    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    public boolean hasLatestSequence() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    public long getLatestSequence() {
      return latestSequence_;
    }

    public static final int LATEST_TIME_FIELD_NUMBER = 6;
    private long latestTime_;
    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    public boolean hasLatestTime() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    public long getLatestTime() {
      return latestTime_;
    }

    private void initFields() {
      nextCursor_ = "";
      recordCount_ = 0;
      startSequence_ = 0L;
      records_ = java.util.Collections.emptyList();
      latestSequence_ = -1L;
      latestTime_ = -1L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasNextCursor()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRecordCount()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getRecordsCount(); i++) {
        if (!getRecords(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, recordCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt64(3, startSequence_);
      }
      for (int i = 0; i < records_.size(); i++) {
        output.writeMessage(4, records_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt64(5, latestSequence_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt64(6, latestTime_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, recordCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, startSequence_);
      }
      for (int i = 0; i < records_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, records_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, latestSequence_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(6, latestTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code GetRecordsResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:GetRecordsResponse)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        nextCursor_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        recordCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        startSequence_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          recordsBuilder_.clear();
        }
        latestSequence_ = -1L;
        bitField0_ = (bitField0_ & ~0x00000010);
        latestTime_ = -1L;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetRecordsResponse_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.nextCursor_ = nextCursor_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.recordCount_ = recordCount_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.startSequence_ = startSequence_;
        if (recordsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            records_ = java.util.Collections.unmodifiableList(records_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.records_ = records_;
        } else {
          result.records_ = recordsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000008;
        }
        result.latestSequence_ = latestSequence_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000010;
        }
        result.latestTime_ = latestTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse.getDefaultInstance()) return this;
        if (other.hasNextCursor()) {
          bitField0_ |= 0x00000001;
          nextCursor_ = other.nextCursor_;
          onChanged();
        }
        if (other.hasRecordCount()) {
          setRecordCount(other.getRecordCount());
        }
        if (other.hasStartSequence()) {
          setStartSequence(other.getStartSequence());
        }
        if (recordsBuilder_ == null) {
          if (!other.records_.isEmpty()) {
            if (records_.isEmpty()) {
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureRecordsIsMutable();
              records_.addAll(other.records_);
            }
            onChanged();
          }
        } else {
          if (!other.records_.isEmpty()) {
            if (recordsBuilder_.isEmpty()) {
              recordsBuilder_.dispose();
              recordsBuilder_ = null;
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000008);
              recordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRecordsFieldBuilder() : null;
            } else {
              recordsBuilder_.addAllMessages(other.records_);
            }
          }
        }
        if (other.hasLatestSequence()) {
          setLatestSequence(other.getLatestSequence());
        }
        if (other.hasLatestTime()) {
          setLatestTime(other.getLatestTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasNextCursor()) {
          
          return false;
        }
        if (!hasRecordCount()) {
          
          return false;
        }
        for (int i = 0; i < getRecordsCount(); i++) {
          if (!getRecords(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetRecordsResponse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object nextCursor_ = "";
      /**
       * required string next_cursor = 1;
       */
      public boolean hasNextCursor() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required string next_cursor = 1;
       */
      public java.lang.String getNextCursor() {
        java.lang.Object ref = nextCursor_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            nextCursor_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string next_cursor = 1;
       */
      public com.google.protobuf.ByteString
          getNextCursorBytes() {
        java.lang.Object ref = nextCursor_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nextCursor_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string next_cursor = 1;
       */
      public Builder setNextCursor(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        nextCursor_ = value;
        onChanged();
        return this;
      }
      /**
       * required string next_cursor = 1;
       */
      public Builder clearNextCursor() {
        bitField0_ = (bitField0_ & ~0x00000001);
        nextCursor_ = getDefaultInstance().getNextCursor();
        onChanged();
        return this;
      }
      /**
       * required string next_cursor = 1;
       */
      public Builder setNextCursorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        nextCursor_ = value;
        onChanged();
        return this;
      }

      private int recordCount_ ;
      /**
       * required int32 record_count = 2;
       */
      public boolean hasRecordCount() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required int32 record_count = 2;
       */
      public int getRecordCount() {
        return recordCount_;
      }
      /**
       * required int32 record_count = 2;
       */
      public Builder setRecordCount(int value) {
        bitField0_ |= 0x00000002;
        recordCount_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 record_count = 2;
       */
      public Builder clearRecordCount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        recordCount_ = 0;
        onChanged();
        return this;
      }

      private long startSequence_ ;
      /**
       * optional int64 start_sequence = 3;
       */
      public boolean hasStartSequence() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int64 start_sequence = 3;
       */
      public long getStartSequence() {
        return startSequence_;
      }
      /**
       * optional int64 start_sequence = 3;
       */
      public Builder setStartSequence(long value) {
        bitField0_ |= 0x00000004;
        startSequence_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 start_sequence = 3;
       */
      public Builder clearStartSequence() {
        bitField0_ = (bitField0_ & ~0x00000004);
        startSequence_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List records_ =
        java.util.Collections.emptyList();
      private void ensureRecordsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          records_ = new java.util.ArrayList(records_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder> recordsBuilder_;

      /**
       * repeated .RecordEntry records = 4;
       */
      public java.util.List getRecordsList() {
        if (recordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(records_);
        } else {
          return recordsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public int getRecordsCount() {
        if (recordsBuilder_ == null) {
          return records_.size();
        } else {
          return recordsBuilder_.getCount();
        }
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry getRecords(int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);
        } else {
          return recordsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.set(index, value);
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.set(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder addRecords(com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(index, value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder addRecords(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder addAllRecords(
          java.lang.Iterable values) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, records_);
          onChanged();
        } else {
          recordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder clearRecords() {
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public Builder removeRecords(int index) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.remove(index);
          onChanged();
        } else {
          recordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder getRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder getRecordsOrBuilder(
          int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);  } else {
          return recordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public java.util.List 
           getRecordsOrBuilderList() {
        if (recordsBuilder_ != null) {
          return recordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(records_);
        }
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder addRecordsBuilder() {
        return getRecordsFieldBuilder().addBuilder(
            com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.getDefaultInstance());
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder addRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().addBuilder(
            index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.getDefaultInstance());
      }
      /**
       * repeated .RecordEntry records = 4;
       */
      public java.util.List 
           getRecordsBuilderList() {
        return getRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder> 
          getRecordsFieldBuilder() {
        if (recordsBuilder_ == null) {
          recordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.RecordEntryOrBuilder>(
                  records_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          records_ = null;
        }
        return recordsBuilder_;
      }

      private long latestSequence_ = -1L;
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public boolean hasLatestSequence() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public long getLatestSequence() {
        return latestSequence_;
      }
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public Builder setLatestSequence(long value) {
        bitField0_ |= 0x00000010;
        latestSequence_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public Builder clearLatestSequence() {
        bitField0_ = (bitField0_ & ~0x00000010);
        latestSequence_ = -1L;
        onChanged();
        return this;
      }

      private long latestTime_ = -1L;
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public boolean hasLatestTime() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public long getLatestTime() {
        return latestTime_;
      }
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public Builder setLatestTime(long value) {
        bitField0_ |= 0x00000020;
        latestTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public Builder clearLatestTime() {
        bitField0_ = (bitField0_ & ~0x00000020);
        latestTime_ = -1L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:GetRecordsResponse)
    }

    static {
      defaultInstance = new GetRecordsResponse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:GetRecordsResponse)
  }

  public interface BinaryRecordEntryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:BinaryRecordEntry)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional string cursor = 1;
     */
    boolean hasCursor();
    /**
     * optional string cursor = 1;
     */
    java.lang.String getCursor();
    /**
     * optional string cursor = 1;
     */
    com.google.protobuf.ByteString
        getCursorBytes();

    /**
     * optional string next_cursor = 2;
     */
    boolean hasNextCursor();
    /**
     * optional string next_cursor = 2;
     */
    java.lang.String getNextCursor();
    /**
     * optional string next_cursor = 2;
     */
    com.google.protobuf.ByteString
        getNextCursorBytes();

    /**
     * optional int64 sequence = 3;
     */
    boolean hasSequence();
    /**
     * optional int64 sequence = 3;
     */
    long getSequence();

    /**
     * optional int64 system_time = 4;
     */
    boolean hasSystemTime();
    /**
     * optional int64 system_time = 4;
     */
    long getSystemTime();

    /**
     * optional uint32 serial = 5 [default = 0];
     */
    boolean hasSerial();
    /**
     * optional uint32 serial = 5 [default = 0];
     */
    int getSerial();

    /**
     * optional bytes data = 6;
     */
    boolean hasData();
    /**
     * optional bytes data = 6;
     */
    com.google.protobuf.ByteString getData();
  }
  /**
   * Protobuf type {@code BinaryRecordEntry}
   */
  public static final class BinaryRecordEntry extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:BinaryRecordEntry)
      BinaryRecordEntryOrBuilder {
    // Use BinaryRecordEntry.newBuilder() to construct.
    private BinaryRecordEntry(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private BinaryRecordEntry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final BinaryRecordEntry defaultInstance;
    public static BinaryRecordEntry getDefaultInstance() {
      return defaultInstance;
    }

    public BinaryRecordEntry getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private BinaryRecordEntry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              cursor_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              nextCursor_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              sequence_ = input.readInt64();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              systemTime_ = input.readInt64();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              serial_ = input.readUInt32();
              break;
            }
            case 50: {
              bitField0_ |= 0x00000020;
              data_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_BinaryRecordEntry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_BinaryRecordEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public BinaryRecordEntry parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new BinaryRecordEntry(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int CURSOR_FIELD_NUMBER = 1;
    private java.lang.Object cursor_;
    /**
     * optional string cursor = 1;
     */
    public boolean hasCursor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string cursor = 1;
     */
    public java.lang.String getCursor() {
      java.lang.Object ref = cursor_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          cursor_ = s;
        }
        return s;
      }
    }
    /**
     * optional string cursor = 1;
     */
    public com.google.protobuf.ByteString
        getCursorBytes() {
      java.lang.Object ref = cursor_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cursor_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NEXT_CURSOR_FIELD_NUMBER = 2;
    private java.lang.Object nextCursor_;
    /**
     * optional string next_cursor = 2;
     */
    public boolean hasNextCursor() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string next_cursor = 2;
     */
    public java.lang.String getNextCursor() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          nextCursor_ = s;
        }
        return s;
      }
    }
    /**
     * optional string next_cursor = 2;
     */
    public com.google.protobuf.ByteString
        getNextCursorBytes() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nextCursor_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SEQUENCE_FIELD_NUMBER = 3;
    private long sequence_;
    /**
     * optional int64 sequence = 3;
     */
    public boolean hasSequence() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int64 sequence = 3;
     */
    public long getSequence() {
      return sequence_;
    }

    public static final int SYSTEM_TIME_FIELD_NUMBER = 4;
    private long systemTime_;
    /**
     * optional int64 system_time = 4;
     */
    public boolean hasSystemTime() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int64 system_time = 4;
     */
    public long getSystemTime() {
      return systemTime_;
    }

    public static final int SERIAL_FIELD_NUMBER = 5;
    private int serial_;
    /**
     * optional uint32 serial = 5 [default = 0];
     */
    public boolean hasSerial() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 serial = 5 [default = 0];
     */
    public int getSerial() {
      return serial_;
    }

    public static final int DATA_FIELD_NUMBER = 6;
    private com.google.protobuf.ByteString data_;
    /**
     * optional bytes data = 6;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional bytes data = 6;
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    private void initFields() {
      cursor_ = "";
      nextCursor_ = "";
      sequence_ = 0L;
      systemTime_ = 0L;
      serial_ = 0;
      data_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt64(3, sequence_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt64(4, systemTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, serial_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, data_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, sequence_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, systemTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, serial_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, data_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code BinaryRecordEntry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:BinaryRecordEntry)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_BinaryRecordEntry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_BinaryRecordEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        cursor_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        nextCursor_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        sequence_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000004);
        systemTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        serial_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_BinaryRecordEntry_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.cursor_ = cursor_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.nextCursor_ = nextCursor_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.sequence_ = sequence_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.systemTime_ = systemTime_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.serial_ = serial_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.data_ = data_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.getDefaultInstance()) return this;
        if (other.hasCursor()) {
          bitField0_ |= 0x00000001;
          cursor_ = other.cursor_;
          onChanged();
        }
        if (other.hasNextCursor()) {
          bitField0_ |= 0x00000002;
          nextCursor_ = other.nextCursor_;
          onChanged();
        }
        if (other.hasSequence()) {
          setSequence(other.getSequence());
        }
        if (other.hasSystemTime()) {
          setSystemTime(other.getSystemTime());
        }
        if (other.hasSerial()) {
          setSerial(other.getSerial());
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object cursor_ = "";
      /**
       * optional string cursor = 1;
       */
      public boolean hasCursor() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string cursor = 1;
       */
      public java.lang.String getCursor() {
        java.lang.Object ref = cursor_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            cursor_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string cursor = 1;
       */
      public com.google.protobuf.ByteString
          getCursorBytes() {
        java.lang.Object ref = cursor_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cursor_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string cursor = 1;
       */
      public Builder setCursor(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        cursor_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string cursor = 1;
       */
      public Builder clearCursor() {
        bitField0_ = (bitField0_ & ~0x00000001);
        cursor_ = getDefaultInstance().getCursor();
        onChanged();
        return this;
      }
      /**
       * optional string cursor = 1;
       */
      public Builder setCursorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        cursor_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object nextCursor_ = "";
      /**
       * optional string next_cursor = 2;
       */
      public boolean hasNextCursor() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string next_cursor = 2;
       */
      public java.lang.String getNextCursor() {
        java.lang.Object ref = nextCursor_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            nextCursor_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string next_cursor = 2;
       */
      public com.google.protobuf.ByteString
          getNextCursorBytes() {
        java.lang.Object ref = nextCursor_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nextCursor_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string next_cursor = 2;
       */
      public Builder setNextCursor(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        nextCursor_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string next_cursor = 2;
       */
      public Builder clearNextCursor() {
        bitField0_ = (bitField0_ & ~0x00000002);
        nextCursor_ = getDefaultInstance().getNextCursor();
        onChanged();
        return this;
      }
      /**
       * optional string next_cursor = 2;
       */
      public Builder setNextCursorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        nextCursor_ = value;
        onChanged();
        return this;
      }

      private long sequence_ ;
      /**
       * optional int64 sequence = 3;
       */
      public boolean hasSequence() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int64 sequence = 3;
       */
      public long getSequence() {
        return sequence_;
      }
      /**
       * optional int64 sequence = 3;
       */
      public Builder setSequence(long value) {
        bitField0_ |= 0x00000004;
        sequence_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 sequence = 3;
       */
      public Builder clearSequence() {
        bitField0_ = (bitField0_ & ~0x00000004);
        sequence_ = 0L;
        onChanged();
        return this;
      }

      private long systemTime_ ;
      /**
       * optional int64 system_time = 4;
       */
      public boolean hasSystemTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int64 system_time = 4;
       */
      public long getSystemTime() {
        return systemTime_;
      }
      /**
       * optional int64 system_time = 4;
       */
      public Builder setSystemTime(long value) {
        bitField0_ |= 0x00000008;
        systemTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 system_time = 4;
       */
      public Builder clearSystemTime() {
        bitField0_ = (bitField0_ & ~0x00000008);
        systemTime_ = 0L;
        onChanged();
        return this;
      }

      private int serial_ ;
      /**
       * optional uint32 serial = 5 [default = 0];
       */
      public boolean hasSerial() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 serial = 5 [default = 0];
       */
      public int getSerial() {
        return serial_;
      }
      /**
       * optional uint32 serial = 5 [default = 0];
       */
      public Builder setSerial(int value) {
        bitField0_ |= 0x00000010;
        serial_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 serial = 5 [default = 0];
       */
      public Builder clearSerial() {
        bitField0_ = (bitField0_ & ~0x00000010);
        serial_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes data = 6;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional bytes data = 6;
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * optional bytes data = 6;
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes data = 6;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000020);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:BinaryRecordEntry)
    }

    static {
      defaultInstance = new BinaryRecordEntry(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:BinaryRecordEntry)
  }

  public interface PutBinaryRecordsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:PutBinaryRecordsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    java.util.List 
        getRecordsList();
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry getRecords(int index);
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    int getRecordsCount();
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    java.util.List 
        getRecordsOrBuilderList();
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder getRecordsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code PutBinaryRecordsRequest}
   */
  public static final class PutBinaryRecordsRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:PutBinaryRecordsRequest)
      PutBinaryRecordsRequestOrBuilder {
    // Use PutBinaryRecordsRequest.newBuilder() to construct.
    private PutBinaryRecordsRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutBinaryRecordsRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutBinaryRecordsRequest defaultInstance;
    public static PutBinaryRecordsRequest getDefaultInstance() {
      return defaultInstance;
    }

    public PutBinaryRecordsRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutBinaryRecordsRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                records_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              records_.add(input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          records_ = java.util.Collections.unmodifiableList(records_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutBinaryRecordsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutBinaryRecordsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public PutBinaryRecordsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutBinaryRecordsRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    public static final int RECORDS_FIELD_NUMBER = 1;
    private java.util.List records_;
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    public java.util.List getRecordsList() {
      return records_;
    }
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    public java.util.List 
        getRecordsOrBuilderList() {
      return records_;
    }
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    public int getRecordsCount() {
      return records_.size();
    }
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry getRecords(int index) {
      return records_.get(index);
    }
    /**
     * repeated .BinaryRecordEntry records = 1;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder getRecordsOrBuilder(
        int index) {
      return records_.get(index);
    }

    private void initFields() {
      records_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < records_.size(); i++) {
        output.writeMessage(1, records_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < records_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, records_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutBinaryRecordsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:PutBinaryRecordsRequest)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutBinaryRecordsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutBinaryRecordsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_PutBinaryRecordsRequest_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest(this);
        int from_bitField0_ = bitField0_;
        if (recordsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            records_ = java.util.Collections.unmodifiableList(records_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.records_ = records_;
        } else {
          result.records_ = recordsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest.getDefaultInstance()) return this;
        if (recordsBuilder_ == null) {
          if (!other.records_.isEmpty()) {
            if (records_.isEmpty()) {
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRecordsIsMutable();
              records_.addAll(other.records_);
            }
            onChanged();
          }
        } else {
          if (!other.records_.isEmpty()) {
            if (recordsBuilder_.isEmpty()) {
              recordsBuilder_.dispose();
              recordsBuilder_ = null;
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000001);
              recordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRecordsFieldBuilder() : null;
            } else {
              recordsBuilder_.addAllMessages(other.records_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.PutBinaryRecordsRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List records_ =
        java.util.Collections.emptyList();
      private void ensureRecordsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          records_ = new java.util.ArrayList(records_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder> recordsBuilder_;

      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public java.util.List getRecordsList() {
        if (recordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(records_);
        } else {
          return recordsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public int getRecordsCount() {
        if (recordsBuilder_ == null) {
          return records_.size();
        } else {
          return recordsBuilder_.getCount();
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry getRecords(int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);
        } else {
          return recordsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.set(index, value);
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.set(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder addRecords(com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(index, value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder addRecords(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder addAllRecords(
          java.lang.Iterable values) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, records_);
          onChanged();
        } else {
          recordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder clearRecords() {
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public Builder removeRecords(int index) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.remove(index);
          onChanged();
        } else {
          recordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder getRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder getRecordsOrBuilder(
          int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);  } else {
          return recordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public java.util.List 
           getRecordsOrBuilderList() {
        if (recordsBuilder_ != null) {
          return recordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(records_);
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder addRecordsBuilder() {
        return getRecordsFieldBuilder().addBuilder(
            com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.getDefaultInstance());
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder addRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().addBuilder(
            index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.getDefaultInstance());
      }
      /**
       * repeated .BinaryRecordEntry records = 1;
       */
      public java.util.List 
           getRecordsBuilderList() {
        return getRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder> 
          getRecordsFieldBuilder() {
        if (recordsBuilder_ == null) {
          recordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder>(
                  records_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          records_ = null;
        }
        return recordsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:PutBinaryRecordsRequest)
    }

    static {
      defaultInstance = new PutBinaryRecordsRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutBinaryRecordsRequest)
  }

  public interface GetBinaryRecordsResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:GetBinaryRecordsResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required string next_cursor = 1;
     */
    boolean hasNextCursor();
    /**
     * required string next_cursor = 1;
     */
    java.lang.String getNextCursor();
    /**
     * required string next_cursor = 1;
     */
    com.google.protobuf.ByteString
        getNextCursorBytes();

    /**
     * required int32 record_count = 2;
     */
    boolean hasRecordCount();
    /**
     * required int32 record_count = 2;
     */
    int getRecordCount();

    /**
     * optional int64 start_sequence = 3;
     */
    boolean hasStartSequence();
    /**
     * optional int64 start_sequence = 3;
     */
    long getStartSequence();

    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    java.util.List 
        getRecordsList();
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry getRecords(int index);
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    int getRecordsCount();
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    java.util.List 
        getRecordsOrBuilderList();
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder getRecordsOrBuilder(
        int index);

    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    boolean hasLatestSequence();
    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    long getLatestSequence();

    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    boolean hasLatestTime();
    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    long getLatestTime();
  }
  /**
   * Protobuf type {@code GetBinaryRecordsResponse}
   */
  public static final class GetBinaryRecordsResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:GetBinaryRecordsResponse)
      GetBinaryRecordsResponseOrBuilder {
    // Use GetBinaryRecordsResponse.newBuilder() to construct.
    private GetBinaryRecordsResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private GetBinaryRecordsResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final GetBinaryRecordsResponse defaultInstance;
    public static GetBinaryRecordsResponse getDefaultInstance() {
      return defaultInstance;
    }

    public GetBinaryRecordsResponse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private GetBinaryRecordsResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              nextCursor_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              recordCount_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              startSequence_ = input.readInt64();
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                records_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              records_.add(input.readMessage(com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.PARSER, extensionRegistry));
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              latestSequence_ = input.readInt64();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000010;
              latestTime_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          records_ = java.util.Collections.unmodifiableList(records_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetBinaryRecordsResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetBinaryRecordsResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public GetBinaryRecordsResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GetBinaryRecordsResponse(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    public static final int NEXT_CURSOR_FIELD_NUMBER = 1;
    private java.lang.Object nextCursor_;
    /**
     * required string next_cursor = 1;
     */
    public boolean hasNextCursor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required string next_cursor = 1;
     */
    public java.lang.String getNextCursor() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          nextCursor_ = s;
        }
        return s;
      }
    }
    /**
     * required string next_cursor = 1;
     */
    public com.google.protobuf.ByteString
        getNextCursorBytes() {
      java.lang.Object ref = nextCursor_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nextCursor_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RECORD_COUNT_FIELD_NUMBER = 2;
    private int recordCount_;
    /**
     * required int32 record_count = 2;
     */
    public boolean hasRecordCount() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required int32 record_count = 2;
     */
    public int getRecordCount() {
      return recordCount_;
    }

    public static final int START_SEQUENCE_FIELD_NUMBER = 3;
    private long startSequence_;
    /**
     * optional int64 start_sequence = 3;
     */
    public boolean hasStartSequence() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int64 start_sequence = 3;
     */
    public long getStartSequence() {
      return startSequence_;
    }

    public static final int RECORDS_FIELD_NUMBER = 4;
    private java.util.List records_;
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    public java.util.List getRecordsList() {
      return records_;
    }
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    public java.util.List 
        getRecordsOrBuilderList() {
      return records_;
    }
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    public int getRecordsCount() {
      return records_.size();
    }
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry getRecords(int index) {
      return records_.get(index);
    }
    /**
     * repeated .BinaryRecordEntry records = 4;
     */
    public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder getRecordsOrBuilder(
        int index) {
      return records_.get(index);
    }

    public static final int LATEST_SEQUENCE_FIELD_NUMBER = 5;
    private long latestSequence_;
    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    public boolean hasLatestSequence() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int64 latest_sequence = 5 [default = -1];
     */
    public long getLatestSequence() {
      return latestSequence_;
    }

    public static final int LATEST_TIME_FIELD_NUMBER = 6;
    private long latestTime_;
    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    public boolean hasLatestTime() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int64 latest_time = 6 [default = -1];
     */
    public long getLatestTime() {
      return latestTime_;
    }

    private void initFields() {
      nextCursor_ = "";
      recordCount_ = 0;
      startSequence_ = 0L;
      records_ = java.util.Collections.emptyList();
      latestSequence_ = -1L;
      latestTime_ = -1L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasNextCursor()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRecordCount()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, recordCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt64(3, startSequence_);
      }
      for (int i = 0; i < records_.size(); i++) {
        output.writeMessage(4, records_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt64(5, latestSequence_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt64(6, latestTime_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNextCursorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, recordCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, startSequence_);
      }
      for (int i = 0; i < records_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, records_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, latestSequence_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(6, latestTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code GetBinaryRecordsResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:GetBinaryRecordsResponse)
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetBinaryRecordsResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetBinaryRecordsResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse.class, com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse.Builder.class);
      }

      // Construct using com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        nextCursor_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        recordCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        startSequence_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          recordsBuilder_.clear();
        }
        latestSequence_ = -1L;
        bitField0_ = (bitField0_ & ~0x00000010);
        latestTime_ = -1L;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.internal_static_GetBinaryRecordsResponse_descriptor;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse getDefaultInstanceForType() {
        return com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse.getDefaultInstance();
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse build() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse buildPartial() {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse result = new com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.nextCursor_ = nextCursor_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.recordCount_ = recordCount_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.startSequence_ = startSequence_;
        if (recordsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            records_ = java.util.Collections.unmodifiableList(records_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.records_ = records_;
        } else {
          result.records_ = recordsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000008;
        }
        result.latestSequence_ = latestSequence_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000010;
        }
        result.latestTime_ = latestTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse) {
          return mergeFrom((com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse other) {
        if (other == com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse.getDefaultInstance()) return this;
        if (other.hasNextCursor()) {
          bitField0_ |= 0x00000001;
          nextCursor_ = other.nextCursor_;
          onChanged();
        }
        if (other.hasRecordCount()) {
          setRecordCount(other.getRecordCount());
        }
        if (other.hasStartSequence()) {
          setStartSequence(other.getStartSequence());
        }
        if (recordsBuilder_ == null) {
          if (!other.records_.isEmpty()) {
            if (records_.isEmpty()) {
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureRecordsIsMutable();
              records_.addAll(other.records_);
            }
            onChanged();
          }
        } else {
          if (!other.records_.isEmpty()) {
            if (recordsBuilder_.isEmpty()) {
              recordsBuilder_.dispose();
              recordsBuilder_ = null;
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000008);
              recordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRecordsFieldBuilder() : null;
            } else {
              recordsBuilder_.addAllMessages(other.records_);
            }
          }
        }
        if (other.hasLatestSequence()) {
          setLatestSequence(other.getLatestSequence());
        }
        if (other.hasLatestTime()) {
          setLatestTime(other.getLatestTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasNextCursor()) {
          
          return false;
        }
        if (!hasRecordCount()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.aliyun.datahub.client.model.protobuf.DatahubProtos.GetBinaryRecordsResponse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object nextCursor_ = "";
      /**
       * required string next_cursor = 1;
       */
      public boolean hasNextCursor() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required string next_cursor = 1;
       */
      public java.lang.String getNextCursor() {
        java.lang.Object ref = nextCursor_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            nextCursor_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string next_cursor = 1;
       */
      public com.google.protobuf.ByteString
          getNextCursorBytes() {
        java.lang.Object ref = nextCursor_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nextCursor_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string next_cursor = 1;
       */
      public Builder setNextCursor(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        nextCursor_ = value;
        onChanged();
        return this;
      }
      /**
       * required string next_cursor = 1;
       */
      public Builder clearNextCursor() {
        bitField0_ = (bitField0_ & ~0x00000001);
        nextCursor_ = getDefaultInstance().getNextCursor();
        onChanged();
        return this;
      }
      /**
       * required string next_cursor = 1;
       */
      public Builder setNextCursorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        nextCursor_ = value;
        onChanged();
        return this;
      }

      private int recordCount_ ;
      /**
       * required int32 record_count = 2;
       */
      public boolean hasRecordCount() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required int32 record_count = 2;
       */
      public int getRecordCount() {
        return recordCount_;
      }
      /**
       * required int32 record_count = 2;
       */
      public Builder setRecordCount(int value) {
        bitField0_ |= 0x00000002;
        recordCount_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 record_count = 2;
       */
      public Builder clearRecordCount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        recordCount_ = 0;
        onChanged();
        return this;
      }

      private long startSequence_ ;
      /**
       * optional int64 start_sequence = 3;
       */
      public boolean hasStartSequence() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int64 start_sequence = 3;
       */
      public long getStartSequence() {
        return startSequence_;
      }
      /**
       * optional int64 start_sequence = 3;
       */
      public Builder setStartSequence(long value) {
        bitField0_ |= 0x00000004;
        startSequence_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 start_sequence = 3;
       */
      public Builder clearStartSequence() {
        bitField0_ = (bitField0_ & ~0x00000004);
        startSequence_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List records_ =
        java.util.Collections.emptyList();
      private void ensureRecordsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          records_ = new java.util.ArrayList(records_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder> recordsBuilder_;

      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public java.util.List getRecordsList() {
        if (recordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(records_);
        } else {
          return recordsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public int getRecordsCount() {
        if (recordsBuilder_ == null) {
          return records_.size();
        } else {
          return recordsBuilder_.getCount();
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry getRecords(int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);
        } else {
          return recordsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.set(index, value);
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder setRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.set(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder addRecords(com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(index, value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder addRecords(
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder addRecords(
          int index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder addAllRecords(
          java.lang.Iterable values) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, records_);
          onChanged();
        } else {
          recordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder clearRecords() {
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public Builder removeRecords(int index) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.remove(index);
          onChanged();
        } else {
          recordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder getRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder getRecordsOrBuilder(
          int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);  } else {
          return recordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public java.util.List 
           getRecordsOrBuilderList() {
        if (recordsBuilder_ != null) {
          return recordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(records_);
        }
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder addRecordsBuilder() {
        return getRecordsFieldBuilder().addBuilder(
            com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.getDefaultInstance());
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder addRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().addBuilder(
            index, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.getDefaultInstance());
      }
      /**
       * repeated .BinaryRecordEntry records = 4;
       */
      public java.util.List 
           getRecordsBuilderList() {
        return getRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder> 
          getRecordsFieldBuilder() {
        if (recordsBuilder_ == null) {
          recordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntry.Builder, com.aliyun.datahub.client.model.protobuf.DatahubProtos.BinaryRecordEntryOrBuilder>(
                  records_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          records_ = null;
        }
        return recordsBuilder_;
      }

      private long latestSequence_ = -1L;
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public boolean hasLatestSequence() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public long getLatestSequence() {
        return latestSequence_;
      }
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public Builder setLatestSequence(long value) {
        bitField0_ |= 0x00000010;
        latestSequence_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 latest_sequence = 5 [default = -1];
       */
      public Builder clearLatestSequence() {
        bitField0_ = (bitField0_ & ~0x00000010);
        latestSequence_ = -1L;
        onChanged();
        return this;
      }

      private long latestTime_ = -1L;
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public boolean hasLatestTime() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public long getLatestTime() {
        return latestTime_;
      }
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public Builder setLatestTime(long value) {
        bitField0_ |= 0x00000020;
        latestTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 latest_time = 6 [default = -1];
       */
      public Builder clearLatestTime() {
        bitField0_ = (bitField0_ & ~0x00000020);
        latestTime_ = -1L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:GetBinaryRecordsResponse)
    }

    static {
      defaultInstance = new GetBinaryRecordsResponse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:GetBinaryRecordsResponse)
  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_StringPair_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_StringPair_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_FieldData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_FieldData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_RecordAttributes_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_RecordAttributes_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_RecordData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_RecordData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_RecordEntry_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_RecordEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_PutRecordsRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutRecordsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_FailedRecord_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_FailedRecord_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_PutRecordsResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutRecordsResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_GetRecordsRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_GetRecordsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_GetRecordsResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_GetRecordsResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_BinaryRecordEntry_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_BinaryRecordEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_PutBinaryRecordsRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutBinaryRecordsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_GetBinaryRecordsResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_GetBinaryRecordsResponse_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\rdatahub.proto\"(\n\nStringPair\022\013\n\003key\030\001 \002" +
      "(\t\022\r\n\005value\030\002 \002(\t\"\032\n\tFieldData\022\r\n\005value\030" +
      "\001 \001(\014\"3\n\020RecordAttributes\022\037\n\nattributes\030" +
      "\001 \003(\0132\013.StringPair\"&\n\nRecordData\022\030\n\004data" +
      "\030\001 \003(\0132\n.FieldData\"\352\001\n\013RecordEntry\022\020\n\010sh" +
      "ard_id\030\001 \001(\t\022\020\n\010hash_key\030\002 \001(\t\022\025\n\rpartit" +
      "ion_key\030\003 \001(\t\022\016\n\006cursor\030\004 \001(\t\022\023\n\013next_cu" +
      "rsor\030\005 \001(\t\022\020\n\010sequence\030\006 \001(\003\022\023\n\013system_t" +
      "ime\030\007 \001(\003\022%\n\nattributes\030\010 \001(\0132\021.RecordAt" +
      "tributes\022\031\n\004data\030\t \002(\0132\013.RecordData\022\022\n\006s",
      "erial\030\n \001(\003:\002-1\"2\n\021PutRecordsRequest\022\035\n\007" +
      "records\030\001 \003(\0132\014.RecordEntry\"H\n\014FailedRec" +
      "ord\022\r\n\005index\030\001 \002(\005\022\022\n\nerror_code\030\002 \001(\t\022\025" +
      "\n\rerror_message\030\003 \001(\t\"Q\n\022PutRecordsRespo" +
      "nse\022\024\n\014failed_count\030\001 \001(\005\022%\n\016failed_reco" +
      "rds\030\002 \003(\0132\r.FailedRecord\"E\n\021GetRecordsRe" +
      "quest\022\016\n\006cursor\030\001 \002(\t\022\020\n\005limit\030\002 \001(\005:\0011\022" +
      "\016\n\006filter\030\003 \001(\t\"\254\001\n\022GetRecordsResponse\022\023" +
      "\n\013next_cursor\030\001 \002(\t\022\024\n\014record_count\030\002 \002(" +
      "\005\022\026\n\016start_sequence\030\003 \001(\003\022\035\n\007records\030\004 \003",
      "(\0132\014.RecordEntry\022\033\n\017latest_sequence\030\005 \001(" +
      "\003:\002-1\022\027\n\013latest_time\030\006 \001(\003:\002-1\"\200\001\n\021Binar" +
      "yRecordEntry\022\016\n\006cursor\030\001 \001(\t\022\023\n\013next_cur" +
      "sor\030\002 \001(\t\022\020\n\010sequence\030\003 \001(\003\022\023\n\013system_ti" +
      "me\030\004 \001(\003\022\021\n\006serial\030\005 \001(\r:\0010\022\014\n\004data\030\006 \001(" +
      "\014\">\n\027PutBinaryRecordsRequest\022#\n\007records\030" +
      "\001 \003(\0132\022.BinaryRecordEntry\"\270\001\n\030GetBinaryR" +
      "ecordsResponse\022\023\n\013next_cursor\030\001 \002(\t\022\024\n\014r" +
      "ecord_count\030\002 \002(\005\022\026\n\016start_sequence\030\003 \001(" +
      "\003\022#\n\007records\030\004 \003(\0132\022.BinaryRecordEntry\022\033",
      "\n\017latest_sequence\030\005 \001(\003:\002-1\022\027\n\013latest_ti" +
      "me\030\006 \001(\003:\002-1B9\n(com.aliyun.datahub.clien" +
      "t.model.protobufB\rDatahubProtos"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_StringPair_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_StringPair_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_StringPair_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_FieldData_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_FieldData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_FieldData_descriptor,
        new java.lang.String[] { "Value", });
    internal_static_RecordAttributes_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_RecordAttributes_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_RecordAttributes_descriptor,
        new java.lang.String[] { "Attributes", });
    internal_static_RecordData_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_RecordData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_RecordData_descriptor,
        new java.lang.String[] { "Data", });
    internal_static_RecordEntry_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_RecordEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_RecordEntry_descriptor,
        new java.lang.String[] { "ShardId", "HashKey", "PartitionKey", "Cursor", "NextCursor", "Sequence", "SystemTime", "Attributes", "Data", "Serial", });
    internal_static_PutRecordsRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_PutRecordsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_PutRecordsRequest_descriptor,
        new java.lang.String[] { "Records", });
    internal_static_FailedRecord_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_FailedRecord_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_FailedRecord_descriptor,
        new java.lang.String[] { "Index", "ErrorCode", "ErrorMessage", });
    internal_static_PutRecordsResponse_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_PutRecordsResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_PutRecordsResponse_descriptor,
        new java.lang.String[] { "FailedCount", "FailedRecords", });
    internal_static_GetRecordsRequest_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_GetRecordsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_GetRecordsRequest_descriptor,
        new java.lang.String[] { "Cursor", "Limit", "Filter", });
    internal_static_GetRecordsResponse_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_GetRecordsResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_GetRecordsResponse_descriptor,
        new java.lang.String[] { "NextCursor", "RecordCount", "StartSequence", "Records", "LatestSequence", "LatestTime", });
    internal_static_BinaryRecordEntry_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_BinaryRecordEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_BinaryRecordEntry_descriptor,
        new java.lang.String[] { "Cursor", "NextCursor", "Sequence", "SystemTime", "Serial", "Data", });
    internal_static_PutBinaryRecordsRequest_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_PutBinaryRecordsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_PutBinaryRecordsRequest_descriptor,
        new java.lang.String[] { "Records", });
    internal_static_GetBinaryRecordsResponse_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_GetBinaryRecordsResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_GetBinaryRecordsResponse_descriptor,
        new java.lang.String[] { "NextCursor", "RecordCount", "StartSequence", "Records", "LatestSequence", "LatestTime", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy