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

com.example.graphql.client.betterbotz.orders.DeleteOrdersMutation Maven / Gradle / Ivy

There is a newer version: 2.1.0-BETA-19
Show newest version
// AUTO-GENERATED FILE. DO NOT MODIFY.
//
// This class was automatically generated by Apollo GraphQL plugin from the GraphQL queries it found.
// It should not be modified by hand.
//
package com.example.graphql.client.betterbotz.orders;

import com.apollographql.apollo.api.Input;
import com.apollographql.apollo.api.Mutation;
import com.apollographql.apollo.api.Operation;
import com.apollographql.apollo.api.OperationName;
import com.apollographql.apollo.api.Response;
import com.apollographql.apollo.api.ResponseField;
import com.apollographql.apollo.api.ScalarTypeAdapters;
import com.apollographql.apollo.api.internal.InputFieldMarshaller;
import com.apollographql.apollo.api.internal.InputFieldWriter;
import com.apollographql.apollo.api.internal.Mutator;
import com.apollographql.apollo.api.internal.OperationRequestBodyComposer;
import com.apollographql.apollo.api.internal.QueryDocumentMinifier;
import com.apollographql.apollo.api.internal.ResponseFieldMapper;
import com.apollographql.apollo.api.internal.ResponseFieldMarshaller;
import com.apollographql.apollo.api.internal.ResponseReader;
import com.apollographql.apollo.api.internal.ResponseWriter;
import com.apollographql.apollo.api.internal.SimpleOperationResponseParser;
import com.apollographql.apollo.api.internal.UnmodifiableMapBuilder;
import com.apollographql.apollo.api.internal.Utils;
import com.example.graphql.client.betterbotz.type.CustomType;
import com.example.graphql.client.betterbotz.type.MutationOptions;
import com.example.graphql.client.betterbotz.type.OrdersFilterInput;
import com.example.graphql.client.betterbotz.type.OrdersInput;
import java.io.IOException;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import java.lang.SuppressWarnings;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Optional;
import okio.Buffer;
import okio.BufferedSource;
import okio.ByteString;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public final class DeleteOrdersMutation implements Mutation, DeleteOrdersMutation.Variables> {
  public static final String OPERATION_ID = "614d9233c8360b84d90cc65d46514adf535aedaa9057d74cefa9d4f1b727d559";

  public static final String QUERY_DOCUMENT = QueryDocumentMinifier.minify(
    "mutation DeleteOrders($value: OrdersInput!, $ifExists: Boolean, $ifCondition: OrdersFilterInput, $options: MutationOptions) {\n"
        + "  deleteOrders(value: $value, ifExists: $ifExists, ifCondition: $ifCondition, options: $options) {\n"
        + "    __typename\n"
        + "    applied\n"
        + "    value {\n"
        + "      __typename\n"
        + "      id\n"
        + "      prodId\n"
        + "      prodName\n"
        + "      customerName\n"
        + "      address\n"
        + "      description\n"
        + "      price\n"
        + "      sellPrice\n"
        + "    }\n"
        + "  }\n"
        + "}"
  );

  public static final OperationName OPERATION_NAME = new OperationName() {
    @Override
    public String name() {
      return "DeleteOrders";
    }
  };

  private final DeleteOrdersMutation.Variables variables;

  public DeleteOrdersMutation(@NotNull OrdersInput value, @NotNull Input ifExists,
      @NotNull Input ifCondition, @NotNull Input options) {
    Utils.checkNotNull(value, "value == null");
    Utils.checkNotNull(ifExists, "ifExists == null");
    Utils.checkNotNull(ifCondition, "ifCondition == null");
    Utils.checkNotNull(options, "options == null");
    variables = new DeleteOrdersMutation.Variables(value, ifExists, ifCondition, options);
  }

  @Override
  public String operationId() {
    return OPERATION_ID;
  }

  @Override
  public String queryDocument() {
    return QUERY_DOCUMENT;
  }

  @Override
  public Optional wrapData(DeleteOrdersMutation.Data data) {
    return Optional.ofNullable(data);
  }

  @Override
  public DeleteOrdersMutation.Variables variables() {
    return variables;
  }

  @Override
  public ResponseFieldMapper responseFieldMapper() {
    return new Data.Mapper();
  }

  public static Builder builder() {
    return new Builder();
  }

  @Override
  public OperationName name() {
    return OPERATION_NAME;
  }

  @Override
  @NotNull
  public Response> parse(@NotNull final BufferedSource source,
      @NotNull final ScalarTypeAdapters scalarTypeAdapters) throws IOException {
    return SimpleOperationResponseParser.parse(source, this, scalarTypeAdapters);
  }

  @Override
  @NotNull
  public Response> parse(@NotNull final ByteString byteString,
      @NotNull final ScalarTypeAdapters scalarTypeAdapters) throws IOException {
    return parse(new Buffer().write(byteString), scalarTypeAdapters);
  }

  @Override
  @NotNull
  public Response> parse(@NotNull final BufferedSource source)
      throws IOException {
    return parse(source, ScalarTypeAdapters.DEFAULT);
  }

  @Override
  @NotNull
  public Response> parse(@NotNull final ByteString byteString)
      throws IOException {
    return parse(byteString, ScalarTypeAdapters.DEFAULT);
  }

  @Override
  @NotNull
  public ByteString composeRequestBody(@NotNull final ScalarTypeAdapters scalarTypeAdapters) {
    return OperationRequestBodyComposer.compose(this, false, true, scalarTypeAdapters);
  }

  @NotNull
  @Override
  public ByteString composeRequestBody() {
    return OperationRequestBodyComposer.compose(this, false, true, ScalarTypeAdapters.DEFAULT);
  }

  @Override
  @NotNull
  public ByteString composeRequestBody(final boolean autoPersistQueries,
      final boolean withQueryDocument, @NotNull final ScalarTypeAdapters scalarTypeAdapters) {
    return OperationRequestBodyComposer.compose(this, autoPersistQueries, withQueryDocument, scalarTypeAdapters);
  }

  public static final class Builder {
    private @NotNull OrdersInput value;

    private Input ifExists = Input.absent();

    private Input ifCondition = Input.absent();

    private Input options = Input.absent();

    Builder() {
    }

    public Builder value(@NotNull OrdersInput value) {
      this.value = value;
      return this;
    }

    public Builder ifExists(@Nullable Boolean ifExists) {
      this.ifExists = Input.fromNullable(ifExists);
      return this;
    }

    public Builder ifCondition(@Nullable OrdersFilterInput ifCondition) {
      this.ifCondition = Input.fromNullable(ifCondition);
      return this;
    }

    public Builder options(@Nullable MutationOptions options) {
      this.options = Input.fromNullable(options);
      return this;
    }

    public Builder ifExistsInput(@NotNull Input ifExists) {
      this.ifExists = Utils.checkNotNull(ifExists, "ifExists == null");
      return this;
    }

    public Builder ifConditionInput(@NotNull Input ifCondition) {
      this.ifCondition = Utils.checkNotNull(ifCondition, "ifCondition == null");
      return this;
    }

    public Builder optionsInput(@NotNull Input options) {
      this.options = Utils.checkNotNull(options, "options == null");
      return this;
    }

    public DeleteOrdersMutation build() {
      Utils.checkNotNull(value, "value == null");
      return new DeleteOrdersMutation(value, ifExists, ifCondition, options);
    }
  }

  public static final class Variables extends Operation.Variables {
    private final @NotNull OrdersInput value;

    private final Input ifExists;

    private final Input ifCondition;

    private final Input options;

    private final transient Map valueMap = new LinkedHashMap<>();

    Variables(@NotNull OrdersInput value, Input ifExists,
        Input ifCondition, Input options) {
      this.value = value;
      this.ifExists = ifExists;
      this.ifCondition = ifCondition;
      this.options = options;
      this.valueMap.put("value", value);
      if (ifExists.defined) {
        this.valueMap.put("ifExists", ifExists.value);
      }
      if (ifCondition.defined) {
        this.valueMap.put("ifCondition", ifCondition.value);
      }
      if (options.defined) {
        this.valueMap.put("options", options.value);
      }
    }

    public @NotNull OrdersInput value() {
      return value;
    }

    public Input ifExists() {
      return ifExists;
    }

    public Input ifCondition() {
      return ifCondition;
    }

    public Input options() {
      return options;
    }

    @Override
    public Map valueMap() {
      return Collections.unmodifiableMap(valueMap);
    }

    @Override
    public InputFieldMarshaller marshaller() {
      return new InputFieldMarshaller() {
        @Override
        public void marshal(InputFieldWriter writer) throws IOException {
          writer.writeObject("value", value.marshaller());
          if (ifExists.defined) {
            writer.writeBoolean("ifExists", ifExists.value);
          }
          if (ifCondition.defined) {
            writer.writeObject("ifCondition", ifCondition.value != null ? ifCondition.value.marshaller() : null);
          }
          if (options.defined) {
            writer.writeObject("options", options.value != null ? options.value.marshaller() : null);
          }
        }
      };
    }
  }

  /**
   * Data from the response after executing this GraphQL operation
   */
  public static class Data implements Operation.Data {
    static final ResponseField[] $responseFields = {
      ResponseField.forObject("deleteOrders", "deleteOrders", new UnmodifiableMapBuilder(4)
      .put("value", new UnmodifiableMapBuilder(2)
        .put("kind", "Variable")
        .put("variableName", "value")
        .build())
      .put("ifExists", new UnmodifiableMapBuilder(2)
        .put("kind", "Variable")
        .put("variableName", "ifExists")
        .build())
      .put("ifCondition", new UnmodifiableMapBuilder(2)
        .put("kind", "Variable")
        .put("variableName", "ifCondition")
        .build())
      .put("options", new UnmodifiableMapBuilder(2)
        .put("kind", "Variable")
        .put("variableName", "options")
        .build())
      .build(), true, Collections.emptyList())
    };

    final Optional deleteOrders;

    private transient volatile String $toString;

    private transient volatile int $hashCode;

    private transient volatile boolean $hashCodeMemoized;

    public Data(@Nullable DeleteOrders deleteOrders) {
      this.deleteOrders = Optional.ofNullable(deleteOrders);
    }

    /**
     * Delete mutation for the table 'Orders'.
     * Note that 'prodName' and 'customerName' are the fields that correspond to the table primary key.
     */
    public Optional getDeleteOrders() {
      return this.deleteOrders;
    }

    @SuppressWarnings({"rawtypes", "unchecked"})
    public ResponseFieldMarshaller marshaller() {
      return new ResponseFieldMarshaller() {
        @Override
        public void marshal(ResponseWriter writer) {
          writer.writeObject($responseFields[0], deleteOrders.isPresent() ? deleteOrders.get().marshaller() : null);
        }
      };
    }

    @Override
    public String toString() {
      if ($toString == null) {
        $toString = "Data{"
          + "deleteOrders=" + deleteOrders
          + "}";
      }
      return $toString;
    }

    @Override
    public boolean equals(Object o) {
      if (o == this) {
        return true;
      }
      if (o instanceof Data) {
        Data that = (Data) o;
        return this.deleteOrders.equals(that.deleteOrders);
      }
      return false;
    }

    @Override
    public int hashCode() {
      if (!$hashCodeMemoized) {
        int h = 1;
        h *= 1000003;
        h ^= deleteOrders.hashCode();
        $hashCode = h;
        $hashCodeMemoized = true;
      }
      return $hashCode;
    }

    public Builder toBuilder() {
      Builder builder = new Builder();
      builder.deleteOrders = deleteOrders.isPresent() ? deleteOrders.get() : null;
      return builder;
    }

    public static Builder builder() {
      return new Builder();
    }

    public static final class Mapper implements ResponseFieldMapper {
      final DeleteOrders.Mapper deleteOrdersFieldMapper = new DeleteOrders.Mapper();

      @Override
      public Data map(ResponseReader reader) {
        final DeleteOrders deleteOrders = reader.readObject($responseFields[0], new ResponseReader.ObjectReader() {
          @Override
          public DeleteOrders read(ResponseReader reader) {
            return deleteOrdersFieldMapper.map(reader);
          }
        });
        return new Data(deleteOrders);
      }
    }

    public static final class Builder {
      private @Nullable DeleteOrders deleteOrders;

      Builder() {
      }

      public Builder deleteOrders(@Nullable DeleteOrders deleteOrders) {
        this.deleteOrders = deleteOrders;
        return this;
      }

      public Builder deleteOrders(@NotNull Mutator mutator) {
        Utils.checkNotNull(mutator, "mutator == null");
        DeleteOrders.Builder builder = this.deleteOrders != null ? this.deleteOrders.toBuilder() : DeleteOrders.builder();
        mutator.accept(builder);
        this.deleteOrders = builder.build();
        return this;
      }

      public Data build() {
        return new Data(deleteOrders);
      }
    }
  }

  /**
   * The type used to represent results of a mutation for the table 'Orders'.
   */
  public static class DeleteOrders {
    static final ResponseField[] $responseFields = {
      ResponseField.forString("__typename", "__typename", null, false, Collections.emptyList()),
      ResponseField.forBoolean("applied", "applied", null, true, Collections.emptyList()),
      ResponseField.forObject("value", "value", null, true, Collections.emptyList())
    };

    final @NotNull String __typename;

    final Optional applied;

    final Optional value;

    private transient volatile String $toString;

    private transient volatile int $hashCode;

    private transient volatile boolean $hashCodeMemoized;

    public DeleteOrders(@NotNull String __typename, @Nullable Boolean applied,
        @Nullable Value value) {
      this.__typename = Utils.checkNotNull(__typename, "__typename == null");
      this.applied = Optional.ofNullable(applied);
      this.value = Optional.ofNullable(value);
    }

    public @NotNull String get__typename() {
      return this.__typename;
    }

    public Optional getApplied() {
      return this.applied;
    }

    public Optional getValue() {
      return this.value;
    }

    @SuppressWarnings({"rawtypes", "unchecked"})
    public ResponseFieldMarshaller marshaller() {
      return new ResponseFieldMarshaller() {
        @Override
        public void marshal(ResponseWriter writer) {
          writer.writeString($responseFields[0], __typename);
          writer.writeBoolean($responseFields[1], applied.isPresent() ? applied.get() : null);
          writer.writeObject($responseFields[2], value.isPresent() ? value.get().marshaller() : null);
        }
      };
    }

    @Override
    public String toString() {
      if ($toString == null) {
        $toString = "DeleteOrders{"
          + "__typename=" + __typename + ", "
          + "applied=" + applied + ", "
          + "value=" + value
          + "}";
      }
      return $toString;
    }

    @Override
    public boolean equals(Object o) {
      if (o == this) {
        return true;
      }
      if (o instanceof DeleteOrders) {
        DeleteOrders that = (DeleteOrders) o;
        return this.__typename.equals(that.__typename)
         && this.applied.equals(that.applied)
         && this.value.equals(that.value);
      }
      return false;
    }

    @Override
    public int hashCode() {
      if (!$hashCodeMemoized) {
        int h = 1;
        h *= 1000003;
        h ^= __typename.hashCode();
        h *= 1000003;
        h ^= applied.hashCode();
        h *= 1000003;
        h ^= value.hashCode();
        $hashCode = h;
        $hashCodeMemoized = true;
      }
      return $hashCode;
    }

    public Builder toBuilder() {
      Builder builder = new Builder();
      builder.__typename = __typename;
      builder.applied = applied.isPresent() ? applied.get() : null;
      builder.value = value.isPresent() ? value.get() : null;
      return builder;
    }

    public static Builder builder() {
      return new Builder();
    }

    public static final class Mapper implements ResponseFieldMapper {
      final Value.Mapper valueFieldMapper = new Value.Mapper();

      @Override
      public DeleteOrders map(ResponseReader reader) {
        final String __typename = reader.readString($responseFields[0]);
        final Boolean applied = reader.readBoolean($responseFields[1]);
        final Value value = reader.readObject($responseFields[2], new ResponseReader.ObjectReader() {
          @Override
          public Value read(ResponseReader reader) {
            return valueFieldMapper.map(reader);
          }
        });
        return new DeleteOrders(__typename, applied, value);
      }
    }

    public static final class Builder {
      private @NotNull String __typename;

      private @Nullable Boolean applied;

      private @Nullable Value value;

      Builder() {
      }

      public Builder __typename(@NotNull String __typename) {
        this.__typename = __typename;
        return this;
      }

      public Builder applied(@Nullable Boolean applied) {
        this.applied = applied;
        return this;
      }

      public Builder value(@Nullable Value value) {
        this.value = value;
        return this;
      }

      public Builder value(@NotNull Mutator mutator) {
        Utils.checkNotNull(mutator, "mutator == null");
        Value.Builder builder = this.value != null ? this.value.toBuilder() : Value.builder();
        mutator.accept(builder);
        this.value = builder.build();
        return this;
      }

      public DeleteOrders build() {
        Utils.checkNotNull(__typename, "__typename == null");
        return new DeleteOrders(__typename, applied, value);
      }
    }
  }

  /**
   * The type used to represent results of a query for the table 'Orders'.
   */
  public static class Value {
    static final ResponseField[] $responseFields = {
      ResponseField.forString("__typename", "__typename", null, false, Collections.emptyList()),
      ResponseField.forCustomType("id", "id", null, true, CustomType.UUID, Collections.emptyList()),
      ResponseField.forCustomType("prodId", "prodId", null, true, CustomType.UUID, Collections.emptyList()),
      ResponseField.forString("prodName", "prodName", null, true, Collections.emptyList()),
      ResponseField.forString("customerName", "customerName", null, true, Collections.emptyList()),
      ResponseField.forString("address", "address", null, true, Collections.emptyList()),
      ResponseField.forString("description", "description", null, true, Collections.emptyList()),
      ResponseField.forCustomType("price", "price", null, true, CustomType.DECIMAL, Collections.emptyList()),
      ResponseField.forCustomType("sellPrice", "sellPrice", null, true, CustomType.DECIMAL, Collections.emptyList())
    };

    final @NotNull String __typename;

    final Optional id;

    final Optional prodId;

    final Optional prodName;

    final Optional customerName;

    final Optional address;

    final Optional description;

    final Optional price;

    final Optional sellPrice;

    private transient volatile String $toString;

    private transient volatile int $hashCode;

    private transient volatile boolean $hashCodeMemoized;

    public Value(@NotNull String __typename, @Nullable Object id, @Nullable Object prodId,
        @Nullable String prodName, @Nullable String customerName, @Nullable String address,
        @Nullable String description, @Nullable Object price, @Nullable Object sellPrice) {
      this.__typename = Utils.checkNotNull(__typename, "__typename == null");
      this.id = Optional.ofNullable(id);
      this.prodId = Optional.ofNullable(prodId);
      this.prodName = Optional.ofNullable(prodName);
      this.customerName = Optional.ofNullable(customerName);
      this.address = Optional.ofNullable(address);
      this.description = Optional.ofNullable(description);
      this.price = Optional.ofNullable(price);
      this.sellPrice = Optional.ofNullable(sellPrice);
    }

    public @NotNull String get__typename() {
      return this.__typename;
    }

    public Optional getId() {
      return this.id;
    }

    public Optional getProdId() {
      return this.prodId;
    }

    public Optional getProdName() {
      return this.prodName;
    }

    public Optional getCustomerName() {
      return this.customerName;
    }

    public Optional getAddress() {
      return this.address;
    }

    public Optional getDescription() {
      return this.description;
    }

    public Optional getPrice() {
      return this.price;
    }

    public Optional getSellPrice() {
      return this.sellPrice;
    }

    @SuppressWarnings({"rawtypes", "unchecked"})
    public ResponseFieldMarshaller marshaller() {
      return new ResponseFieldMarshaller() {
        @Override
        public void marshal(ResponseWriter writer) {
          writer.writeString($responseFields[0], __typename);
          writer.writeCustom((ResponseField.CustomTypeField) $responseFields[1], id.isPresent() ? id.get() : null);
          writer.writeCustom((ResponseField.CustomTypeField) $responseFields[2], prodId.isPresent() ? prodId.get() : null);
          writer.writeString($responseFields[3], prodName.isPresent() ? prodName.get() : null);
          writer.writeString($responseFields[4], customerName.isPresent() ? customerName.get() : null);
          writer.writeString($responseFields[5], address.isPresent() ? address.get() : null);
          writer.writeString($responseFields[6], description.isPresent() ? description.get() : null);
          writer.writeCustom((ResponseField.CustomTypeField) $responseFields[7], price.isPresent() ? price.get() : null);
          writer.writeCustom((ResponseField.CustomTypeField) $responseFields[8], sellPrice.isPresent() ? sellPrice.get() : null);
        }
      };
    }

    @Override
    public String toString() {
      if ($toString == null) {
        $toString = "Value{"
          + "__typename=" + __typename + ", "
          + "id=" + id + ", "
          + "prodId=" + prodId + ", "
          + "prodName=" + prodName + ", "
          + "customerName=" + customerName + ", "
          + "address=" + address + ", "
          + "description=" + description + ", "
          + "price=" + price + ", "
          + "sellPrice=" + sellPrice
          + "}";
      }
      return $toString;
    }

    @Override
    public boolean equals(Object o) {
      if (o == this) {
        return true;
      }
      if (o instanceof Value) {
        Value that = (Value) o;
        return this.__typename.equals(that.__typename)
         && this.id.equals(that.id)
         && this.prodId.equals(that.prodId)
         && this.prodName.equals(that.prodName)
         && this.customerName.equals(that.customerName)
         && this.address.equals(that.address)
         && this.description.equals(that.description)
         && this.price.equals(that.price)
         && this.sellPrice.equals(that.sellPrice);
      }
      return false;
    }

    @Override
    public int hashCode() {
      if (!$hashCodeMemoized) {
        int h = 1;
        h *= 1000003;
        h ^= __typename.hashCode();
        h *= 1000003;
        h ^= id.hashCode();
        h *= 1000003;
        h ^= prodId.hashCode();
        h *= 1000003;
        h ^= prodName.hashCode();
        h *= 1000003;
        h ^= customerName.hashCode();
        h *= 1000003;
        h ^= address.hashCode();
        h *= 1000003;
        h ^= description.hashCode();
        h *= 1000003;
        h ^= price.hashCode();
        h *= 1000003;
        h ^= sellPrice.hashCode();
        $hashCode = h;
        $hashCodeMemoized = true;
      }
      return $hashCode;
    }

    public Builder toBuilder() {
      Builder builder = new Builder();
      builder.__typename = __typename;
      builder.id = id.isPresent() ? id.get() : null;
      builder.prodId = prodId.isPresent() ? prodId.get() : null;
      builder.prodName = prodName.isPresent() ? prodName.get() : null;
      builder.customerName = customerName.isPresent() ? customerName.get() : null;
      builder.address = address.isPresent() ? address.get() : null;
      builder.description = description.isPresent() ? description.get() : null;
      builder.price = price.isPresent() ? price.get() : null;
      builder.sellPrice = sellPrice.isPresent() ? sellPrice.get() : null;
      return builder;
    }

    public static Builder builder() {
      return new Builder();
    }

    public static final class Mapper implements ResponseFieldMapper {
      @Override
      public Value map(ResponseReader reader) {
        final String __typename = reader.readString($responseFields[0]);
        final Object id = reader.readCustomType((ResponseField.CustomTypeField) $responseFields[1]);
        final Object prodId = reader.readCustomType((ResponseField.CustomTypeField) $responseFields[2]);
        final String prodName = reader.readString($responseFields[3]);
        final String customerName = reader.readString($responseFields[4]);
        final String address = reader.readString($responseFields[5]);
        final String description = reader.readString($responseFields[6]);
        final Object price = reader.readCustomType((ResponseField.CustomTypeField) $responseFields[7]);
        final Object sellPrice = reader.readCustomType((ResponseField.CustomTypeField) $responseFields[8]);
        return new Value(__typename, id, prodId, prodName, customerName, address, description, price, sellPrice);
      }
    }

    public static final class Builder {
      private @NotNull String __typename;

      private @Nullable Object id;

      private @Nullable Object prodId;

      private @Nullable String prodName;

      private @Nullable String customerName;

      private @Nullable String address;

      private @Nullable String description;

      private @Nullable Object price;

      private @Nullable Object sellPrice;

      Builder() {
      }

      public Builder __typename(@NotNull String __typename) {
        this.__typename = __typename;
        return this;
      }

      public Builder id(@Nullable Object id) {
        this.id = id;
        return this;
      }

      public Builder prodId(@Nullable Object prodId) {
        this.prodId = prodId;
        return this;
      }

      public Builder prodName(@Nullable String prodName) {
        this.prodName = prodName;
        return this;
      }

      public Builder customerName(@Nullable String customerName) {
        this.customerName = customerName;
        return this;
      }

      public Builder address(@Nullable String address) {
        this.address = address;
        return this;
      }

      public Builder description(@Nullable String description) {
        this.description = description;
        return this;
      }

      public Builder price(@Nullable Object price) {
        this.price = price;
        return this;
      }

      public Builder sellPrice(@Nullable Object sellPrice) {
        this.sellPrice = sellPrice;
        return this;
      }

      public Value build() {
        Utils.checkNotNull(__typename, "__typename == null");
        return new Value(__typename, id, prodId, prodName, customerName, address, description, price, sellPrice);
      }
    }
  }
}