// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: canvaz.proto

package com.spotify.canvaz;

public final class CanvazOuterClass {
  private CanvazOuterClass() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface ArtistOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.spotify.canvazcache.Artist)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string uri = 1;</code>
     * @return The uri.
     */
    java.lang.String getUri();
    /**
     * <code>string uri = 1;</code>
     * @return The bytes for uri.
     */
    com.google.protobuf.ByteString
        getUriBytes();

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

    /**
     * <code>string avatar = 3;</code>
     * @return The avatar.
     */
    java.lang.String getAvatar();
    /**
     * <code>string avatar = 3;</code>
     * @return The bytes for avatar.
     */
    com.google.protobuf.ByteString
        getAvatarBytes();
  }
  /**
   * Protobuf type {@code com.spotify.canvazcache.Artist}
   */
  public  static final class Artist extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.spotify.canvazcache.Artist)
      ArtistOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Artist.newBuilder() to construct.
    private Artist(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Artist() {
      uri_ = "";
      name_ = "";
      avatar_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Artist();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_Artist_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_Artist_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.spotify.canvaz.CanvazOuterClass.Artist.class, com.spotify.canvaz.CanvazOuterClass.Artist.Builder.class);
    }

    public static final int URI_FIELD_NUMBER = 1;
    private volatile java.lang.Object uri_;
    /**
     * <code>string uri = 1;</code>
     * @return The uri.
     */
    public java.lang.String getUri() {
      java.lang.Object ref = uri_;
      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();
        uri_ = s;
        return s;
      }
    }
    /**
     * <code>string uri = 1;</code>
     * @return The bytes for uri.
     */
    public com.google.protobuf.ByteString
        getUriBytes() {
      java.lang.Object ref = uri_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        uri_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object name_;
    /**
     * <code>string name = 2;</code>
     * @return The name.
     */
    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>string name = 2;</code>
     * @return The bytes for name.
     */
    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 AVATAR_FIELD_NUMBER = 3;
    private volatile java.lang.Object avatar_;
    /**
     * <code>string avatar = 3;</code>
     * @return The avatar.
     */
    public java.lang.String getAvatar() {
      java.lang.Object ref = avatar_;
      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();
        avatar_ = s;
        return s;
      }
    }
    /**
     * <code>string avatar = 3;</code>
     * @return The bytes for avatar.
     */
    public com.google.protobuf.ByteString
        getAvatarBytes() {
      java.lang.Object ref = avatar_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        avatar_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.Artist parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.spotify.canvaz.CanvazOuterClass.Artist prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.spotify.canvazcache.Artist}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.spotify.canvazcache.Artist)
        com.spotify.canvaz.CanvazOuterClass.ArtistOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_Artist_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_Artist_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.spotify.canvaz.CanvazOuterClass.Artist.class, com.spotify.canvaz.CanvazOuterClass.Artist.Builder.class);
      }

      // Construct using com.spotify.canvaz.CanvazOuterClass.Artist.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        uri_ = "";

        name_ = "";

        avatar_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_Artist_descriptor;
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.Artist getDefaultInstanceForType() {
        return com.spotify.canvaz.CanvazOuterClass.Artist.getDefaultInstance();
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.Artist build() {
        com.spotify.canvaz.CanvazOuterClass.Artist result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.Artist buildPartial() {
        com.spotify.canvaz.CanvazOuterClass.Artist result = new com.spotify.canvaz.CanvazOuterClass.Artist(this);
        result.uri_ = uri_;
        result.name_ = name_;
        result.avatar_ = avatar_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }

      private java.lang.Object uri_ = "";
      /**
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      public java.lang.String getUri() {
        java.lang.Object ref = uri_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          uri_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      public com.google.protobuf.ByteString
          getUriBytes() {
        java.lang.Object ref = uri_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string uri = 1;</code>
       * @param value The uri to set.
       * @return This builder for chaining.
       */
      public Builder setUri(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        uri_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string uri = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearUri() {
        
        uri_ = getDefaultInstance().getUri();
        onChanged();
        return this;
      }
      /**
       * <code>string uri = 1;</code>
       * @param value The bytes for uri to set.
       * @return This builder for chaining.
       */
      public Builder setUriBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        uri_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <code>string name = 2;</code>
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string name = 2;</code>
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof 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;
        }
      }
      /**
       * <code>string name = 2;</code>
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string name = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <code>string name = 2;</code>
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object avatar_ = "";
      /**
       * <code>string avatar = 3;</code>
       * @return The avatar.
       */
      public java.lang.String getAvatar() {
        java.lang.Object ref = avatar_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          avatar_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string avatar = 3;</code>
       * @return The bytes for avatar.
       */
      public com.google.protobuf.ByteString
          getAvatarBytes() {
        java.lang.Object ref = avatar_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          avatar_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string avatar = 3;</code>
       * @param value The avatar to set.
       * @return This builder for chaining.
       */
      public Builder setAvatar(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        avatar_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string avatar = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearAvatar() {
        
        avatar_ = getDefaultInstance().getAvatar();
        onChanged();
        return this;
      }
      /**
       * <code>string avatar = 3;</code>
       * @param value The bytes for avatar to set.
       * @return This builder for chaining.
       */
      public Builder setAvatarBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        avatar_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:com.spotify.canvazcache.Artist)
    }

    // @@protoc_insertion_point(class_scope:com.spotify.canvazcache.Artist)
    private static final com.spotify.canvaz.CanvazOuterClass.Artist DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.spotify.canvaz.CanvazOuterClass.Artist();
    }

    public static com.spotify.canvaz.CanvazOuterClass.Artist getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<Artist>
        PARSER = new com.google.protobuf.AbstractParser<Artist>() {
      @java.lang.Override
      public Artist parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(
                  builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<Artist> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.spotify.canvaz.CanvazOuterClass.Artist getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EntityCanvazResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.spotify.canvazcache.EntityCanvazResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz> 
        getCanvasesList();
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz getCanvases(int index);
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    int getCanvasesCount();
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    java.util.List<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder> 
        getCanvasesOrBuilderList();
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder getCanvasesOrBuilder(
        int index);

    /**
     * <code>int64 ttl_in_seconds = 2;</code>
     * @return The ttlInSeconds.
     */
    long getTtlInSeconds();
  }
  /**
   * Protobuf type {@code com.spotify.canvazcache.EntityCanvazResponse}
   */
  public  static final class EntityCanvazResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.spotify.canvazcache.EntityCanvazResponse)
      EntityCanvazResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use EntityCanvazResponse.newBuilder() to construct.
    private EntityCanvazResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EntityCanvazResponse() {
      canvases_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new EntityCanvazResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Builder.class);
    }

    public interface CanvazOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.spotify.canvazcache.EntityCanvazResponse.Canvaz)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      java.lang.String getId();
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      com.google.protobuf.ByteString
          getIdBytes();

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

      /**
       * <code>string file_id = 3;</code>
       * @return The fileId.
       */
      java.lang.String getFileId();
      /**
       * <code>string file_id = 3;</code>
       * @return The bytes for fileId.
       */
      com.google.protobuf.ByteString
          getFileIdBytes();

      /**
       * <code>.com.spotify.canvaz.Type type = 4;</code>
       * @return The enum numeric value on the wire for type.
       */
      int getTypeValue();
      /**
       * <code>.com.spotify.canvaz.Type type = 4;</code>
       * @return The type.
       */
      com.spotify.canvaz.CanvazMeta.Type getType();

      /**
       * <code>string entity_uri = 5;</code>
       * @return The entityUri.
       */
      java.lang.String getEntityUri();
      /**
       * <code>string entity_uri = 5;</code>
       * @return The bytes for entityUri.
       */
      com.google.protobuf.ByteString
          getEntityUriBytes();

      /**
       * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
       * @return Whether the artist field is set.
       */
      boolean hasArtist();
      /**
       * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
       * @return The artist.
       */
      com.spotify.canvaz.CanvazOuterClass.Artist getArtist();
      /**
       * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
       */
      com.spotify.canvaz.CanvazOuterClass.ArtistOrBuilder getArtistOrBuilder();

      /**
       * <code>bool explicit = 7;</code>
       * @return The explicit.
       */
      boolean getExplicit();

      /**
       * <code>string uploaded_by = 8;</code>
       * @return The uploadedBy.
       */
      java.lang.String getUploadedBy();
      /**
       * <code>string uploaded_by = 8;</code>
       * @return The bytes for uploadedBy.
       */
      com.google.protobuf.ByteString
          getUploadedByBytes();

      /**
       * <code>string etag = 9;</code>
       * @return The etag.
       */
      java.lang.String getEtag();
      /**
       * <code>string etag = 9;</code>
       * @return The bytes for etag.
       */
      com.google.protobuf.ByteString
          getEtagBytes();

      /**
       * <code>string canvas_uri = 11;</code>
       * @return The canvasUri.
       */
      java.lang.String getCanvasUri();
      /**
       * <code>string canvas_uri = 11;</code>
       * @return The bytes for canvasUri.
       */
      com.google.protobuf.ByteString
          getCanvasUriBytes();
    }
    /**
     * Protobuf type {@code com.spotify.canvazcache.EntityCanvazResponse.Canvaz}
     */
    public  static final class Canvaz extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.spotify.canvazcache.EntityCanvazResponse.Canvaz)
        CanvazOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Canvaz.newBuilder() to construct.
      private Canvaz(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Canvaz() {
        id_ = "";
        url_ = "";
        fileId_ = "";
        type_ = 0;
        entityUri_ = "";
        uploadedBy_ = "";
        etag_ = "";
        canvasUri_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Canvaz();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder.class);
      }

      public static final int ID_FIELD_NUMBER = 1;
      private volatile java.lang.Object id_;
      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        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();
          id_ = s;
          return s;
        }
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int URL_FIELD_NUMBER = 2;
      private volatile java.lang.Object url_;
      /**
       * <code>string url = 2;</code>
       * @return The url.
       */
      public java.lang.String getUrl() {
        java.lang.Object ref = url_;
        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();
          url_ = s;
          return s;
        }
      }
      /**
       * <code>string url = 2;</code>
       * @return The bytes for url.
       */
      public com.google.protobuf.ByteString
          getUrlBytes() {
        java.lang.Object ref = url_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          url_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int FILE_ID_FIELD_NUMBER = 3;
      private volatile java.lang.Object fileId_;
      /**
       * <code>string file_id = 3;</code>
       * @return The fileId.
       */
      public java.lang.String getFileId() {
        java.lang.Object ref = fileId_;
        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();
          fileId_ = s;
          return s;
        }
      }
      /**
       * <code>string file_id = 3;</code>
       * @return The bytes for fileId.
       */
      public com.google.protobuf.ByteString
          getFileIdBytes() {
        java.lang.Object ref = fileId_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          fileId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int TYPE_FIELD_NUMBER = 4;
      private int type_;
      /**
       * <code>.com.spotify.canvaz.Type type = 4;</code>
       * @return The enum numeric value on the wire for type.
       */
      public int getTypeValue() {
        return type_;
      }
      /**
       * <code>.com.spotify.canvaz.Type type = 4;</code>
       * @return The type.
       */
      public com.spotify.canvaz.CanvazMeta.Type getType() {
        @SuppressWarnings("deprecation")
        com.spotify.canvaz.CanvazMeta.Type result = com.spotify.canvaz.CanvazMeta.Type.valueOf(type_);
        return result == null ? com.spotify.canvaz.CanvazMeta.Type.UNRECOGNIZED : result;
      }

      public static final int ENTITY_URI_FIELD_NUMBER = 5;
      private volatile java.lang.Object entityUri_;
      /**
       * <code>string entity_uri = 5;</code>
       * @return The entityUri.
       */
      public java.lang.String getEntityUri() {
        java.lang.Object ref = entityUri_;
        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();
          entityUri_ = s;
          return s;
        }
      }
      /**
       * <code>string entity_uri = 5;</code>
       * @return The bytes for entityUri.
       */
      public com.google.protobuf.ByteString
          getEntityUriBytes() {
        java.lang.Object ref = entityUri_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          entityUri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int ARTIST_FIELD_NUMBER = 6;
      private com.spotify.canvaz.CanvazOuterClass.Artist artist_;
      /**
       * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
       * @return Whether the artist field is set.
       */
      public boolean hasArtist() {
        return artist_ != null;
      }
      /**
       * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
       * @return The artist.
       */
      public com.spotify.canvaz.CanvazOuterClass.Artist getArtist() {
        return artist_ == null ? com.spotify.canvaz.CanvazOuterClass.Artist.getDefaultInstance() : artist_;
      }
      /**
       * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.ArtistOrBuilder getArtistOrBuilder() {
        return getArtist();
      }

      public static final int EXPLICIT_FIELD_NUMBER = 7;
      private boolean explicit_;
      /**
       * <code>bool explicit = 7;</code>
       * @return The explicit.
       */
      public boolean getExplicit() {
        return explicit_;
      }

      public static final int UPLOADED_BY_FIELD_NUMBER = 8;
      private volatile java.lang.Object uploadedBy_;
      /**
       * <code>string uploaded_by = 8;</code>
       * @return The uploadedBy.
       */
      public java.lang.String getUploadedBy() {
        java.lang.Object ref = uploadedBy_;
        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();
          uploadedBy_ = s;
          return s;
        }
      }
      /**
       * <code>string uploaded_by = 8;</code>
       * @return The bytes for uploadedBy.
       */
      public com.google.protobuf.ByteString
          getUploadedByBytes() {
        java.lang.Object ref = uploadedBy_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uploadedBy_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int ETAG_FIELD_NUMBER = 9;
      private volatile java.lang.Object etag_;
      /**
       * <code>string etag = 9;</code>
       * @return The etag.
       */
      public java.lang.String getEtag() {
        java.lang.Object ref = etag_;
        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();
          etag_ = s;
          return s;
        }
      }
      /**
       * <code>string etag = 9;</code>
       * @return The bytes for etag.
       */
      public com.google.protobuf.ByteString
          getEtagBytes() {
        java.lang.Object ref = etag_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          etag_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int CANVAS_URI_FIELD_NUMBER = 11;
      private volatile java.lang.Object canvasUri_;
      /**
       * <code>string canvas_uri = 11;</code>
       * @return The canvasUri.
       */
      public java.lang.String getCanvasUri() {
        java.lang.Object ref = canvasUri_;
        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();
          canvasUri_ = s;
          return s;
        }
      }
      /**
       * <code>string canvas_uri = 11;</code>
       * @return The bytes for canvasUri.
       */
      public com.google.protobuf.ByteString
          getCanvasUriBytes() {
        java.lang.Object ref = canvasUri_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          canvasUri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.spotify.canvazcache.EntityCanvazResponse.Canvaz}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.spotify.canvazcache.EntityCanvazResponse.Canvaz)
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder.class);
        }

        // Construct using com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          id_ = "";

          url_ = "";

          fileId_ = "";

          type_ = 0;

          entityUri_ = "";

          if (artistBuilder_ == null) {
            artist_ = null;
          } else {
            artist_ = null;
            artistBuilder_ = null;
          }
          explicit_ = false;

          uploadedBy_ = "";

          etag_ = "";

          canvasUri_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_descriptor;
        }

        @java.lang.Override
        public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz getDefaultInstanceForType() {
          return com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.getDefaultInstance();
        }

        @java.lang.Override
        public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz build() {
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz buildPartial() {
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz result = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz(this);
          result.id_ = id_;
          result.url_ = url_;
          result.fileId_ = fileId_;
          result.type_ = type_;
          result.entityUri_ = entityUri_;
          if (artistBuilder_ == null) {
            result.artist_ = artist_;
          } else {
            result.artist_ = artistBuilder_.build();
          }
          result.explicit_ = explicit_;
          result.uploadedBy_ = uploadedBy_;
          result.etag_ = etag_;
          result.canvasUri_ = canvasUri_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }

        private java.lang.Object id_ = "";
        /**
         * <code>string id = 1;</code>
         * @return The id.
         */
        public java.lang.String getId() {
          java.lang.Object ref = id_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            id_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string id = 1;</code>
         * @return The bytes for id.
         */
        public com.google.protobuf.ByteString
            getIdBytes() {
          java.lang.Object ref = id_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            id_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string id = 1;</code>
         * @param value The id to set.
         * @return This builder for chaining.
         */
        public Builder setId(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          id_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string id = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearId() {
          
          id_ = getDefaultInstance().getId();
          onChanged();
          return this;
        }
        /**
         * <code>string id = 1;</code>
         * @param value The bytes for id to set.
         * @return This builder for chaining.
         */
        public Builder setIdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          id_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object url_ = "";
        /**
         * <code>string url = 2;</code>
         * @return The url.
         */
        public java.lang.String getUrl() {
          java.lang.Object ref = url_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            url_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string url = 2;</code>
         * @return The bytes for url.
         */
        public com.google.protobuf.ByteString
            getUrlBytes() {
          java.lang.Object ref = url_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            url_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string url = 2;</code>
         * @param value The url to set.
         * @return This builder for chaining.
         */
        public Builder setUrl(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          url_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string url = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearUrl() {
          
          url_ = getDefaultInstance().getUrl();
          onChanged();
          return this;
        }
        /**
         * <code>string url = 2;</code>
         * @param value The bytes for url to set.
         * @return This builder for chaining.
         */
        public Builder setUrlBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          url_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object fileId_ = "";
        /**
         * <code>string file_id = 3;</code>
         * @return The fileId.
         */
        public java.lang.String getFileId() {
          java.lang.Object ref = fileId_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            fileId_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string file_id = 3;</code>
         * @return The bytes for fileId.
         */
        public com.google.protobuf.ByteString
            getFileIdBytes() {
          java.lang.Object ref = fileId_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            fileId_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string file_id = 3;</code>
         * @param value The fileId to set.
         * @return This builder for chaining.
         */
        public Builder setFileId(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          fileId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string file_id = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearFileId() {
          
          fileId_ = getDefaultInstance().getFileId();
          onChanged();
          return this;
        }
        /**
         * <code>string file_id = 3;</code>
         * @param value The bytes for fileId to set.
         * @return This builder for chaining.
         */
        public Builder setFileIdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          fileId_ = value;
          onChanged();
          return this;
        }

        private int type_ = 0;
        /**
         * <code>.com.spotify.canvaz.Type type = 4;</code>
         * @return The enum numeric value on the wire for type.
         */
        public int getTypeValue() {
          return type_;
        }
        /**
         * <code>.com.spotify.canvaz.Type type = 4;</code>
         * @param value The enum numeric value on the wire for type to set.
         * @return This builder for chaining.
         */
        public Builder setTypeValue(int value) {
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>.com.spotify.canvaz.Type type = 4;</code>
         * @return The type.
         */
        public com.spotify.canvaz.CanvazMeta.Type getType() {
          @SuppressWarnings("deprecation")
          com.spotify.canvaz.CanvazMeta.Type result = com.spotify.canvaz.CanvazMeta.Type.valueOf(type_);
          return result == null ? com.spotify.canvaz.CanvazMeta.Type.UNRECOGNIZED : result;
        }
        /**
         * <code>.com.spotify.canvaz.Type type = 4;</code>
         * @param value The type to set.
         * @return This builder for chaining.
         */
        public Builder setType(com.spotify.canvaz.CanvazMeta.Type value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          type_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>.com.spotify.canvaz.Type type = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearType() {
          
          type_ = 0;
          onChanged();
          return this;
        }

        private java.lang.Object entityUri_ = "";
        /**
         * <code>string entity_uri = 5;</code>
         * @return The entityUri.
         */
        public java.lang.String getEntityUri() {
          java.lang.Object ref = entityUri_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            entityUri_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string entity_uri = 5;</code>
         * @return The bytes for entityUri.
         */
        public com.google.protobuf.ByteString
            getEntityUriBytes() {
          java.lang.Object ref = entityUri_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            entityUri_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string entity_uri = 5;</code>
         * @param value The entityUri to set.
         * @return This builder for chaining.
         */
        public Builder setEntityUri(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          entityUri_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string entity_uri = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearEntityUri() {
          
          entityUri_ = getDefaultInstance().getEntityUri();
          onChanged();
          return this;
        }
        /**
         * <code>string entity_uri = 5;</code>
         * @param value The bytes for entityUri to set.
         * @return This builder for chaining.
         */
        public Builder setEntityUriBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          entityUri_ = value;
          onChanged();
          return this;
        }

        private com.spotify.canvaz.CanvazOuterClass.Artist artist_;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.spotify.canvaz.CanvazOuterClass.Artist, com.spotify.canvaz.CanvazOuterClass.Artist.Builder, com.spotify.canvaz.CanvazOuterClass.ArtistOrBuilder> artistBuilder_;
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         * @return Whether the artist field is set.
         */
        public boolean hasArtist() {
          return artistBuilder_ != null || artist_ != null;
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         * @return The artist.
         */
        public com.spotify.canvaz.CanvazOuterClass.Artist getArtist() {
          if (artistBuilder_ == null) {
            return artist_ == null ? com.spotify.canvaz.CanvazOuterClass.Artist.getDefaultInstance() : artist_;
          } else {
            return artistBuilder_.getMessage();
          }
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         */
        public Builder setArtist(com.spotify.canvaz.CanvazOuterClass.Artist value) {
          if (artistBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            artist_ = value;
            onChanged();
          } else {
            artistBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         */
        public Builder setArtist(
            com.spotify.canvaz.CanvazOuterClass.Artist.Builder builderForValue) {
          if (artistBuilder_ == null) {
            artist_ = builderForValue.build();
            onChanged();
          } else {
            artistBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         */
        public Builder mergeArtist(com.spotify.canvaz.CanvazOuterClass.Artist value) {
          if (artistBuilder_ == null) {
            if (artist_ != null) {
              artist_ =
                com.spotify.canvaz.CanvazOuterClass.Artist.newBuilder(artist_).mergeFrom(value).buildPartial();
            } else {
              artist_ = value;
            }
            onChanged();
          } else {
            artistBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         */
        public Builder clearArtist() {
          if (artistBuilder_ == null) {
            artist_ = null;
            onChanged();
          } else {
            artist_ = null;
            artistBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         */
        public com.spotify.canvaz.CanvazOuterClass.Artist.Builder getArtistBuilder() {
          
          onChanged();
          return getArtistFieldBuilder().getBuilder();
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         */
        public com.spotify.canvaz.CanvazOuterClass.ArtistOrBuilder getArtistOrBuilder() {
          if (artistBuilder_ != null) {
            return artistBuilder_.getMessageOrBuilder();
          } else {
            return artist_ == null ?
                com.spotify.canvaz.CanvazOuterClass.Artist.getDefaultInstance() : artist_;
          }
        }
        /**
         * <code>.com.spotify.canvazcache.Artist artist = 6;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.spotify.canvaz.CanvazOuterClass.Artist, com.spotify.canvaz.CanvazOuterClass.Artist.Builder, com.spotify.canvaz.CanvazOuterClass.ArtistOrBuilder> 
            getArtistFieldBuilder() {
          if (artistBuilder_ == null) {
            artistBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.spotify.canvaz.CanvazOuterClass.Artist, com.spotify.canvaz.CanvazOuterClass.Artist.Builder, com.spotify.canvaz.CanvazOuterClass.ArtistOrBuilder>(
                    getArtist(),
                    getParentForChildren(),
                    isClean());
            artist_ = null;
          }
          return artistBuilder_;
        }

        private boolean explicit_ ;
        /**
         * <code>bool explicit = 7;</code>
         * @return The explicit.
         */
        public boolean getExplicit() {
          return explicit_;
        }
        /**
         * <code>bool explicit = 7;</code>
         * @param value The explicit to set.
         * @return This builder for chaining.
         */
        public Builder setExplicit(boolean value) {
          
          explicit_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>bool explicit = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearExplicit() {
          
          explicit_ = false;
          onChanged();
          return this;
        }

        private java.lang.Object uploadedBy_ = "";
        /**
         * <code>string uploaded_by = 8;</code>
         * @return The uploadedBy.
         */
        public java.lang.String getUploadedBy() {
          java.lang.Object ref = uploadedBy_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            uploadedBy_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string uploaded_by = 8;</code>
         * @return The bytes for uploadedBy.
         */
        public com.google.protobuf.ByteString
            getUploadedByBytes() {
          java.lang.Object ref = uploadedBy_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            uploadedBy_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string uploaded_by = 8;</code>
         * @param value The uploadedBy to set.
         * @return This builder for chaining.
         */
        public Builder setUploadedBy(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          uploadedBy_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string uploaded_by = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearUploadedBy() {
          
          uploadedBy_ = getDefaultInstance().getUploadedBy();
          onChanged();
          return this;
        }
        /**
         * <code>string uploaded_by = 8;</code>
         * @param value The bytes for uploadedBy to set.
         * @return This builder for chaining.
         */
        public Builder setUploadedByBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          uploadedBy_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object etag_ = "";
        /**
         * <code>string etag = 9;</code>
         * @return The etag.
         */
        public java.lang.String getEtag() {
          java.lang.Object ref = etag_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            etag_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string etag = 9;</code>
         * @return The bytes for etag.
         */
        public com.google.protobuf.ByteString
            getEtagBytes() {
          java.lang.Object ref = etag_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            etag_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string etag = 9;</code>
         * @param value The etag to set.
         * @return This builder for chaining.
         */
        public Builder setEtag(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          etag_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string etag = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearEtag() {
          
          etag_ = getDefaultInstance().getEtag();
          onChanged();
          return this;
        }
        /**
         * <code>string etag = 9;</code>
         * @param value The bytes for etag to set.
         * @return This builder for chaining.
         */
        public Builder setEtagBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          etag_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object canvasUri_ = "";
        /**
         * <code>string canvas_uri = 11;</code>
         * @return The canvasUri.
         */
        public java.lang.String getCanvasUri() {
          java.lang.Object ref = canvasUri_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            canvasUri_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string canvas_uri = 11;</code>
         * @return The bytes for canvasUri.
         */
        public com.google.protobuf.ByteString
            getCanvasUriBytes() {
          java.lang.Object ref = canvasUri_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            canvasUri_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string canvas_uri = 11;</code>
         * @param value The canvasUri to set.
         * @return This builder for chaining.
         */
        public Builder setCanvasUri(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          canvasUri_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string canvas_uri = 11;</code>
         * @return This builder for chaining.
         */
        public Builder clearCanvasUri() {
          
          canvasUri_ = getDefaultInstance().getCanvasUri();
          onChanged();
          return this;
        }
        /**
         * <code>string canvas_uri = 11;</code>
         * @param value The bytes for canvasUri to set.
         * @return This builder for chaining.
         */
        public Builder setCanvasUriBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          canvasUri_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:com.spotify.canvazcache.EntityCanvazResponse.Canvaz)
      }

      // @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazResponse.Canvaz)
      private static final com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz();
      }

      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<Canvaz>
          PARSER = new com.google.protobuf.AbstractParser<Canvaz>() {
        @java.lang.Override
        public Canvaz parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e.getMessage()).setUnfinishedMessage(
                    builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

      public static com.google.protobuf.Parser<Canvaz> parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int CANVASES_FIELD_NUMBER = 1;
    private java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz> canvases_;
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    public java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz> getCanvasesList() {
      return canvases_;
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    public java.util.List<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder> 
        getCanvasesOrBuilderList() {
      return canvases_;
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    public int getCanvasesCount() {
      return canvases_.size();
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz getCanvases(int index) {
      return canvases_.get(index);
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
     */
    public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder getCanvasesOrBuilder(
        int index) {
      return canvases_.get(index);
    }

    public static final int TTL_IN_SECONDS_FIELD_NUMBER = 2;
    private long ttlInSeconds_;
    /**
     * <code>int64 ttl_in_seconds = 2;</code>
     * @return The ttlInSeconds.
     */
    public long getTtlInSeconds() {
      return ttlInSeconds_;
    }

    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.spotify.canvazcache.EntityCanvazResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.spotify.canvazcache.EntityCanvazResponse)
        com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Builder.class);
      }

      // Construct using com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getCanvasesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (canvasesBuilder_ == null) {
          canvases_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          canvasesBuilder_.clear();
        }
        ttlInSeconds_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazResponse_descriptor;
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse getDefaultInstanceForType() {
        return com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse build() {
        com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse buildPartial() {
        com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse result = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse(this);
        int from_bitField0_ = bitField0_;
        if (canvasesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            canvases_ = java.util.Collections.unmodifiableList(canvases_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.canvases_ = canvases_;
        } else {
          result.canvases_ = canvasesBuilder_.build();
        }
        result.ttlInSeconds_ = ttlInSeconds_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      private int bitField0_;

      private java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz> canvases_ =
        java.util.Collections.emptyList();
      private void ensureCanvasesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          canvases_ = new java.util.ArrayList<com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz>(canvases_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder> canvasesBuilder_;

      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz> getCanvasesList() {
        if (canvasesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(canvases_);
        } else {
          return canvasesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public int getCanvasesCount() {
        if (canvasesBuilder_ == null) {
          return canvases_.size();
        } else {
          return canvasesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz getCanvases(int index) {
        if (canvasesBuilder_ == null) {
          return canvases_.get(index);
        } else {
          return canvasesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder setCanvases(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz value) {
        if (canvasesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCanvasesIsMutable();
          canvases_.set(index, value);
          onChanged();
        } else {
          canvasesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder setCanvases(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder builderForValue) {
        if (canvasesBuilder_ == null) {
          ensureCanvasesIsMutable();
          canvases_.set(index, builderForValue.build());
          onChanged();
        } else {
          canvasesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder addCanvases(com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz value) {
        if (canvasesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCanvasesIsMutable();
          canvases_.add(value);
          onChanged();
        } else {
          canvasesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder addCanvases(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz value) {
        if (canvasesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCanvasesIsMutable();
          canvases_.add(index, value);
          onChanged();
        } else {
          canvasesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder addCanvases(
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder builderForValue) {
        if (canvasesBuilder_ == null) {
          ensureCanvasesIsMutable();
          canvases_.add(builderForValue.build());
          onChanged();
        } else {
          canvasesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder addCanvases(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder builderForValue) {
        if (canvasesBuilder_ == null) {
          ensureCanvasesIsMutable();
          canvases_.add(index, builderForValue.build());
          onChanged();
        } else {
          canvasesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder addAllCanvases(
          java.lang.Iterable<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz> values) {
        if (canvasesBuilder_ == null) {
          ensureCanvasesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, canvases_);
          onChanged();
        } else {
          canvasesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder clearCanvases() {
        if (canvasesBuilder_ == null) {
          canvases_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          canvasesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public Builder removeCanvases(int index) {
        if (canvasesBuilder_ == null) {
          ensureCanvasesIsMutable();
          canvases_.remove(index);
          onChanged();
        } else {
          canvasesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder getCanvasesBuilder(
          int index) {
        return getCanvasesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder getCanvasesOrBuilder(
          int index) {
        if (canvasesBuilder_ == null) {
          return canvases_.get(index);  } else {
          return canvasesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public java.util.List<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder> 
           getCanvasesOrBuilderList() {
        if (canvasesBuilder_ != null) {
          return canvasesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(canvases_);
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder addCanvasesBuilder() {
        return getCanvasesFieldBuilder().addBuilder(
            com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.getDefaultInstance());
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder addCanvasesBuilder(
          int index) {
        return getCanvasesFieldBuilder().addBuilder(
            index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.getDefaultInstance());
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazResponse.Canvaz canvases = 1;</code>
       */
      public java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder> 
           getCanvasesBuilderList() {
        return getCanvasesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder> 
          getCanvasesFieldBuilder() {
        if (canvasesBuilder_ == null) {
          canvasesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.Canvaz.Builder, com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse.CanvazOrBuilder>(
                  canvases_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          canvases_ = null;
        }
        return canvasesBuilder_;
      }

      private long ttlInSeconds_ ;
      /**
       * <code>int64 ttl_in_seconds = 2;</code>
       * @return The ttlInSeconds.
       */
      public long getTtlInSeconds() {
        return ttlInSeconds_;
      }
      /**
       * <code>int64 ttl_in_seconds = 2;</code>
       * @param value The ttlInSeconds to set.
       * @return This builder for chaining.
       */
      public Builder setTtlInSeconds(long value) {
        
        ttlInSeconds_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int64 ttl_in_seconds = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearTtlInSeconds() {
        
        ttlInSeconds_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:com.spotify.canvazcache.EntityCanvazResponse)
    }

    // @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazResponse)
    private static final com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse();
    }

    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<EntityCanvazResponse>
        PARSER = new com.google.protobuf.AbstractParser<EntityCanvazResponse>() {
      @java.lang.Override
      public EntityCanvazResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(
                  builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<EntityCanvazResponse> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.spotify.canvaz.CanvazOuterClass.EntityCanvazResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EntityCanvazRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.spotify.canvazcache.EntityCanvazRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity> 
        getEntitiesList();
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity getEntities(int index);
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    int getEntitiesCount();
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    java.util.List<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder> 
        getEntitiesOrBuilderList();
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder getEntitiesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code com.spotify.canvazcache.EntityCanvazRequest}
   */
  public  static final class EntityCanvazRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.spotify.canvazcache.EntityCanvazRequest)
      EntityCanvazRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use EntityCanvazRequest.newBuilder() to construct.
    private EntityCanvazRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EntityCanvazRequest() {
      entities_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new EntityCanvazRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Builder.class);
    }

    public interface EntityOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.spotify.canvazcache.EntityCanvazRequest.Entity)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string entity_uri = 1;</code>
       * @return The entityUri.
       */
      java.lang.String getEntityUri();
      /**
       * <code>string entity_uri = 1;</code>
       * @return The bytes for entityUri.
       */
      com.google.protobuf.ByteString
          getEntityUriBytes();

      /**
       * <code>string etag = 2;</code>
       * @return The etag.
       */
      java.lang.String getEtag();
      /**
       * <code>string etag = 2;</code>
       * @return The bytes for etag.
       */
      com.google.protobuf.ByteString
          getEtagBytes();
    }
    /**
     * Protobuf type {@code com.spotify.canvazcache.EntityCanvazRequest.Entity}
     */
    public  static final class Entity extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.spotify.canvazcache.EntityCanvazRequest.Entity)
        EntityOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Entity.newBuilder() to construct.
      private Entity(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Entity() {
        entityUri_ = "";
        etag_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Entity();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder.class);
      }

      public static final int ENTITY_URI_FIELD_NUMBER = 1;
      private volatile java.lang.Object entityUri_;
      /**
       * <code>string entity_uri = 1;</code>
       * @return The entityUri.
       */
      public java.lang.String getEntityUri() {
        java.lang.Object ref = entityUri_;
        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();
          entityUri_ = s;
          return s;
        }
      }
      /**
       * <code>string entity_uri = 1;</code>
       * @return The bytes for entityUri.
       */
      public com.google.protobuf.ByteString
          getEntityUriBytes() {
        java.lang.Object ref = entityUri_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          entityUri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int ETAG_FIELD_NUMBER = 2;
      private volatile java.lang.Object etag_;
      /**
       * <code>string etag = 2;</code>
       * @return The etag.
       */
      public java.lang.String getEtag() {
        java.lang.Object ref = etag_;
        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();
          etag_ = s;
          return s;
        }
      }
      /**
       * <code>string etag = 2;</code>
       * @return The bytes for etag.
       */
      public com.google.protobuf.ByteString
          getEtagBytes() {
        java.lang.Object ref = etag_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          etag_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.spotify.canvazcache.EntityCanvazRequest.Entity}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.spotify.canvazcache.EntityCanvazRequest.Entity)
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder.class);
        }

        // Construct using com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          entityUri_ = "";

          etag_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_descriptor;
        }

        @java.lang.Override
        public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity getDefaultInstanceForType() {
          return com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.getDefaultInstance();
        }

        @java.lang.Override
        public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity build() {
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity buildPartial() {
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity result = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity(this);
          result.entityUri_ = entityUri_;
          result.etag_ = etag_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }

        private java.lang.Object entityUri_ = "";
        /**
         * <code>string entity_uri = 1;</code>
         * @return The entityUri.
         */
        public java.lang.String getEntityUri() {
          java.lang.Object ref = entityUri_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            entityUri_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string entity_uri = 1;</code>
         * @return The bytes for entityUri.
         */
        public com.google.protobuf.ByteString
            getEntityUriBytes() {
          java.lang.Object ref = entityUri_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            entityUri_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string entity_uri = 1;</code>
         * @param value The entityUri to set.
         * @return This builder for chaining.
         */
        public Builder setEntityUri(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          entityUri_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string entity_uri = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearEntityUri() {
          
          entityUri_ = getDefaultInstance().getEntityUri();
          onChanged();
          return this;
        }
        /**
         * <code>string entity_uri = 1;</code>
         * @param value The bytes for entityUri to set.
         * @return This builder for chaining.
         */
        public Builder setEntityUriBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          entityUri_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object etag_ = "";
        /**
         * <code>string etag = 2;</code>
         * @return The etag.
         */
        public java.lang.String getEtag() {
          java.lang.Object ref = etag_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            etag_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string etag = 2;</code>
         * @return The bytes for etag.
         */
        public com.google.protobuf.ByteString
            getEtagBytes() {
          java.lang.Object ref = etag_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            etag_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string etag = 2;</code>
         * @param value The etag to set.
         * @return This builder for chaining.
         */
        public Builder setEtag(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          etag_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string etag = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearEtag() {
          
          etag_ = getDefaultInstance().getEtag();
          onChanged();
          return this;
        }
        /**
         * <code>string etag = 2;</code>
         * @param value The bytes for etag to set.
         * @return This builder for chaining.
         */
        public Builder setEtagBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          etag_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:com.spotify.canvazcache.EntityCanvazRequest.Entity)
      }

      // @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazRequest.Entity)
      private static final com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity();
      }

      public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<Entity>
          PARSER = new com.google.protobuf.AbstractParser<Entity>() {
        @java.lang.Override
        public Entity parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e.getMessage()).setUnfinishedMessage(
                    builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

      public static com.google.protobuf.Parser<Entity> parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int ENTITIES_FIELD_NUMBER = 1;
    private java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity> entities_;
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    public java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity> getEntitiesList() {
      return entities_;
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    public java.util.List<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder> 
        getEntitiesOrBuilderList() {
      return entities_;
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    public int getEntitiesCount() {
      return entities_.size();
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity getEntities(int index) {
      return entities_.get(index);
    }
    /**
     * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
     */
    public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder getEntitiesOrBuilder(
        int index) {
      return entities_.get(index);
    }

    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.spotify.canvazcache.EntityCanvazRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.spotify.canvazcache.EntityCanvazRequest)
        com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.class, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Builder.class);
      }

      // Construct using com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getEntitiesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (entitiesBuilder_ == null) {
          entities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entitiesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.spotify.canvaz.CanvazOuterClass.internal_static_com_spotify_canvazcache_EntityCanvazRequest_descriptor;
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest getDefaultInstanceForType() {
        return com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest build() {
        com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest buildPartial() {
        com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest result = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest(this);
        int from_bitField0_ = bitField0_;
        if (entitiesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            entities_ = java.util.Collections.unmodifiableList(entities_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entities_ = entities_;
        } else {
          result.entities_ = entitiesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      private int bitField0_;

      private java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity> entities_ =
        java.util.Collections.emptyList();
      private void ensureEntitiesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          entities_ = new java.util.ArrayList<com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity>(entities_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder> entitiesBuilder_;

      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity> getEntitiesList() {
        if (entitiesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entities_);
        } else {
          return entitiesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public int getEntitiesCount() {
        if (entitiesBuilder_ == null) {
          return entities_.size();
        } else {
          return entitiesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity getEntities(int index) {
        if (entitiesBuilder_ == null) {
          return entities_.get(index);
        } else {
          return entitiesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder setEntities(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity value) {
        if (entitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntitiesIsMutable();
          entities_.set(index, value);
          onChanged();
        } else {
          entitiesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder setEntities(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder builderForValue) {
        if (entitiesBuilder_ == null) {
          ensureEntitiesIsMutable();
          entities_.set(index, builderForValue.build());
          onChanged();
        } else {
          entitiesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder addEntities(com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity value) {
        if (entitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntitiesIsMutable();
          entities_.add(value);
          onChanged();
        } else {
          entitiesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder addEntities(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity value) {
        if (entitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntitiesIsMutable();
          entities_.add(index, value);
          onChanged();
        } else {
          entitiesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder addEntities(
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder builderForValue) {
        if (entitiesBuilder_ == null) {
          ensureEntitiesIsMutable();
          entities_.add(builderForValue.build());
          onChanged();
        } else {
          entitiesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder addEntities(
          int index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder builderForValue) {
        if (entitiesBuilder_ == null) {
          ensureEntitiesIsMutable();
          entities_.add(index, builderForValue.build());
          onChanged();
        } else {
          entitiesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder addAllEntities(
          java.lang.Iterable<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity> values) {
        if (entitiesBuilder_ == null) {
          ensureEntitiesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, entities_);
          onChanged();
        } else {
          entitiesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder clearEntities() {
        if (entitiesBuilder_ == null) {
          entities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          entitiesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public Builder removeEntities(int index) {
        if (entitiesBuilder_ == null) {
          ensureEntitiesIsMutable();
          entities_.remove(index);
          onChanged();
        } else {
          entitiesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder getEntitiesBuilder(
          int index) {
        return getEntitiesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder getEntitiesOrBuilder(
          int index) {
        if (entitiesBuilder_ == null) {
          return entities_.get(index);  } else {
          return entitiesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public java.util.List<? extends com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder> 
           getEntitiesOrBuilderList() {
        if (entitiesBuilder_ != null) {
          return entitiesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entities_);
        }
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder addEntitiesBuilder() {
        return getEntitiesFieldBuilder().addBuilder(
            com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.getDefaultInstance());
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder addEntitiesBuilder(
          int index) {
        return getEntitiesFieldBuilder().addBuilder(
            index, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.getDefaultInstance());
      }
      /**
       * <code>repeated .com.spotify.canvazcache.EntityCanvazRequest.Entity entities = 1;</code>
       */
      public java.util.List<com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder> 
           getEntitiesBuilderList() {
        return getEntitiesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder> 
          getEntitiesFieldBuilder() {
        if (entitiesBuilder_ == null) {
          entitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.Entity.Builder, com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest.EntityOrBuilder>(
                  entities_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          entities_ = null;
        }
        return entitiesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:com.spotify.canvazcache.EntityCanvazRequest)
    }

    // @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazRequest)
    private static final com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest();
    }

    public static com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<EntityCanvazRequest>
        PARSER = new com.google.protobuf.AbstractParser<EntityCanvazRequest>() {
      @java.lang.Override
      public EntityCanvazRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(
                  builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<EntityCanvazRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.spotify.canvaz.CanvazOuterClass.EntityCanvazRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_spotify_canvazcache_Artist_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_spotify_canvazcache_Artist_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_spotify_canvazcache_EntityCanvazResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_spotify_canvazcache_EntityCanvazResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_spotify_canvazcache_EntityCanvazRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_spotify_canvazcache_EntityCanvazRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_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\014canvaz.proto\022\027com.spotify.canvazcache\032" +
      "\021canvaz-meta.proto\"3\n\006Artist\022\013\n\003uri\030\001 \001(" +
      "\t\022\014\n\004name\030\002 \001(\t\022\016\n\006avatar\030\003 \001(\t\"\341\002\n\024Enti" +
      "tyCanvazResponse\022F\n\010canvases\030\001 \003(\01324.com" +
      ".spotify.canvazcache.EntityCanvazRespons" +
      "e.Canvaz\022\026\n\016ttl_in_seconds\030\002 \001(\003\032\350\001\n\006Can" +
      "vaz\022\n\n\002id\030\001 \001(\t\022\013\n\003url\030\002 \001(\t\022\017\n\007file_id\030" +
      "\003 \001(\t\022&\n\004type\030\004 \001(\0162\030.com.spotify.canvaz" +
      ".Type\022\022\n\nentity_uri\030\005 \001(\t\022/\n\006artist\030\006 \001(" +
      "\0132\037.com.spotify.canvazcache.Artist\022\020\n\010ex" +
      "plicit\030\007 \001(\010\022\023\n\013uploaded_by\030\010 \001(\t\022\014\n\004eta" +
      "g\030\t \001(\t\022\022\n\ncanvas_uri\030\013 \001(\t\"\210\001\n\023EntityCa" +
      "nvazRequest\022E\n\010entities\030\001 \003(\01323.com.spot" +
      "ify.canvazcache.EntityCanvazRequest.Enti" +
      "ty\032*\n\006Entity\022\022\n\nentity_uri\030\001 \001(\t\022\014\n\004etag" +
      "\030\002 \001(\tB\026\n\022com.spotify.canvazH\002b\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.spotify.canvaz.CanvazMeta.getDescriptor(),
        });
    internal_static_com_spotify_canvazcache_Artist_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_spotify_canvazcache_Artist_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_spotify_canvazcache_Artist_descriptor,
        new java.lang.String[] { "Uri", "Name", "Avatar", });
    internal_static_com_spotify_canvazcache_EntityCanvazResponse_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_spotify_canvazcache_EntityCanvazResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_spotify_canvazcache_EntityCanvazResponse_descriptor,
        new java.lang.String[] { "Canvases", "TtlInSeconds", });
    internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_descriptor =
      internal_static_com_spotify_canvazcache_EntityCanvazResponse_descriptor.getNestedTypes().get(0);
    internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_spotify_canvazcache_EntityCanvazResponse_Canvaz_descriptor,
        new java.lang.String[] { "Id", "Url", "FileId", "Type", "EntityUri", "Artist", "Explicit", "UploadedBy", "Etag", "CanvasUri", });
    internal_static_com_spotify_canvazcache_EntityCanvazRequest_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_spotify_canvazcache_EntityCanvazRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_spotify_canvazcache_EntityCanvazRequest_descriptor,
        new java.lang.String[] { "Entities", });
    internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_descriptor =
      internal_static_com_spotify_canvazcache_EntityCanvazRequest_descriptor.getNestedTypes().get(0);
    internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_spotify_canvazcache_EntityCanvazRequest_Entity_descriptor,
        new java.lang.String[] { "EntityUri", "Etag", });
    com.spotify.canvaz.CanvazMeta.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
