public class DefaultOperationBuilder extends Object implements OperationBuilder
| Modifier and Type | Class and Description |
|---|---|
static class |
DefaultOperationBuilder.TypeInference
NONE - No type inference. |
| Constructor and Description |
|---|
DefaultOperationBuilder(DefaultOperationBuilder.TypeInference typeInference) |
| Modifier and Type | Method and Description |
|---|---|
Operation |
buildMutation(Type context,
List<Resolver> resolvers,
GlobalEnvironment environment) |
Operation |
buildQuery(Type contextType,
List<Resolver> resolvers,
GlobalEnvironment environment) |
Operation |
buildSubscription(Type context,
List<Resolver> resolvers,
GlobalEnvironment environment) |
protected List<OperationArgument> |
collectArguments(String operationName,
List<Resolver> resolvers) |
protected boolean |
isBatched(List<Resolver> resolvers) |
protected AnnotatedType |
resolveJavaType(String operationName,
List<Resolver> resolvers,
MessageBundle messageBundle) |
protected String |
resolveName(List<Resolver> resolvers) |
protected AnnotatedType |
unionize(AnnotatedType[] types,
MessageBundle messageBundle) |
public DefaultOperationBuilder(DefaultOperationBuilder.TypeInference typeInference)
typeInference - Controls automatic type inference if multiple resolver methods for the same operation return different types,
or if different resolver methods specify arguments of the same name but of different types.
The inference process selects the most specific common super type of all the detected types.
This feature is off by default as it can lead to surprising results when used unconsciously.
Example:
{@codepublic Operation buildQuery(Type contextType, List<Resolver> resolvers, GlobalEnvironment environment)
buildQuery in interface OperationBuilderpublic Operation buildMutation(Type context, List<Resolver> resolvers, GlobalEnvironment environment)
buildMutation in interface OperationBuilderpublic Operation buildSubscription(Type context, List<Resolver> resolvers, GlobalEnvironment environment)
buildSubscription in interface OperationBuilderprotected AnnotatedType resolveJavaType(String operationName, List<Resolver> resolvers, MessageBundle messageBundle)
protected List<OperationArgument> collectArguments(String operationName, List<Resolver> resolvers)
protected AnnotatedType unionize(AnnotatedType[] types, MessageBundle messageBundle)
Copyright © 2016–2018. All rights reserved.