package com.example.input_object_type; import com.apollographql.apollo.api.Field; import com.apollographql.apollo.api.Mutation; import com.apollographql.apollo.api.Operation; import com.apollographql.apollo.api.OperationName; import com.apollographql.apollo.api.ResponseFieldMapper; import com.apollographql.apollo.api.ResponseReader; import com.apollographql.apollo.api.internal.Optional; import com.apollographql.apollo.api.internal.UnmodifiableMapBuilder; import com.apollographql.apollo.api.internal.Utils; import com.example.input_object_type.type.Episode; import com.example.input_object_type.type.ReviewInput; import java.io.IOException; import java.lang.IllegalStateException; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import javax.annotation.Generated; import javax.annotation.Nonnull; import javax.annotation.Nullable; @Generated("Apollo GraphQL") public final class TestQuery implements Mutation<TestQuery.Data, Optional<TestQuery.Data>, TestQuery.Variables> { public static final String OPERATION_DEFINITION = "mutation TestQuery($ep: Episode!, $review: ReviewInput!) {\n" + " createReview(episode: $ep, review: $review) {\n" + " __typename\n" + " stars\n" + " commentary\n" + " }\n" + "}"; public static final String QUERY_DOCUMENT = OPERATION_DEFINITION; private static final OperationName OPERATION_NAME = new OperationName() { @Override public String name() { return "TestQuery"; } }; private final TestQuery.Variables variables; public TestQuery(@Nonnull Episode ep, @Nonnull ReviewInput review) { Utils.checkNotNull(ep, "ep == null"); Utils.checkNotNull(review, "review == null"); variables = new TestQuery.Variables(ep, review); } @Override public String queryDocument() { return QUERY_DOCUMENT; } @Override public Optional<TestQuery.Data> wrapData(TestQuery.Data data) { return Optional.fromNullable(data); } @Override public TestQuery.Variables variables() { return variables; } @Override public ResponseFieldMapper<TestQuery.Data> responseFieldMapper() { return new Data.Mapper(); } public static Builder builder() { return new Builder(); } @Override public OperationName name() { return OPERATION_NAME; } public static final class Variables extends Operation.Variables { private final @Nonnull Episode ep; private final @Nonnull ReviewInput review; private final transient Map<String, Object> valueMap = new LinkedHashMap<>(); Variables(@Nonnull Episode ep, @Nonnull ReviewInput review) { this.ep = ep; this.review = review; this.valueMap.put("ep", ep); this.valueMap.put("review", review); } public @Nonnull Episode ep() { return ep; } public @Nonnull ReviewInput review() { return review; } @Override public Map<String, Object> valueMap() { return Collections.unmodifiableMap(valueMap); } } public static final class Builder { private @Nonnull Episode ep; private @Nonnull ReviewInput review; Builder() { } public Builder ep(@Nonnull Episode ep) { this.ep = ep; return this; } public Builder review(@Nonnull ReviewInput review) { this.review = review; return this; } public TestQuery build() { if (ep == null) throw new IllegalStateException("ep can't be null"); if (review == null) throw new IllegalStateException("review can't be null"); return new TestQuery(ep, review); } } public static class Data implements Operation.Data { private final Optional<CreateReview> createReview; private volatile String $toString; private volatile int $hashCode; private volatile boolean $hashCodeMemoized; public Data(@Nullable CreateReview createReview) { this.createReview = Optional.fromNullable(createReview); } public Optional<CreateReview> createReview() { return this.createReview; } @Override public String toString() { if ($toString == null) { $toString = "Data{" + "createReview=" + createReview + "}"; } return $toString; } @Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof Data) { Data that = (Data) o; return this.createReview.equals(that.createReview); } return false; } @Override public int hashCode() { if (!$hashCodeMemoized) { int h = 1; h *= 1000003; h ^= createReview.hashCode(); $hashCode = h; $hashCodeMemoized = true; } return $hashCode; } public static final class Mapper implements ResponseFieldMapper<Data> { final CreateReview.Mapper createReviewFieldMapper = new CreateReview.Mapper(); final Field[] fields = { Field.forObject("createReview", "createReview", new UnmodifiableMapBuilder<String, Object>(2) .put("review", new UnmodifiableMapBuilder<String, Object>(2) .put("kind", "Variable") .put("variableName", "review") .build()) .put("episode", new UnmodifiableMapBuilder<String, Object>(2) .put("kind", "Variable") .put("variableName", "ep") .build()) .build(), true, new Field.ObjectReader<CreateReview>() { @Override public CreateReview read(final ResponseReader reader) throws IOException { return createReviewFieldMapper.map(reader); } }) }; @Override public Data map(ResponseReader reader) throws IOException { final CreateReview createReview = reader.read(fields[0]); return new Data(createReview); } } } public static class CreateReview { private final @Nonnull String __typename; private final int stars; private final Optional<String> commentary; private volatile String $toString; private volatile int $hashCode; private volatile boolean $hashCodeMemoized; public CreateReview(@Nonnull String __typename, int stars, @Nullable String commentary) { this.__typename = __typename; this.stars = stars; this.commentary = Optional.fromNullable(commentary); } public @Nonnull String __typename() { return this.__typename; } /** * The number of stars this review gave, 1-5 */ public int stars() { return this.stars; } /** * Comment about the movie */ public Optional<String> commentary() { return this.commentary; } @Override public String toString() { if ($toString == null) { $toString = "CreateReview{" + "__typename=" + __typename + ", " + "stars=" + stars + ", " + "commentary=" + commentary + "}"; } return $toString; } @Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof CreateReview) { CreateReview that = (CreateReview) o; return this.__typename.equals(that.__typename) && this.stars == that.stars && this.commentary.equals(that.commentary); } return false; } @Override public int hashCode() { if (!$hashCodeMemoized) { int h = 1; h *= 1000003; h ^= __typename.hashCode(); h *= 1000003; h ^= stars; h *= 1000003; h ^= commentary.hashCode(); $hashCode = h; $hashCodeMemoized = true; } return $hashCode; } public static final class Mapper implements ResponseFieldMapper<CreateReview> { final Field[] fields = { Field.forString("__typename", "__typename", null, false), Field.forInt("stars", "stars", null, false), Field.forString("commentary", "commentary", null, true) }; @Override public CreateReview map(ResponseReader reader) throws IOException { final String __typename = reader.read(fields[0]); final int stars = reader.read(fields[1]); final String commentary = reader.read(fields[2]); return new CreateReview(__typename, stars, commentary); } } } }