// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: Complex.proto
// Protobuf Java Version: 4.32.1

package io.kcache.kwack.proto;

@com.google.protobuf.Generated
public final class ComplexProto extends com.google.protobuf.GeneratedFile {
  private ComplexProto() {}
  static {
    com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 32,
      /* patch= */ 1,
      /* suffix= */ "",
      ComplexProto.class.getName());
  }
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code io.kcache.kwack.proto.Kind}
   */
  public enum Kind
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>ZERO = 0;</code>
     */
    ZERO(0),
    /**
     * <code>ONE = 1;</code>
     */
    ONE(1),
    /**
     * <code>TWO = 2;</code>
     */
    TWO(2),
    UNRECOGNIZED(-1),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 32,
        /* patch= */ 1,
        /* suffix= */ "",
        Kind.class.getName());
    }
    /**
     * <code>ZERO = 0;</code>
     */
    public static final int ZERO_VALUE = 0;
    /**
     * <code>ONE = 1;</code>
     */
    public static final int ONE_VALUE = 1;
    /**
     * <code>TWO = 2;</code>
     */
    public static final int TWO_VALUE = 2;


    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static Kind valueOf(int value) {
      return forNumber(value);
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static Kind forNumber(int value) {
      switch (value) {
        case 0: return ZERO;
        case 1: return ONE;
        case 2: return TWO;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<Kind>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        Kind> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
            public Kind findValueByNumber(int number) {
              return Kind.forNumber(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalStateException(
            "Can't get the descriptor of an unrecognized enum value.");
      }
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return io.kcache.kwack.proto.ComplexProto.getDescriptor().getEnumTypes().get(0);
    }

    private static final Kind[] VALUES = values();

    public static Kind valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      if (desc.getIndex() == -1) {
        return UNRECOGNIZED;
      }
      return VALUES[desc.getIndex()];
    }

    private final int value;

    private Kind(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:io.kcache.kwack.proto.Kind)
  }

  public interface ComplexOrBuilder extends
      // @@protoc_insertion_point(interface_extends:io.kcache.kwack.proto.Complex)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional string name = 1;</code>
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * <code>optional string name = 1;</code>
     * @return The name.
     */
    java.lang.String getName();
    /**
     * <code>optional string name = 1;</code>
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <code>string mystring = 2;</code>
     * @return The mystring.
     */
    java.lang.String getMystring();
    /**
     * <code>string mystring = 2;</code>
     * @return The bytes for mystring.
     */
    com.google.protobuf.ByteString
        getMystringBytes();

    /**
     * <code>bytes mybytes = 3;</code>
     * @return The mybytes.
     */
    com.google.protobuf.ByteString getMybytes();

    /**
     * <code>int32 myint = 4;</code>
     * @return The myint.
     */
    int getMyint();

    /**
     * <code>uint32 myuint = 5;</code>
     * @return The myuint.
     */
    int getMyuint();

    /**
     * <code>int64 mylong = 6;</code>
     * @return The mylong.
     */
    long getMylong();

    /**
     * <code>uint64 myulong = 7;</code>
     * @return The myulong.
     */
    long getMyulong();

    /**
     * <code>float myfloat = 8;</code>
     * @return The myfloat.
     */
    float getMyfloat();

    /**
     * <code>double mydouble = 9;</code>
     * @return The mydouble.
     */
    double getMydouble();

    /**
     * <code>bool myboolean = 10;</code>
     * @return The myboolean.
     */
    boolean getMyboolean();

    /**
     * <code>.io.kcache.kwack.proto.Kind kind = 11;</code>
     * @return The enum numeric value on the wire for kind.
     */
    int getKindValue();
    /**
     * <code>.io.kcache.kwack.proto.Kind kind = 11;</code>
     * @return The kind.
     */
    io.kcache.kwack.proto.ComplexProto.Kind getKind();

    /**
     * <code>string myoneofstring = 12;</code>
     * @return Whether the myoneofstring field is set.
     */
    boolean hasMyoneofstring();
    /**
     * <code>string myoneofstring = 12;</code>
     * @return The myoneofstring.
     */
    java.lang.String getMyoneofstring();
    /**
     * <code>string myoneofstring = 12;</code>
     * @return The bytes for myoneofstring.
     */
    com.google.protobuf.ByteString
        getMyoneofstringBytes();

    /**
     * <code>int32 myoneofint = 13;</code>
     * @return Whether the myoneofint field is set.
     */
    boolean hasMyoneofint();
    /**
     * <code>int32 myoneofint = 13;</code>
     * @return The myoneofint.
     */
    int getMyoneofint();

    /**
     * <code>repeated string str_array = 14;</code>
     * @return A list containing the strArray.
     */
    java.util.List<java.lang.String>
        getStrArrayList();
    /**
     * <code>repeated string str_array = 14;</code>
     * @return The count of strArray.
     */
    int getStrArrayCount();
    /**
     * <code>repeated string str_array = 14;</code>
     * @param index The index of the element to return.
     * @return The strArray at the given index.
     */
    java.lang.String getStrArray(int index);
    /**
     * <code>repeated string str_array = 14;</code>
     * @param index The index of the value to return.
     * @return The bytes of the strArray at the given index.
     */
    com.google.protobuf.ByteString
        getStrArrayBytes(int index);

    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    java.util.List<io.kcache.kwack.proto.ComplexProto.Data> 
        getDataArrayList();
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    io.kcache.kwack.proto.ComplexProto.Data getDataArray(int index);
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    int getDataArrayCount();
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    java.util.List<? extends io.kcache.kwack.proto.ComplexProto.DataOrBuilder> 
        getDataArrayOrBuilderList();
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    io.kcache.kwack.proto.ComplexProto.DataOrBuilder getDataArrayOrBuilder(
        int index);

    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    int getDataMapCount();
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    boolean containsDataMap(
        java.lang.String key);
    /**
     * Use {@link #getDataMapMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data>
    getDataMap();
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    java.util.Map<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data>
    getDataMapMap();
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    /* nullable */
io.kcache.kwack.proto.ComplexProto.Data getDataMapOrDefault(
        java.lang.String key,
        /* nullable */
io.kcache.kwack.proto.ComplexProto.Data defaultValue);
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    io.kcache.kwack.proto.ComplexProto.Data getDataMapOrThrow(
        java.lang.String key);

    /**
     * <code>.confluent.type.Decimal decimal = 17 [(.confluent.field_meta) = { ... }</code>
     * @return Whether the decimal field is set.
     */
    boolean hasDecimal();
    /**
     * <code>.confluent.type.Decimal decimal = 17 [(.confluent.field_meta) = { ... }</code>
     * @return The decimal.
     */
    io.confluent.protobuf.type.Decimal getDecimal();
    /**
     * <code>.confluent.type.Decimal decimal = 17 [(.confluent.field_meta) = { ... }</code>
     */
    io.confluent.protobuf.type.DecimalOrBuilder getDecimalOrBuilder();

    /**
     * <code>.google.type.Date date = 18;</code>
     * @return Whether the date field is set.
     */
    boolean hasDate();
    /**
     * <code>.google.type.Date date = 18;</code>
     * @return The date.
     */
    com.google.type.Date getDate();
    /**
     * <code>.google.type.Date date = 18;</code>
     */
    com.google.type.DateOrBuilder getDateOrBuilder();

    /**
     * <code>.google.type.TimeOfDay time = 19;</code>
     * @return Whether the time field is set.
     */
    boolean hasTime();
    /**
     * <code>.google.type.TimeOfDay time = 19;</code>
     * @return The time.
     */
    com.google.type.TimeOfDay getTime();
    /**
     * <code>.google.type.TimeOfDay time = 19;</code>
     */
    com.google.type.TimeOfDayOrBuilder getTimeOrBuilder();

    /**
     * <code>.google.protobuf.Timestamp timestamp = 20;</code>
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * <code>.google.protobuf.Timestamp timestamp = 20;</code>
     * @return The timestamp.
     */
    com.google.protobuf.Timestamp getTimestamp();
    /**
     * <code>.google.protobuf.Timestamp timestamp = 20;</code>
     */
    com.google.protobuf.TimestampOrBuilder getTimestampOrBuilder();

    io.kcache.kwack.proto.ComplexProto.Complex.MyoneofCase getMyoneofCase();
  }
  /**
   * Protobuf type {@code io.kcache.kwack.proto.Complex}
   */
  public static final class Complex extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:io.kcache.kwack.proto.Complex)
      ComplexOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 32,
        /* patch= */ 1,
        /* suffix= */ "",
        Complex.class.getName());
    }
    // Use Complex.newBuilder() to construct.
    private Complex(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private Complex() {
      name_ = "";
      mystring_ = "";
      mybytes_ = com.google.protobuf.ByteString.EMPTY;
      kind_ = 0;
      strArray_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      dataArray_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kcache.kwack.proto.ComplexProto.internal_static_io_kcache_kwack_proto_Complex_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(
        int number) {
      switch (number) {
        case 16:
          return internalGetDataMap();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kcache.kwack.proto.ComplexProto.internal_static_io_kcache_kwack_proto_Complex_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kcache.kwack.proto.ComplexProto.Complex.class, io.kcache.kwack.proto.ComplexProto.Complex.Builder.class);
    }

    private int bitField0_;
    private int myoneofCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object myoneof_;
    public enum MyoneofCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      MYONEOFSTRING(12),
      MYONEOFINT(13),
      MYONEOF_NOT_SET(0);
      private final int value;
      private MyoneofCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static MyoneofCase valueOf(int value) {
        return forNumber(value);
      }

      public static MyoneofCase forNumber(int value) {
        switch (value) {
          case 12: return MYONEOFSTRING;
          case 13: return MYONEOFINT;
          case 0: return MYONEOF_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public MyoneofCase
    getMyoneofCase() {
      return MyoneofCase.forNumber(
          myoneofCase_);
    }

    public static final int NAME_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * <code>optional string name = 1;</code>
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string name = 1;</code>
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      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();
        name_ = s;
        return s;
      }
    }
    /**
     * <code>optional string name = 1;</code>
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MYSTRING_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object mystring_ = "";
    /**
     * <code>string mystring = 2;</code>
     * @return The mystring.
     */
    @java.lang.Override
    public java.lang.String getMystring() {
      java.lang.Object ref = mystring_;
      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();
        mystring_ = s;
        return s;
      }
    }
    /**
     * <code>string mystring = 2;</code>
     * @return The bytes for mystring.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMystringBytes() {
      java.lang.Object ref = mystring_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mystring_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MYBYTES_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString mybytes_ = com.google.protobuf.ByteString.EMPTY;
    /**
     * <code>bytes mybytes = 3;</code>
     * @return The mybytes.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getMybytes() {
      return mybytes_;
    }

    public static final int MYINT_FIELD_NUMBER = 4;
    private int myint_ = 0;
    /**
     * <code>int32 myint = 4;</code>
     * @return The myint.
     */
    @java.lang.Override
    public int getMyint() {
      return myint_;
    }

    public static final int MYUINT_FIELD_NUMBER = 5;
    private int myuint_ = 0;
    /**
     * <code>uint32 myuint = 5;</code>
     * @return The myuint.
     */
    @java.lang.Override
    public int getMyuint() {
      return myuint_;
    }

    public static final int MYLONG_FIELD_NUMBER = 6;
    private long mylong_ = 0L;
    /**
     * <code>int64 mylong = 6;</code>
     * @return The mylong.
     */
    @java.lang.Override
    public long getMylong() {
      return mylong_;
    }

    public static final int MYULONG_FIELD_NUMBER = 7;
    private long myulong_ = 0L;
    /**
     * <code>uint64 myulong = 7;</code>
     * @return The myulong.
     */
    @java.lang.Override
    public long getMyulong() {
      return myulong_;
    }

    public static final int MYFLOAT_FIELD_NUMBER = 8;
    private float myfloat_ = 0F;
    /**
     * <code>float myfloat = 8;</code>
     * @return The myfloat.
     */
    @java.lang.Override
    public float getMyfloat() {
      return myfloat_;
    }

    public static final int MYDOUBLE_FIELD_NUMBER = 9;
    private double mydouble_ = 0D;
    /**
     * <code>double mydouble = 9;</code>
     * @return The mydouble.
     */
    @java.lang.Override
    public double getMydouble() {
      return mydouble_;
    }

    public static final int MYBOOLEAN_FIELD_NUMBER = 10;
    private boolean myboolean_ = false;
    /**
     * <code>bool myboolean = 10;</code>
     * @return The myboolean.
     */
    @java.lang.Override
    public boolean getMyboolean() {
      return myboolean_;
    }

    public static final int KIND_FIELD_NUMBER = 11;
    private int kind_ = 0;
    /**
     * <code>.io.kcache.kwack.proto.Kind kind = 11;</code>
     * @return The enum numeric value on the wire for kind.
     */
    @java.lang.Override public int getKindValue() {
      return kind_;
    }
    /**
     * <code>.io.kcache.kwack.proto.Kind kind = 11;</code>
     * @return The kind.
     */
    @java.lang.Override public io.kcache.kwack.proto.ComplexProto.Kind getKind() {
      io.kcache.kwack.proto.ComplexProto.Kind result = io.kcache.kwack.proto.ComplexProto.Kind.forNumber(kind_);
      return result == null ? io.kcache.kwack.proto.ComplexProto.Kind.UNRECOGNIZED : result;
    }

    public static final int MYONEOFSTRING_FIELD_NUMBER = 12;
    /**
     * <code>string myoneofstring = 12;</code>
     * @return Whether the myoneofstring field is set.
     */
    public boolean hasMyoneofstring() {
      return myoneofCase_ == 12;
    }
    /**
     * <code>string myoneofstring = 12;</code>
     * @return The myoneofstring.
     */
    public java.lang.String getMyoneofstring() {
      java.lang.Object ref = "";
      if (myoneofCase_ == 12) {
        ref = myoneof_;
      }
      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 (myoneofCase_ == 12) {
          myoneof_ = s;
        }
        return s;
      }
    }
    /**
     * <code>string myoneofstring = 12;</code>
     * @return The bytes for myoneofstring.
     */
    public com.google.protobuf.ByteString
        getMyoneofstringBytes() {
      java.lang.Object ref = "";
      if (myoneofCase_ == 12) {
        ref = myoneof_;
      }
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        if (myoneofCase_ == 12) {
          myoneof_ = b;
        }
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MYONEOFINT_FIELD_NUMBER = 13;
    /**
     * <code>int32 myoneofint = 13;</code>
     * @return Whether the myoneofint field is set.
     */
    @java.lang.Override
    public boolean hasMyoneofint() {
      return myoneofCase_ == 13;
    }
    /**
     * <code>int32 myoneofint = 13;</code>
     * @return The myoneofint.
     */
    @java.lang.Override
    public int getMyoneofint() {
      if (myoneofCase_ == 13) {
        return (java.lang.Integer) myoneof_;
      }
      return 0;
    }

    public static final int STR_ARRAY_FIELD_NUMBER = 14;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList strArray_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string str_array = 14;</code>
     * @return A list containing the strArray.
     */
    public com.google.protobuf.ProtocolStringList
        getStrArrayList() {
      return strArray_;
    }
    /**
     * <code>repeated string str_array = 14;</code>
     * @return The count of strArray.
     */
    public int getStrArrayCount() {
      return strArray_.size();
    }
    /**
     * <code>repeated string str_array = 14;</code>
     * @param index The index of the element to return.
     * @return The strArray at the given index.
     */
    public java.lang.String getStrArray(int index) {
      return strArray_.get(index);
    }
    /**
     * <code>repeated string str_array = 14;</code>
     * @param index The index of the value to return.
     * @return The bytes of the strArray at the given index.
     */
    public com.google.protobuf.ByteString
        getStrArrayBytes(int index) {
      return strArray_.getByteString(index);
    }

    public static final int DATA_ARRAY_FIELD_NUMBER = 15;
    @SuppressWarnings("serial")
    private java.util.List<io.kcache.kwack.proto.ComplexProto.Data> dataArray_;
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    @java.lang.Override
    public java.util.List<io.kcache.kwack.proto.ComplexProto.Data> getDataArrayList() {
      return dataArray_;
    }
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.kcache.kwack.proto.ComplexProto.DataOrBuilder> 
        getDataArrayOrBuilderList() {
      return dataArray_;
    }
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    @java.lang.Override
    public int getDataArrayCount() {
      return dataArray_.size();
    }
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    @java.lang.Override
    public io.kcache.kwack.proto.ComplexProto.Data getDataArray(int index) {
      return dataArray_.get(index);
    }
    /**
     * <code>repeated .io.kcache.kwack.proto.Data data_array = 15;</code>
     */
    @java.lang.Override
    public io.kcache.kwack.proto.ComplexProto.DataOrBuilder getDataArrayOrBuilder(
        int index) {
      return dataArray_.get(index);
    }

    public static final int DATA_MAP_FIELD_NUMBER = 16;
    private static final class DataMapDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, io.kcache.kwack.proto.ComplexProto.Data> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data>newDefaultInstance(
                  io.kcache.kwack.proto.ComplexProto.internal_static_io_kcache_kwack_proto_Complex_DataMapEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  io.kcache.kwack.proto.ComplexProto.Data.getDefaultInstance());
    }
    @SuppressWarnings("serial")
    private com.google.protobuf.MapField<
        java.lang.String, io.kcache.kwack.proto.ComplexProto.Data> dataMap_;
    private com.google.protobuf.MapField<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data>
    internalGetDataMap() {
      if (dataMap_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            DataMapDefaultEntryHolder.defaultEntry);
      }
      return dataMap_;
    }
    public int getDataMapCount() {
      return internalGetDataMap().getMap().size();
    }
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    @java.lang.Override
    public boolean containsDataMap(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetDataMap().getMap().containsKey(key);
    }
    /**
     * Use {@link #getDataMapMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data> getDataMap() {
      return getDataMapMap();
    }
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    @java.lang.Override
    public java.util.Map<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data> getDataMapMap() {
      return internalGetDataMap().getMap();
    }
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    @java.lang.Override
    public /* nullable */
io.kcache.kwack.proto.ComplexProto.Data getDataMapOrDefault(
        java.lang.String key,
        /* nullable */
io.kcache.kwack.proto.ComplexProto.Data defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data> map =
          internalGetDataMap().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, .io.kcache.kwack.proto.Data&gt; data_map = 16;</code>
     */
    @java.lang.Override
    public io.kcache.kwack.proto.ComplexProto.Data getDataMapOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, io.kcache.kwack.proto.ComplexProto.Data> map =
          internalGetDataMap().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int DECIMAL_FIELD_NUMBER = 17;
    private io.confluent.protobuf.type.Decimal decimal_;
    /**
     * <code>.confluent.type.Decimal decimal = 17 [(.confluent.field_meta) = { ... }</code>
     * @return Whether the decimal field is set.
     */
    @java.lang.Override
    public boolean hasDecimal() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>.confluent.type.Decimal decimal = 17 [(.confluent.field_meta) = { ... }</code>
     * @return The decimal.
     */
    @java.lang.Override
    public io.confluent.protobuf.type.Decimal getDecimal() {
      return decimal_ == null ? io.confluent.protobuf.type.Decimal.getDefaultInstance() : decimal_;
    }
    /**
     * <code>.confluent.type.Decimal decimal = 17 [(.confluent.field_meta) = { ... }</code>
     */
    @java.lang.Override
    public io.confluent.protobuf.type.DecimalOrBuilder getDecimalOrBuilder() {
      return decimal_ == null ? io.confluent.protobuf.type.Decimal.getDefaultInstance() : decimal_;
    }

    public static final int DATE_FIELD_NUMBER = 18;
    private com.google.type.Date date_;
    /**
     * <code>.google.type.Date date = 18;</code>
     * @return Whether the date field is set.
     */
    @java.lang.Override
    public boolean hasDate() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>.google.type.Date date = 18;</code>
     * @return The date.
     */
    @java.lang.Override
    public com.google.type.Date getDate() {
      return date_ == null ? com.google.type.Date.getDefaultInstance() : date_;
    }
    /**
     * <code>.google.type.Date date = 18;</code>
     */
    @java.lang.Override
    public com.google.type.DateOrBuilder getDateOrBuilder() {
      return date_ == null ? com.google.type.Date.getDefaultInstance() : date_;
    }

    public static final int TIME_FIELD_NUMBER = 19;
    private com.google.type.TimeOfDay time_;
    /**
     * <code>.google.type.TimeOfDay time = 19;</code>
     * @return Whether the time field is set.
     */
    @java.lang.Override
    public boolean hasTime() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>.google.type.TimeOfDay time = 19;</code>
     * @return The time.
     */
    @java.lang.Override
    public com.google.type.TimeOfDay getTime() {
      return time_ == null ? com.google.type.TimeOfDay.getDefaultInstance() : time_;
    }
    /**
     * <code>.google.type.TimeOfDay time = 19;</code>
     */
    @java.lang.Override
    public com.google.type.TimeOfDayOrBuilder getTimeOrBuilder() {
      return time_ == null ? com.google.type.TimeOfDay.getDefaultInstance() : time_;
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 20;
    private com.google.protobuf.Timestamp timestamp_;
    /**
     * <code>.google.protobuf.Timestamp timestamp = 20;</code>
     * @return Whether the timestamp field is set.
     */
    @java.lang.Override
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>.google.protobuf.Timestamp timestamp = 20;</code>
     * @return The timestamp.
     */
    @java.lang.Override
    public com.google.protobuf.Timestamp getTimestamp() {
      return timestamp_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timestamp_;
    }
    /**
     * <code>.google.protobuf.Timestamp timestamp = 20;</code>
     */
    @java.lang.Override
    public com.google.protobuf.TimestampOrBuilder getTimestampOrBuilder() {
      return timestamp_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timestamp_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, name_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mystring_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, mystring_);
      }
      if (!mybytes_.isEmpty()) {
        output.writeBytes(3, mybytes_);
      }
      if (myint_ != 0) {
