  /** Generated by the default template from graphql-java-generator */
package com.graphql_java_generator.domain.client.forum;

import java.util.HashMap;
import java.util.Map;


import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import com.graphql_java_generator.annotation.GraphQLNonScalar;
import com.graphql_java_generator.annotation.GraphQLObjectType;
import com.graphql_java_generator.annotation.GraphQLQuery;
import com.graphql_java_generator.annotation.GraphQLScalar;
import com.graphql_java_generator.exception.GraphQLRequestExecutionException;
import com.graphql_java_generator.exception.GraphQLRequestPreparationException;
import com.graphql_java_generator.client.GraphQLObjectMapper;
import com.graphql_java_generator.client.request.InputParameter;
import com.graphql_java_generator.client.request.ObjectResponse;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.graphql_java_generator.annotation.GraphQLInputParameters;
import com.graphql_java_generator.annotation.RequestType;
import java.util.List;

import com.graphql_java_generator.client.GraphqlClientUtils;

/**
 * This class contains the response for a full request. See the 
 * <A HREF="https://graphql-maven-plugin-project.graphql-java-generator.com/exec_graphql_requests.html">plugin web site</A> 
 * for more information on full and partial requests.<BR/>
 * It also allows access to the _extensions_ part of the response. Take a look at the 
 * <A HRE="https://spec.graphql.org/June2018/#sec-Response">GraphQL spec</A> for more information on this.
 * 
 * @author generated by graphql-java-generator
 * @see <a href="https://github.com/graphql-java-generator/graphql-java-generator">https://github.com/graphql-java-generator/graphql-java-generator</a>
 */
@GraphQLQuery(name = "Mutation", type = RequestType.mutation)
@GraphQLObjectType("Mutation")
@SuppressWarnings("unused")
public class Mutation extends MutationExecutorMySchema implements com.graphql_java_generator.client.GraphQLRequestObject {

	private GraphQLObjectMapper extensionMapper = null;
	private JsonNode extensions;
	private Map<String, JsonNode> extensionsAsMap = null;



	/**
	 * This map contains the deserialized values for the alias, as parsed from the json response from the GraphQL
	 * server. The key is the alias name, the value is the deserialiazed value (taking into account custom scalars,
	 * lists, ...)
	 */
	@com.graphql_java_generator.annotation.GraphQLIgnore
	Map<String, Object> aliasValues = new HashMap<>();

	public Mutation(){
		// No action
	}

	@JsonProperty("createBoard")
	@GraphQLInputParameters(names = {"name", "publiclyAvailable"}, types = {"String", "Boolean"}, mandatories = {true, false}, listDepths = {0, 0}, itemsMandatory = {false, false})
	@GraphQLNonScalar(fieldName = "createBoard", graphQLTypeSimpleName = "Board", javaClass = Board.class)
	Board createBoard;


	@JsonProperty("createTopic")
	@GraphQLInputParameters(names = {"topic"}, types = {"TopicInput"}, mandatories = {false}, listDepths = {0}, itemsMandatory = {false})
	@GraphQLNonScalar(fieldName = "createTopic", graphQLTypeSimpleName = "Topic", javaClass = Topic.class)
	Topic createTopic;


	@JsonProperty("createPost")
	@GraphQLInputParameters(names = {"post"}, types = {"PostInput"}, mandatories = {true}, listDepths = {0}, itemsMandatory = {false})
	@GraphQLNonScalar(fieldName = "createPost", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	Post createPost;


	@JsonProperty("createPosts")
	@JsonDeserialize(using = CustomJacksonDeserializers.ListPost.class)
	@GraphQLInputParameters(names = {"spam"}, types = {"PostInput"}, mandatories = {true}, listDepths = {1}, itemsMandatory = {true})
	@GraphQLNonScalar(fieldName = "createPosts", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	List<Post> createPosts;


	@JsonProperty("createMember")
	@GraphQLInputParameters(names = {"input"}, types = {"MemberInput"}, mandatories = {true}, listDepths = {0}, itemsMandatory = {false})
	@GraphQLNonScalar(fieldName = "createMember", graphQLTypeSimpleName = "Member", javaClass = Member.class)
	Member createMember;


	@JsonProperty("__typename")
	@GraphQLScalar(fieldName = "__typename", graphQLTypeSimpleName = "String", javaClass = java.lang.String.class)
	java.lang.String __typename;



	public void setCreateBoard(Board createBoard) {
		this.createBoard = createBoard;
	}

	public Board getCreateBoard() {
		return createBoard;
	}
		

	public void setCreateTopic(Topic createTopic) {
		this.createTopic = createTopic;
	}

	public Topic getCreateTopic() {
		return createTopic;
	}
		

	public void setCreatePost(Post createPost) {
		this.createPost = createPost;
	}

	public Post getCreatePost() {
		return createPost;
	}
		

	public void setCreatePosts(List<Post> createPosts) {
		this.createPosts = createPosts;
	}

	public List<Post> getCreatePosts() {
		return createPosts;
	}
		

	public void setCreateMember(Member createMember) {
		this.createMember = createMember;
	}

	public Member getCreateMember() {
		return createMember;
	}
		

	public void set__typename(java.lang.String __typename) {
		this.__typename = __typename;
	}

	public java.lang.String get__typename() {
		return __typename;
	}
		

 
	/**
	 * This method is called during the json deserialization process, by the {@link GraphQLObjectMapper}, each time an
	 * alias value is read from the json.
	 * 
	 * @param aliasName
	 * @param aliasDeserializedValue
	 */
	public void setAliasValue(String aliasName, Object aliasDeserializedValue) {
		aliasValues.put(aliasName, aliasDeserializedValue);
	}

	/**
	 * Retrieves the value for the given alias, as it has been received for this object in the GraphQL response. <BR/>
	 * This method <B>should not be used for Custom Scalars</B>, as the parser doesn't know if this alias is a custom
	 * scalar, and which custom scalar to use at deserialization time. In most case, a value will then be provided by
	 * this method with a basis json deserialization, but this value won't be the proper custom scalar value.
	 * 
	 * @param alias
	 * @return
	 */
	public Object getAliasValue(String alias) {
		return aliasValues.get(alias);
	}

    public String toString() {
        return "Mutation {"
				+ "createBoard: " + createBoard
				+ ", "
				+ "createTopic: " + createTopic
				+ ", "
				+ "createPost: " + createPost
				+ ", "
				+ "createPosts: " + createPosts
				+ ", "
				+ "createMember: " + createMember
				+ ", "
				+ "__typename: " + __typename
        		+ "}";
    }

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

	/**
	 * The Builder that helps building instance of this POJO. You can get an instance of this class, by calling the
	 * {@link #builder()}
	 */
	public static class Builder {
		private Board createBoard;
		private Topic createTopic;
		private Post createPost;
		private List<Post> createPosts;
		private Member createMember;

		public Builder withCreateBoard(Board createBoard) {
			this.createBoard = createBoard;
			return this;
		}
		public Builder withCreateTopic(Topic createTopic) {
			this.createTopic = createTopic;
			return this;
		}
		public Builder withCreatePost(Post createPost) {
			this.createPost = createPost;
			return this;
		}
		public Builder withCreatePosts(List<Post> createPosts) {
			this.createPosts = createPosts;
			return this;
		}
		public Builder withCreateMember(Member createMember) {
			this.createMember = createMember;
			return this;
		}

		public Mutation build() {
			Mutation _object = new Mutation();
			_object.setCreateBoard(createBoard);
			_object.setCreateTopic(createTopic);
			_object.setCreatePost(createPost);
			_object.setCreatePosts(createPosts);
			_object.setCreateMember(createMember);
			_object.set__typename("Mutation");
			return _object;
		}
	}

	private GraphQLObjectMapper getExtensionMapper() {
		if (extensionMapper == null) {
			extensionMapper = new GraphQLObjectMapper("org.graphql.mavenplugin.junittest.forum_client_springconfiguration", null);
		}
		return extensionMapper;
	}
	
	public JsonNode getExtensions() {
		return extensions;
	}
	
	public void setExtensions(JsonNode extensions) {
		this.extensions = extensions;
	}
	
	/**
	 * Returns the extensions as a map. The values can't be deserialized, as their type is unknown.
	 * 
	 * @return
	 */
	public Map<String, JsonNode> getExtensionsAsMap() {
		if (extensionsAsMap == null) {
			extensionsAsMap = getExtensionMapper().convertValue(extensions, new TypeReference<Map<String, JsonNode>>() {
			});
		}
		return extensionsAsMap;
	}
	
	/**
	 * Parse the value for the given _key_, as found in the <I>extensions</I> field of the GraphQL server's response,
	 * into the given _t_ class.
	 * 
	 * @param <T>
	 * @param key
	 * @param t
	 * @return null if the key is not in the <I>extensions</I> map. Otherwise: the value for this _key_, as a _t_
	 *         instance
	 * @throws JsonProcessingException
	 *             When there is an error when converting the key's value into the _t_ class
	 */
	public <T> T getExtensionsField(String key, Class<T> t) throws JsonProcessingException {
		JsonNode node = getExtensionsAsMap().get(key);
		return (node == null) ? null : getExtensionMapper().treeToValue(node, t);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public MutationResponse execWithBindValues(String queryResponseDef, Map<String, Object> parameters)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.exec(queryResponseDef, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public MutationResponse exec(String queryResponseDef, Object... paramsAndValues)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.exec(queryResponseDef, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public MutationResponse execWithBindValues(ObjectResponse objectResponse, Map<String, Object> parameters)
			throws GraphQLRequestExecutionException {
		return super.execWithBindValues(objectResponse, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public MutationResponse exec(ObjectResponse objectResponse, Object... paramsAndValues)
			throws GraphQLRequestExecutionException {
		return super.exec(objectResponse, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public com.graphql_java_generator.client.request.Builder getResponseBuilder() throws GraphQLRequestPreparationException {
		return super.getResponseBuilder();
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public GraphQLRequest getGraphQLRequest(String fullRequest) throws GraphQLRequestPreparationException {
		return super.getGraphQLRequest(fullRequest);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createBoard", graphQLTypeSimpleName = "Board", javaClass = Board.class)
	public Board createBoardWithBindValues(
			String queryResponseDef,
			java.lang.String name,
			java.lang.Boolean publiclyAvailable,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createBoardWithBindValues(queryResponseDef, name, publiclyAvailable, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createBoard", graphQLTypeSimpleName = "Board", javaClass = Board.class)
	public Board createBoard(
			String queryResponseDef,
			java.lang.String name,
			java.lang.Boolean publiclyAvailable,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createBoard(queryResponseDef, name, publiclyAvailable, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createBoard", graphQLTypeSimpleName = "Board", javaClass = Board.class)
	public Board createBoardWithBindValues(
			ObjectResponse objectResponse,
			java.lang.String name,
			java.lang.Boolean publiclyAvailable,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException  {
		return super.createBoardWithBindValues(objectResponse, name, publiclyAvailable, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createBoard", graphQLTypeSimpleName = "Board", javaClass = Board.class)
	public Board createBoard(
			ObjectResponse objectResponse,
			java.lang.String name,
			java.lang.Boolean publiclyAvailable,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException  {
		return super.createBoard(objectResponse, name, publiclyAvailable, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public com.graphql_java_generator.client.request.Builder getCreateBoardResponseBuilder() throws GraphQLRequestPreparationException {
		return super.getCreateBoardResponseBuilder();
	}


	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public GraphQLRequest getCreateBoardGraphQLRequest(String partialRequest) throws GraphQLRequestPreparationException {
		return super.getCreateBoardGraphQLRequest(partialRequest);
	}
	
	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createTopic", graphQLTypeSimpleName = "Topic", javaClass = Topic.class)
	public Topic createTopicWithBindValues(
			String queryResponseDef,
			TopicInput topic,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createTopicWithBindValues(queryResponseDef, topic, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createTopic", graphQLTypeSimpleName = "Topic", javaClass = Topic.class)
	public Topic createTopic(
			String queryResponseDef,
			TopicInput topic,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createTopic(queryResponseDef, topic, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createTopic", graphQLTypeSimpleName = "Topic", javaClass = Topic.class)
	public Topic createTopicWithBindValues(
			ObjectResponse objectResponse,
			TopicInput topic,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException  {
		return super.createTopicWithBindValues(objectResponse, topic, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createTopic", graphQLTypeSimpleName = "Topic", javaClass = Topic.class)
	public Topic createTopic(
			ObjectResponse objectResponse,
			TopicInput topic,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException  {
		return super.createTopic(objectResponse, topic, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public com.graphql_java_generator.client.request.Builder getCreateTopicResponseBuilder() throws GraphQLRequestPreparationException {
		return super.getCreateTopicResponseBuilder();
	}


	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public GraphQLRequest getCreateTopicGraphQLRequest(String partialRequest) throws GraphQLRequestPreparationException {
		return super.getCreateTopicGraphQLRequest(partialRequest);
	}
	
	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPost", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public Post createPostWithBindValues(
			String queryResponseDef,
			PostInput post,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createPostWithBindValues(queryResponseDef, post, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPost", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public Post createPost(
			String queryResponseDef,
			PostInput post,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createPost(queryResponseDef, post, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPost", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public Post createPostWithBindValues(
			ObjectResponse objectResponse,
			PostInput post,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException  {
		return super.createPostWithBindValues(objectResponse, post, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPost", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public Post createPost(
			ObjectResponse objectResponse,
			PostInput post,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException  {
		return super.createPost(objectResponse, post, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public com.graphql_java_generator.client.request.Builder getCreatePostResponseBuilder() throws GraphQLRequestPreparationException {
		return super.getCreatePostResponseBuilder();
	}


	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public GraphQLRequest getCreatePostGraphQLRequest(String partialRequest) throws GraphQLRequestPreparationException {
		return super.getCreatePostGraphQLRequest(partialRequest);
	}
	
	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPosts", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public List<Post> createPostsWithBindValues(
			String queryResponseDef,
			List<PostInput> spam,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createPostsWithBindValues(queryResponseDef, spam, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPosts", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public List<Post> createPosts(
			String queryResponseDef,
			List<PostInput> spam,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createPosts(queryResponseDef, spam, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPosts", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public List<Post> createPostsWithBindValues(
			ObjectResponse objectResponse,
			List<PostInput> spam,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException  {
		return super.createPostsWithBindValues(objectResponse, spam, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createPosts", graphQLTypeSimpleName = "Post", javaClass = Post.class)
	public List<Post> createPosts(
			ObjectResponse objectResponse,
			List<PostInput> spam,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException  {
		return super.createPosts(objectResponse, spam, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public com.graphql_java_generator.client.request.Builder getCreatePostsResponseBuilder() throws GraphQLRequestPreparationException {
		return super.getCreatePostsResponseBuilder();
	}


	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public GraphQLRequest getCreatePostsGraphQLRequest(String partialRequest) throws GraphQLRequestPreparationException {
		return super.getCreatePostsGraphQLRequest(partialRequest);
	}
	
	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createMember", graphQLTypeSimpleName = "Member", javaClass = Member.class)
	public Member createMemberWithBindValues(
			String queryResponseDef,
			MemberInput input,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createMemberWithBindValues(queryResponseDef, input, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createMember", graphQLTypeSimpleName = "Member", javaClass = Member.class)
	public Member createMember(
			String queryResponseDef,
			MemberInput input,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.createMember(queryResponseDef, input, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createMember", graphQLTypeSimpleName = "Member", javaClass = Member.class)
	public Member createMemberWithBindValues(
			ObjectResponse objectResponse,
			MemberInput input,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException  {
		return super.createMemberWithBindValues(objectResponse, input, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLNonScalar (fieldName = "createMember", graphQLTypeSimpleName = "Member", javaClass = Member.class)
	public Member createMember(
			ObjectResponse objectResponse,
			MemberInput input,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException  {
		return super.createMember(objectResponse, input, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public com.graphql_java_generator.client.request.Builder getCreateMemberResponseBuilder() throws GraphQLRequestPreparationException {
		return super.getCreateMemberResponseBuilder();
	}


	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public GraphQLRequest getCreateMemberGraphQLRequest(String partialRequest) throws GraphQLRequestPreparationException {
		return super.getCreateMemberGraphQLRequest(partialRequest);
	}
	
	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLScalar (fieldName = "__typename", graphQLTypeSimpleName = "String", javaClass = java.lang.String.class)
	public java.lang.String __typenameWithBindValues(
			String queryResponseDef,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.__typenameWithBindValues(queryResponseDef, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLScalar (fieldName = "__typename", graphQLTypeSimpleName = "String", javaClass = java.lang.String.class)
	public java.lang.String __typename(
			String queryResponseDef,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException, GraphQLRequestPreparationException {
		return super.__typename(queryResponseDef, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLScalar (fieldName = "__typename", graphQLTypeSimpleName = "String", javaClass = java.lang.String.class)
	public java.lang.String __typenameWithBindValues(
			ObjectResponse objectResponse,
			Map<String, Object> parameters)
			throws GraphQLRequestExecutionException  {
		return super.__typenameWithBindValues(objectResponse, parameters);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	@GraphQLScalar (fieldName = "__typename", graphQLTypeSimpleName = "String", javaClass = java.lang.String.class)
	public java.lang.String __typename(
			ObjectResponse objectResponse,
			Object... paramsAndValues)
			throws GraphQLRequestExecutionException  {
		return super.__typename(objectResponse, paramsAndValues);
	}

	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public com.graphql_java_generator.client.request.Builder get__typenameResponseBuilder() throws GraphQLRequestPreparationException {
		return super.get__typenameResponseBuilder();
	}


	/**
	 * This method is deprecated: please use {@link MutationExecutor} class instead of this class, to execute this method. 
	 * It is maintained to keep existing code compatible with the generated code. It will be removed in 2.0 version.
	 */
	@Deprecated
	public GraphQLRequest get__typenameGraphQLRequest(String partialRequest) throws GraphQLRequestPreparationException {
		return super.get__typenameGraphQLRequest(partialRequest);
	}
	
}
