// Path: bootique-graphql/src/main/java/org/objectstyle/bootique/graphql/jaxrs/GraphQLRestQuery.java
// public class GraphQLRestQuery {
// 
// 	private String query;
// 	private String variables;
// 
// 	public String getQuery() {
// 		return query;
// 	}
// 
// 	public void setQuery(String query) {
// 		this.query = query;
// 	}
// 	
// 	public String getVariables() {
// 		return variables;
// 	}
// 	
// 	public void setVariables(String variables) {
// 		this.variables = variables;
// 	}
// }
// 
// Path: bootique-graphql/src/main/java/org/objectstyle/bootique/graphql/json/JsonReader.java
// public interface JsonReader {
// 
// 	<T> T read(Class<T> type, InputStream jsonStream);
// }


import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import javax.inject.Singleton;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.ext.MessageBodyReader;
import javax.ws.rs.ext.Provider;
import org.objectstyle.bootique.graphql.jaxrs.GraphQLRestQuery;
import org.objectstyle.bootique.graphql.json.JsonReader;
import com.google.inject.Inject;
package org.objectstyle.bootique.graphql.jaxrs.provider;





@Singleton
@Provider
public class GraphiQLRestQueryReader implements MessageBodyReader<GraphQLRestQuery> {

	@Inject
	private JsonReader jsonParser;

	@Override
	public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) {
		return GraphQLRestQuery.class.isAssignableFrom(type);
	}

	@Override
// Path: bootique-graphql/src/main/java/org/objectstyle/bootique/graphql/jaxrs/GraphQLRestQuery.java
// public class GraphQLRestQuery {
// 
// 	private String query;
// 	private String variables;
// 
// 	public String getQuery() {
// 		return query;
// 	}
// 
// 	public void setQuery(String query) {
// 		this.query = query;
// 	}
// 	
// 	public String getVariables() {
// 		return variables;
// 	}
// 	
// 	public void setVariables(String variables) {
// 		this.variables = variables;
// 	}
// }
// 
// Path: bootique-graphql/src/main/java/org/objectstyle/bootique/graphql/json/JsonReader.java
// public interface JsonReader {
// 
// 	<T> T read(Class<T> type, InputStream jsonStream);
// }


// Path: bootique-graphql/src/main/java/org/objectstyle/bootique/graphql/jaxrs/provider/GraphiQLRestQueryReader.java
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import javax.inject.Singleton;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.ext.MessageBodyReader;
import javax.ws.rs.ext.Provider;
import org.objectstyle.bootique.graphql.jaxrs.GraphQLRestQuery;
import org.objectstyle.bootique.graphql.json.JsonReader;
import com.google.inject.Inject;

package org.objectstyle.bootique.graphql.jaxrs.provider;





@Singleton
@Provider
public class GraphiQLRestQueryReader implements MessageBodyReader<GraphQLRestQuery> {

	@Inject
	private JsonReader jsonParser;

	@Override
	public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) {
		return GraphQLRestQuery.class.isAssignableFrom(type);
	}

	@Override
	public GraphQLRestQuery readFrom(Class<GraphQLRestQuery> type, Type genericType, Annotation[] annotations,