package graphql.schema;
public interface Coercing<I, O> {
/**
* Called to convert a result of a DataFetcher to a valid runtime value.
*
* @param input is never null
* @return null if not possible/invalid
*/
O serialize(Object input);
/**
* Called to resolve a input from a variable.
* Null if not possible.
*
* @param input is never null
* @return null if not possible/invalid
*/
I parseValue(Object input);
/**
* Called to convert a AST node
*
* @param input is never null
* @return null if not possible/invalid
*/
I parseLiteral(Object input);
}