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

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


import com.graphql_java_generator.annotation.GraphQLNonScalar;
import com.graphql_java_generator.annotation.GraphQLObjectType;
import com.graphql_java_generator.annotation.GraphQLScalar;
import java.util.List;




/**
 *
 * @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>
 */
@GraphQLObjectType("MyQueryType")
@SuppressWarnings("unused")
public class MyQueryType 
{


	public MyQueryType(){
		// No action
	}

	
	@GraphQLNonScalar(fieldName = "withoutParameters", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	List<Character> withoutParameters;


	@GraphQLNonScalar(fieldName = "withOneOptionalParam", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	Character withOneOptionalParam;


	@GraphQLNonScalar(fieldName = "withOneMandatoryParam", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	Character withOneMandatoryParam;


	@GraphQLScalar(fieldName = "withOneMandatoryParamDefaultValue", graphQLTypeSimpleName = "Int", javaClass = java.lang.Integer.class)
	java.lang.Integer withOneMandatoryParamDefaultValue;


	@GraphQLNonScalar(fieldName = "withTwoMandatoryParamDefaultVal", graphQLTypeSimpleName = "Droid", javaClass = Droid.class)
	Droid withTwoMandatoryParamDefaultVal;


	@GraphQLNonScalar(fieldName = "withEnum", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	Character withEnum;


	@GraphQLNonScalar(fieldName = "withListOfList", graphQLTypeSimpleName = "AllFieldCases", javaClass = AllFieldCases.class)
	AllFieldCases withListOfList;


	/**
	 * ###############################################################################
	 *  withList return a list of Characters, matching the given list of CharacterInput.
	 *  The name of the first Character returned is replaced by the given firstName.
	 *  All ids are generated  
	 */
	
	@GraphQLNonScalar(fieldName = "withList", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	List<Character> withList;


	/**
	 * ###############################################################################
	 *  Complementary tests with the AllFieldCases Object
	 */
	@GraphQLNonScalar(fieldName = "allFieldCases", graphQLTypeSimpleName = "AllFieldCases", javaClass = AllFieldCases.class)
	AllFieldCases allFieldCases;


	/**
	 * ###############################################################################
	 *  Test for unions
	 */
	
	@GraphQLNonScalar(fieldName = "unionTest", graphQLTypeSimpleName = "AnyCharacter", javaClass = AnyCharacter.class)
	List<AnyCharacter> unionTest;


	/**
	 * ###############################################################################
	 *  error always returns an error!  (used to check the error management)
	 */
	@GraphQLNonScalar(fieldName = "error", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	Character error;


	/**
	 *  Check for GraphQL identifier that are java keywords
	 */
	@GraphQLNonScalar(fieldName = "aBreak", graphQLTypeSimpleName = "break", javaClass = _break.class)
	_break aBreak;


	/**
	 * ###############################################################################
	 *  queries to check directive behavior
	 *  Returns the value, and potentially the anotherValue of the @testDirective directive set on the directiveOnQuery query. 
	 *  List is null if the directive is not present.
	 */
	
	@GraphQLScalar(fieldName = "directiveOnQuery", graphQLTypeSimpleName = "String", javaClass = java.lang.String.class)
	List<java.lang.String> directiveOnQuery;


	/**
	 *  Returns the value, and potentially the anotherValue of the @testDirective directive set on the @directiveOnQuery. 
	 *  List is null if the directive is not present.
	 */
	@GraphQLNonScalar(fieldName = "directiveOnField", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	Character directiveOnField;


	/**
	 * ###############################################################################
	 *  queries to check the addRelayConnections capability
	 */
	
	@GraphQLNonScalar(fieldName = "connectionWithoutParameters", graphQLTypeSimpleName = "Character", javaClass = Character.class)
	List<Character> connectionWithoutParameters;


	
	@GraphQLNonScalar(fieldName = "connectionOnHuman", graphQLTypeSimpleName = "Human", javaClass = Human.class)
	List<Human> connectionOnHuman;


	/**
	 * ###############################################################################
	 *  queries created to test some issues
	 * issue53 is about custom scalars as parameter for a query/mutation/subscription, that was not properly serialized/deserialized
	 */
	@GraphQLScalar(fieldName = "issue53", graphQLTypeSimpleName = "Date", javaClass = java.util.Date.class)
	java.util.Date issue53;


	/**
	 * issue82 is about hard coded values as parameters. Other types are tests with other queries, but there was no method with a simple float parameter
	 */
	@GraphQLScalar(fieldName = "issue82Float", graphQLTypeSimpleName = "Float", javaClass = java.lang.Double.class)
	java.lang.Double issue82Float;


	
	
	@GraphQLScalar(fieldName = "issue82ID", graphQLTypeSimpleName = "ID", javaClass = java.util.UUID.class)
	java.util.UUID issue82ID;


	/**
	 *  test for issue #128 (compilation error when a Query returns a type 'Client')
	 */
	@GraphQLNonScalar(fieldName = "issue128", graphQLTypeSimpleName = "Client", javaClass = Client.class)
	Client issue128;


	/**
	 *  test for issue #139 (use of java reserved keyword)
	 */
	@GraphQLScalar(fieldName = "enumWithReservedJavaKeywordAsValues", graphQLTypeSimpleName = "EnumWithReservedJavaKeywordAsValues", javaClass = EnumWithReservedJavaKeywordAsValues.class)
	EnumWithReservedJavaKeywordAsValues enumWithReservedJavaKeywordAsValues;


	
	@GraphQLScalar(fieldName = "listOfEnumWithReservedJavaKeywordAsValues", graphQLTypeSimpleName = "EnumWithReservedJavaKeywordAsValues", javaClass = EnumWithReservedJavaKeywordAsValues.class)
	List<EnumWithReservedJavaKeywordAsValues> listOfEnumWithReservedJavaKeywordAsValues;


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


	/**
	 *  test for issue #140 (error for type that implements multiple interfaces)
	 */
	@GraphQLNonScalar(fieldName = "foo140", graphQLTypeSimpleName = "Foo140", javaClass = Foo140.class)
	Foo140 foo140;


	/**
	 * ###############################################################################
	 *  A particular test, based on the github schema: a query that returns the query object.
	 *  It introduces complexity in the code generation, that must be tested    
	 */
	@GraphQLNonScalar(fieldName = "relay", graphQLTypeSimpleName = "MyQueryType", javaClass = MyQueryType.class)
	MyQueryType relay;



	public void setWithoutParameters(List<Character> withoutParameters) {
		this.withoutParameters = withoutParameters;
	}

	public List<Character> getWithoutParameters() {
		return withoutParameters;
	}
		

	public void setWithOneOptionalParam(Character withOneOptionalParam) {
		this.withOneOptionalParam = withOneOptionalParam;
	}

	public Character getWithOneOptionalParam() {
		return withOneOptionalParam;
	}
		

	public void setWithOneMandatoryParam(Character withOneMandatoryParam) {
		this.withOneMandatoryParam = withOneMandatoryParam;
	}

	public Character getWithOneMandatoryParam() {
		return withOneMandatoryParam;
	}
		

	public void setWithOneMandatoryParamDefaultValue(java.lang.Integer withOneMandatoryParamDefaultValue) {
		this.withOneMandatoryParamDefaultValue = withOneMandatoryParamDefaultValue;
	}

	public java.lang.Integer getWithOneMandatoryParamDefaultValue() {
		return withOneMandatoryParamDefaultValue;
	}
		

	public void setWithTwoMandatoryParamDefaultVal(Droid withTwoMandatoryParamDefaultVal) {
		this.withTwoMandatoryParamDefaultVal = withTwoMandatoryParamDefaultVal;
	}

	public Droid getWithTwoMandatoryParamDefaultVal() {
		return withTwoMandatoryParamDefaultVal;
	}
		

	public void setWithEnum(Character withEnum) {
		this.withEnum = withEnum;
	}

	public Character getWithEnum() {
		return withEnum;
	}
		

	public void setWithListOfList(AllFieldCases withListOfList) {
		this.withListOfList = withListOfList;
	}

	public AllFieldCases getWithListOfList() {
		return withListOfList;
	}
		

	/**
	 * ###############################################################################
	 *  withList return a list of Characters, matching the given list of CharacterInput.
	 *  The name of the first Character returned is replaced by the given firstName.
	 *  All ids are generated  
	 */
	public void setWithList(List<Character> withList) {
		this.withList = withList;
	}

	/**
	 * ###############################################################################
	 *  withList return a list of Characters, matching the given list of CharacterInput.
	 *  The name of the first Character returned is replaced by the given firstName.
	 *  All ids are generated  
	*/
	public List<Character> getWithList() {
		return withList;
	}
		

	/**
	 * ###############################################################################
	 *  Complementary tests with the AllFieldCases Object
	 */
	public void setAllFieldCases(AllFieldCases allFieldCases) {
		this.allFieldCases = allFieldCases;
	}

	/**
	 * ###############################################################################
	 *  Complementary tests with the AllFieldCases Object
	*/
	public AllFieldCases getAllFieldCases() {
		return allFieldCases;
	}
		

	/**
	 * ###############################################################################
	 *  Test for unions
	 */
	public void setUnionTest(List<AnyCharacter> unionTest) {
		this.unionTest = unionTest;
	}

	/**
	 * ###############################################################################
	 *  Test for unions
	*/
	public List<AnyCharacter> getUnionTest() {
		return unionTest;
	}
		

	/**
	 * ###############################################################################
	 *  error always returns an error!  (used to check the error management)
	 */
	public void setError(Character error) {
		this.error = error;
	}

	/**
	 * ###############################################################################
	 *  error always returns an error!  (used to check the error management)
	*/
	public Character getError() {
		return error;
	}
		

	/**
	 *  Check for GraphQL identifier that are java keywords
	 */
	public void setABreak(_break aBreak) {
		this.aBreak = aBreak;
	}

	/**
	 *  Check for GraphQL identifier that are java keywords
	*/
	public _break getABreak() {
		return aBreak;
	}
		

	/**
	 * ###############################################################################
	 *  queries to check directive behavior
	 *  Returns the value, and potentially the anotherValue of the @testDirective directive set on the directiveOnQuery query. 
	 *  List is null if the directive is not present.
	 */
	public void setDirectiveOnQuery(List<java.lang.String> directiveOnQuery) {
		this.directiveOnQuery = directiveOnQuery;
	}

	/**
	 * ###############################################################################
	 *  queries to check directive behavior
	 *  Returns the value, and potentially the anotherValue of the @testDirective directive set on the directiveOnQuery query. 
	 *  List is null if the directive is not present.
	*/
	public List<java.lang.String> getDirectiveOnQuery() {
		return directiveOnQuery;
	}
		

	/**
	 *  Returns the value, and potentially the anotherValue of the @testDirective directive set on the @directiveOnQuery. 
	 *  List is null if the directive is not present.
	 */
	public void setDirectiveOnField(Character directiveOnField) {
		this.directiveOnField = directiveOnField;
	}

	/**
	 *  Returns the value, and potentially the anotherValue of the @testDirective directive set on the @directiveOnQuery. 
	 *  List is null if the directive is not present.
	*/
	public Character getDirectiveOnField() {
		return directiveOnField;
	}
		

	/**
	 * ###############################################################################
	 *  queries to check the addRelayConnections capability
	 */
	public void setConnectionWithoutParameters(List<Character> connectionWithoutParameters) {
		this.connectionWithoutParameters = connectionWithoutParameters;
	}

	/**
	 * ###############################################################################
	 *  queries to check the addRelayConnections capability
	*/
	public List<Character> getConnectionWithoutParameters() {
		return connectionWithoutParameters;
	}
		

	public void setConnectionOnHuman(List<Human> connectionOnHuman) {
		this.connectionOnHuman = connectionOnHuman;
	}

	public List<Human> getConnectionOnHuman() {
		return connectionOnHuman;
	}
		

	/**
	 * ###############################################################################
	 *  queries created to test some issues
	 * issue53 is about custom scalars as parameter for a query/mutation/subscription, that was not properly serialized/deserialized
	 */
	public void setIssue53(java.util.Date issue53) {
		this.issue53 = issue53;
	}

	/**
	 * ###############################################################################
	 *  queries created to test some issues
	 * issue53 is about custom scalars as parameter for a query/mutation/subscription, that was not properly serialized/deserialized
	*/
	public java.util.Date getIssue53() {
		return issue53;
	}
		

	/**
	 * issue82 is about hard coded values as parameters. Other types are tests with other queries, but there was no method with a simple float parameter
	 */
	public void setIssue82Float(java.lang.Double issue82Float) {
		this.issue82Float = issue82Float;
	}

	/**
	 * issue82 is about hard coded values as parameters. Other types are tests with other queries, but there was no method with a simple float parameter
	*/
	public java.lang.Double getIssue82Float() {
		return issue82Float;
	}
		

	public void setIssue82ID(java.util.UUID issue82ID) {
		this.issue82ID = issue82ID;
	}

	public java.util.UUID getIssue82ID() {
		return issue82ID;
	}
		

	/**
	 *  test for issue #128 (compilation error when a Query returns a type 'Client')
	 */
	public void setIssue128(Client issue128) {
		this.issue128 = issue128;
	}

	/**
	 *  test for issue #128 (compilation error when a Query returns a type 'Client')
	*/
	public Client getIssue128() {
		return issue128;
	}
		

	/**
	 *  test for issue #139 (use of java reserved keyword)
	 */
	public void setEnumWithReservedJavaKeywordAsValues(EnumWithReservedJavaKeywordAsValues enumWithReservedJavaKeywordAsValues) {
		this.enumWithReservedJavaKeywordAsValues = enumWithReservedJavaKeywordAsValues;
	}

	/**
	 *  test for issue #139 (use of java reserved keyword)
	*/
	public EnumWithReservedJavaKeywordAsValues getEnumWithReservedJavaKeywordAsValues() {
		return enumWithReservedJavaKeywordAsValues;
	}
		

	public void setListOfEnumWithReservedJavaKeywordAsValues(List<EnumWithReservedJavaKeywordAsValues> listOfEnumWithReservedJavaKeywordAsValues) {
		this.listOfEnumWithReservedJavaKeywordAsValues = listOfEnumWithReservedJavaKeywordAsValues;
	}

	public List<EnumWithReservedJavaKeywordAsValues> getListOfEnumWithReservedJavaKeywordAsValues() {
		return listOfEnumWithReservedJavaKeywordAsValues;
	}
		

	public void setIf(java.lang.String _if) {
		this._if = _if;
	}

	public java.lang.String getIf() {
		return _if;
	}
		

	public void setImplements(java.lang.String _implements) {
		this._implements = _implements;
	}

	public java.lang.String getImplements() {
		return _implements;
	}
		

	public void setImport(java.lang.String _import) {
		this._import = _import;
	}

	public java.lang.String getImport() {
		return _import;
	}
		

	public void setInstanceof(java.lang.String _instanceof) {
		this._instanceof = _instanceof;
	}

	public java.lang.String getInstanceof() {
		return _instanceof;
	}
		

	public void setInt(java.lang.String _int) {
		this._int = _int;
	}

	public java.lang.String getInt() {
		return _int;
	}
		

	public void setInterface(java.lang.String _interface) {
		this._interface = _interface;
	}

	public java.lang.String getInterface() {
		return _interface;
	}
		

	public void setLong(java.lang.String _long) {
		this._long = _long;
	}

	public java.lang.String getLong() {
		return _long;
	}
		

	public void setNative(java.lang.String _native) {
		this._native = _native;
	}

	public java.lang.String getNative() {
		return _native;
	}
		

	public void setNew(java.lang.String _new) {
		this._new = _new;
	}

	public java.lang.String getNew() {
		return _new;
	}
		

	public void setPackage(java.lang.String _package) {
		this._package = _package;
	}

	public java.lang.String getPackage() {
		return _package;
	}
		

	public void setPrivate(java.lang.String _private) {
		this._private = _private;
	}

	public java.lang.String getPrivate() {
		return _private;
	}
		

	public void setProtected(java.lang.String _protected) {
		this._protected = _protected;
	}

	public java.lang.String getProtected() {
		return _protected;
	}
		

	public void setPublic(java.lang.String _public) {
		this._public = _public;
	}

	public java.lang.String getPublic() {
		return _public;
	}
		

	public void setReturn(java.lang.String _return) {
		this._return = _return;
	}

	public java.lang.String getReturn() {
		return _return;
	}
		

	public void setShort(java.lang.String _short) {
		this._short = _short;
	}

	public java.lang.String getShort() {
		return _short;
	}
		

	public void setStatic(java.lang.String _static) {
		this._static = _static;
	}

	public java.lang.String getStatic() {
		return _static;
	}
		

	public void setStrictfp(java.lang.String _strictfp) {
		this._strictfp = _strictfp;
	}

	public java.lang.String getStrictfp() {
		return _strictfp;
	}
		

	public void setSuper(java.lang.String _super) {
		this._super = _super;
	}

	public java.lang.String getSuper() {
		return _super;
	}
		

	public void setSwitch(java.lang.String _switch) {
		this._switch = _switch;
	}

	public java.lang.String getSwitch() {
		return _switch;
	}
		

	public void setSynchronized(java.lang.String _synchronized) {
		this._synchronized = _synchronized;
	}

	public java.lang.String getSynchronized() {
		return _synchronized;
	}
		

	public void setThis(java.lang.String _this) {
		this._this = _this;
	}

	public java.lang.String getThis() {
		return _this;
	}
		

	public void setThrow(java.lang.String _throw) {
		this._throw = _throw;
	}

	public java.lang.String getThrow() {
		return _throw;
	}
		

	public void setThrows(java.lang.String _throws) {
		this._throws = _throws;
	}

	public java.lang.String getThrows() {
		return _throws;
	}
		

	public void setTransient(java.lang.String _transient) {
		this._transient = _transient;
	}

	public java.lang.String getTransient() {
		return _transient;
	}
		

	public void setTry(java.lang.String _try) {
		this._try = _try;
	}

	public java.lang.String getTry() {
		return _try;
	}
		

	public void setVoid(java.lang.String _void) {
		this._void = _void;
	}

	public java.lang.String getVoid() {
		return _void;
	}
		

	public void setVolatile(java.lang.String _volatile) {
		this._volatile = _volatile;
	}

	public java.lang.String getVolatile() {
		return _volatile;
	}
		

	public void setWhile(java.lang.String _while) {
		this._while = _while;
	}

	public java.lang.String getWhile() {
		return _while;
	}
		

	/**
	 *  test for issue #140 (error for type that implements multiple interfaces)
	 */
	public void setFoo140(Foo140 foo140) {
		this.foo140 = foo140;
	}

	/**
	 *  test for issue #140 (error for type that implements multiple interfaces)
	*/
	public Foo140 getFoo140() {
		return foo140;
	}
		

	/**
	 * ###############################################################################
	 *  A particular test, based on the github schema: a query that returns the query object.
	 *  It introduces complexity in the code generation, that must be tested    
	 */
	public void setRelay(MyQueryType relay) {
		this.relay = relay;
	}

	/**
	 * ###############################################################################
	 *  A particular test, based on the github schema: a query that returns the query object.
	 *  It introduces complexity in the code generation, that must be tested    
	*/
	public MyQueryType getRelay() {
		return relay;
	}
		

     public String toString() {
        return "MyQueryType {"
				+ "withoutParameters: " + withoutParameters
				+ ", "
				+ "withOneOptionalParam: " + withOneOptionalParam
				+ ", "
				+ "withOneMandatoryParam: " + withOneMandatoryParam
				+ ", "
				+ "withOneMandatoryParamDefaultValue: " + withOneMandatoryParamDefaultValue
				+ ", "
				+ "withTwoMandatoryParamDefaultVal: " + withTwoMandatoryParamDefaultVal
				+ ", "
				+ "withEnum: " + withEnum
				+ ", "
				+ "withListOfList: " + withListOfList
				+ ", "
				+ "withList: " + withList
				+ ", "
				+ "allFieldCases: " + allFieldCases
				+ ", "
				+ "unionTest: " + unionTest
				+ ", "
				+ "error: " + error
				+ ", "
				+ "aBreak: " + aBreak
				+ ", "
				+ "directiveOnQuery: " + directiveOnQuery
				+ ", "
				+ "directiveOnField: " + directiveOnField
				+ ", "
				+ "connectionWithoutParameters: " + connectionWithoutParameters
				+ ", "
				+ "connectionOnHuman: " + connectionOnHuman
				+ ", "
				+ "issue53: " + issue53
				+ ", "
				+ "issue82Float: " + issue82Float
				+ ", "
				+ "issue82ID: " + issue82ID
				+ ", "
				+ "issue128: " + issue128
				+ ", "
				+ "enumWithReservedJavaKeywordAsValues: " + enumWithReservedJavaKeywordAsValues
				+ ", "
				+ "listOfEnumWithReservedJavaKeywordAsValues: " + listOfEnumWithReservedJavaKeywordAsValues
				+ ", "
				+ "_if: " + _if
				+ ", "
				+ "_implements: " + _implements
				+ ", "
				+ "_import: " + _import
				+ ", "
				+ "_instanceof: " + _instanceof
				+ ", "
				+ "_int: " + _int
				+ ", "
				+ "_interface: " + _interface
				+ ", "
				+ "_long: " + _long
				+ ", "
				+ "_native: " + _native
				+ ", "
				+ "_new: " + _new
				+ ", "
				+ "_package: " + _package
				+ ", "
				+ "_private: " + _private
				+ ", "
				+ "_protected: " + _protected
				+ ", "
				+ "_public: " + _public
				+ ", "
				+ "_return: " + _return
				+ ", "
				+ "_short: " + _short
				+ ", "
				+ "_static: " + _static
				+ ", "
				+ "_strictfp: " + _strictfp
				+ ", "
				+ "_super: " + _super
				+ ", "
				+ "_switch: " + _switch
				+ ", "
				+ "_synchronized: " + _synchronized
				+ ", "
				+ "_this: " + _this
				+ ", "
				+ "_throw: " + _throw
				+ ", "
				+ "_throws: " + _throws
				+ ", "
				+ "_transient: " + _transient
				+ ", "
				+ "_try: " + _try
				+ ", "
				+ "_void: " + _void
				+ ", "
				+ "_volatile: " + _volatile
				+ ", "
				+ "_while: " + _while
				+ ", "
				+ "foo140: " + foo140
				+ ", "
				+ "relay: " + relay
        		+ "}";
    }

	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 List<Character> withoutParameters;
		private Character withOneOptionalParam;
		private Character withOneMandatoryParam;
		private java.lang.Integer withOneMandatoryParamDefaultValue;
		private Droid withTwoMandatoryParamDefaultVal;
		private Character withEnum;
		private AllFieldCases withListOfList;
		private List<Character> withList;
		private AllFieldCases allFieldCases;
		private List<AnyCharacter> unionTest;
		private Character error;
		private _break aBreak;
		private List<java.lang.String> directiveOnQuery;
		private Character directiveOnField;
		private List<Character> connectionWithoutParameters;
		private List<Human> connectionOnHuman;
		private java.util.Date issue53;
		private java.lang.Double issue82Float;
		private java.util.UUID issue82ID;
		private Client issue128;
		private EnumWithReservedJavaKeywordAsValues enumWithReservedJavaKeywordAsValues;
		private List<EnumWithReservedJavaKeywordAsValues> listOfEnumWithReservedJavaKeywordAsValues;
		private java.lang.String _if;
		private java.lang.String _implements;
		private java.lang.String _import;
		private java.lang.String _instanceof;
		private java.lang.String _int;
		private java.lang.String _interface;
		private java.lang.String _long;
		private java.lang.String _native;
		private java.lang.String _new;
		private java.lang.String _package;
		private java.lang.String _private;
		private java.lang.String _protected;
		private java.lang.String _public;
		private java.lang.String _return;
		private java.lang.String _short;
		private java.lang.String _static;
		private java.lang.String _strictfp;
		private java.lang.String _super;
		private java.lang.String _switch;
		private java.lang.String _synchronized;
		private java.lang.String _this;
		private java.lang.String _throw;
		private java.lang.String _throws;
		private java.lang.String _transient;
		private java.lang.String _try;
		private java.lang.String _void;
		private java.lang.String _volatile;
		private java.lang.String _while;
		private Foo140 foo140;
		private MyQueryType relay;

		public Builder withWithoutParameters(List<Character> withoutParameters) {
			this.withoutParameters = withoutParameters;
			return this;
		}
		public Builder withWithOneOptionalParam(Character withOneOptionalParam) {
			this.withOneOptionalParam = withOneOptionalParam;
			return this;
		}
		public Builder withWithOneMandatoryParam(Character withOneMandatoryParam) {
			this.withOneMandatoryParam = withOneMandatoryParam;
			return this;
		}
		public Builder withWithOneMandatoryParamDefaultValue(java.lang.Integer withOneMandatoryParamDefaultValue) {
			this.withOneMandatoryParamDefaultValue = withOneMandatoryParamDefaultValue;
			return this;
		}
		public Builder withWithTwoMandatoryParamDefaultVal(Droid withTwoMandatoryParamDefaultVal) {
			this.withTwoMandatoryParamDefaultVal = withTwoMandatoryParamDefaultVal;
			return this;
		}
		public Builder withWithEnum(Character withEnum) {
			this.withEnum = withEnum;
			return this;
		}
		public Builder withWithListOfList(AllFieldCases withListOfList) {
			this.withListOfList = withListOfList;
			return this;
		}
		public Builder withWithList(List<Character> withList) {
			this.withList = withList;
			return this;
		}
		public Builder withAllFieldCases(AllFieldCases allFieldCases) {
			this.allFieldCases = allFieldCases;
			return this;
		}
		public Builder withUnionTest(List<AnyCharacter> unionTest) {
			this.unionTest = unionTest;
			return this;
		}
		public Builder withError(Character error) {
			this.error = error;
			return this;
		}
		public Builder withABreak(_break aBreak) {
			this.aBreak = aBreak;
			return this;
		}
		public Builder withDirectiveOnQuery(List<java.lang.String> directiveOnQuery) {
			this.directiveOnQuery = directiveOnQuery;
			return this;
		}
		public Builder withDirectiveOnField(Character directiveOnField) {
			this.directiveOnField = directiveOnField;
			return this;
		}
		public Builder withConnectionWithoutParameters(List<Character> connectionWithoutParameters) {
			this.connectionWithoutParameters = connectionWithoutParameters;
			return this;
		}
		public Builder withConnectionOnHuman(List<Human> connectionOnHuman) {
			this.connectionOnHuman = connectionOnHuman;
			return this;
		}
		public Builder withIssue53(java.util.Date issue53) {
			this.issue53 = issue53;
			return this;
		}
		public Builder withIssue82Float(java.lang.Double issue82Float) {
			this.issue82Float = issue82Float;
			return this;
		}
		public Builder withIssue82ID(java.util.UUID issue82ID) {
			this.issue82ID = issue82ID;
			return this;
		}
		public Builder withIssue128(Client issue128) {
			this.issue128 = issue128;
			return this;
		}
		public Builder withEnumWithReservedJavaKeywordAsValues(EnumWithReservedJavaKeywordAsValues enumWithReservedJavaKeywordAsValues) {
			this.enumWithReservedJavaKeywordAsValues = enumWithReservedJavaKeywordAsValues;
			return this;
		}
		public Builder withListOfEnumWithReservedJavaKeywordAsValues(List<EnumWithReservedJavaKeywordAsValues> listOfEnumWithReservedJavaKeywordAsValues) {
			this.listOfEnumWithReservedJavaKeywordAsValues = listOfEnumWithReservedJavaKeywordAsValues;
			return this;
		}
		public Builder withIf(java.lang.String _if) {
			this._if = _if;
			return this;
		}
		public Builder withImplements(java.lang.String _implements) {
			this._implements = _implements;
			return this;
		}
		public Builder withImport(java.lang.String _import) {
			this._import = _import;
			return this;
		}
		public Builder withInstanceof(java.lang.String _instanceof) {
			this._instanceof = _instanceof;
			return this;
		}
		public Builder withInt(java.lang.String _int) {
			this._int = _int;
			return this;
		}
		public Builder withInterface(java.lang.String _interface) {
			this._interface = _interface;
			return this;
		}
		public Builder withLong(java.lang.String _long) {
			this._long = _long;
			return this;
		}
		public Builder withNative(java.lang.String _native) {
			this._native = _native;
			return this;
		}
		public Builder withNew(java.lang.String _new) {
			this._new = _new;
			return this;
		}
		public Builder withPackage(java.lang.String _package) {
			this._package = _package;
			return this;
		}
		public Builder withPrivate(java.lang.String _private) {
			this._private = _private;
			return this;
		}
		public Builder withProtected(java.lang.String _protected) {
			this._protected = _protected;
			return this;
		}
		public Builder withPublic(java.lang.String _public) {
			this._public = _public;
			return this;
		}
		public Builder withReturn(java.lang.String _return) {
			this._return = _return;
			return this;
		}
		public Builder withShort(java.lang.String _short) {
			this._short = _short;
			return this;
		}
		public Builder withStatic(java.lang.String _static) {
			this._static = _static;
			return this;
		}
		public Builder withStrictfp(java.lang.String _strictfp) {
			this._strictfp = _strictfp;
			return this;
		}
		public Builder withSuper(java.lang.String _super) {
			this._super = _super;
			return this;
		}
		public Builder withSwitch(java.lang.String _switch) {
			this._switch = _switch;
			return this;
		}
		public Builder withSynchronized(java.lang.String _synchronized) {
			this._synchronized = _synchronized;
			return this;
		}
		public Builder withThis(java.lang.String _this) {
			this._this = _this;
			return this;
		}
		public Builder withThrow(java.lang.String _throw) {
			this._throw = _throw;
			return this;
		}
		public Builder withThrows(java.lang.String _throws) {
			this._throws = _throws;
			return this;
		}
		public Builder withTransient(java.lang.String _transient) {
			this._transient = _transient;
			return this;
		}
		public Builder withTry(java.lang.String _try) {
			this._try = _try;
			return this;
		}
		public Builder withVoid(java.lang.String _void) {
			this._void = _void;
			return this;
		}
		public Builder withVolatile(java.lang.String _volatile) {
			this._volatile = _volatile;
			return this;
		}
		public Builder withWhile(java.lang.String _while) {
			this._while = _while;
			return this;
		}
		public Builder withFoo140(Foo140 foo140) {
			this.foo140 = foo140;
			return this;
		}
		public Builder withRelay(MyQueryType relay) {
			this.relay = relay;
			return this;
		}

		public MyQueryType build() {
			MyQueryType _object = new MyQueryType();
			_object.setWithoutParameters(withoutParameters);
			_object.setWithOneOptionalParam(withOneOptionalParam);
			_object.setWithOneMandatoryParam(withOneMandatoryParam);
			_object.setWithOneMandatoryParamDefaultValue(withOneMandatoryParamDefaultValue);
			_object.setWithTwoMandatoryParamDefaultVal(withTwoMandatoryParamDefaultVal);
			_object.setWithEnum(withEnum);
			_object.setWithListOfList(withListOfList);
			_object.setWithList(withList);
			_object.setAllFieldCases(allFieldCases);
			_object.setUnionTest(unionTest);
			_object.setError(error);
			_object.setABreak(aBreak);
			_object.setDirectiveOnQuery(directiveOnQuery);
			_object.setDirectiveOnField(directiveOnField);
			_object.setConnectionWithoutParameters(connectionWithoutParameters);
			_object.setConnectionOnHuman(connectionOnHuman);
			_object.setIssue53(issue53);
			_object.setIssue82Float(issue82Float);
			_object.setIssue82ID(issue82ID);
			_object.setIssue128(issue128);
			_object.setEnumWithReservedJavaKeywordAsValues(enumWithReservedJavaKeywordAsValues);
			_object.setListOfEnumWithReservedJavaKeywordAsValues(listOfEnumWithReservedJavaKeywordAsValues);
			_object.setIf(_if);
			_object.setImplements(_implements);
			_object.setImport(_import);
			_object.setInstanceof(_instanceof);
			_object.setInt(_int);
			_object.setInterface(_interface);
			_object.setLong(_long);
			_object.setNative(_native);
			_object.setNew(_new);
			_object.setPackage(_package);
			_object.setPrivate(_private);
			_object.setProtected(_protected);
			_object.setPublic(_public);
			_object.setReturn(_return);
			_object.setShort(_short);
			_object.setStatic(_static);
			_object.setStrictfp(_strictfp);
			_object.setSuper(_super);
			_object.setSwitch(_switch);
			_object.setSynchronized(_synchronized);
			_object.setThis(_this);
			_object.setThrow(_throw);
			_object.setThrows(_throws);
			_object.setTransient(_transient);
			_object.setTry(_try);
			_object.setVoid(_void);
			_object.setVolatile(_volatile);
			_object.setWhile(_while);
			_object.setFoo140(foo140);
			_object.setRelay(relay);
			return _object;
		}
	}
}
