Package graphql.normalized
Class ExecutableNormalizedOperationToAstCompiler
- java.lang.Object
-
- graphql.normalized.ExecutableNormalizedOperationToAstCompiler
-
@PublicApi public class ExecutableNormalizedOperationToAstCompiler extends java.lang.Object
This class can take a list ofExecutableNormalizedField
s and compiling out a normalised operationDocument
that would represent how those fields maybe executed.This is essentially the reverse of
ExecutableNormalizedOperationFactory
which takes operation text and makesExecutableNormalizedField
s from it, this takesExecutableNormalizedField
s and makes operation text from it.You could for example send that operation text onto to some other graphql server if it has the same schema as the one provided.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExecutableNormalizedOperationToAstCompiler.CompilerResult
The result is aDocument
and a map of variables that would go with that document.
-
Constructor Summary
Constructors Constructor Description ExecutableNormalizedOperationToAstCompiler()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ExecutableNormalizedOperationToAstCompiler.CompilerResult
compileToDocument(@NotNull GraphQLSchema schema, OperationDefinition.Operation operationKind, @Nullable java.lang.String operationName, @NotNull java.util.List<ExecutableNormalizedField> topLevelFields, @NotNull java.util.Map<ExecutableNormalizedField,QueryDirectives> normalizedFieldToQueryDirectives, @Nullable VariablePredicate variablePredicate)
This will compile an operation textDocument
with possibly variables from the givenExecutableNormalizedField
s TheVariablePredicate
is used called to decide if the given argument values should be made into a variable OR inlined into the operation text as a graphql literal.static ExecutableNormalizedOperationToAstCompiler.CompilerResult
compileToDocument(@NotNull GraphQLSchema schema, OperationDefinition.Operation operationKind, @Nullable java.lang.String operationName, @NotNull java.util.List<ExecutableNormalizedField> topLevelFields, @Nullable VariablePredicate variablePredicate)
This will compile an operation textDocument
with possibly variables from the givenExecutableNormalizedField
s TheVariablePredicate
is used called to decide if the given argument values should be made into a variable OR inlined into the operation text as a graphql literal.
-
-
-
Method Detail
-
compileToDocument
public static ExecutableNormalizedOperationToAstCompiler.CompilerResult compileToDocument(@NotNull @NotNull GraphQLSchema schema, @NotNull OperationDefinition.Operation operationKind, @Nullable @Nullable java.lang.String operationName, @NotNull @NotNull java.util.List<ExecutableNormalizedField> topLevelFields, @Nullable @Nullable VariablePredicate variablePredicate)
This will compile an operation textDocument
with possibly variables from the givenExecutableNormalizedField
s TheVariablePredicate
is used called to decide if the given argument values should be made into a variable OR inlined into the operation text as a graphql literal.- Parameters:
schema
- the graphql schema to useoperationKind
- the kind of operationoperationName
- the name of the operation to usetopLevelFields
- the top levelExecutableNormalizedField
s to start fromvariablePredicate
- the variable predicate that decides if arguments turn into variables or not during compilation- Returns:
- a
ExecutableNormalizedOperationToAstCompiler.CompilerResult
object
-
compileToDocument
public static ExecutableNormalizedOperationToAstCompiler.CompilerResult compileToDocument(@NotNull @NotNull GraphQLSchema schema, @NotNull OperationDefinition.Operation operationKind, @Nullable @Nullable java.lang.String operationName, @NotNull @NotNull java.util.List<ExecutableNormalizedField> topLevelFields, @NotNull @NotNull java.util.Map<ExecutableNormalizedField,QueryDirectives> normalizedFieldToQueryDirectives, @Nullable @Nullable VariablePredicate variablePredicate)
This will compile an operation textDocument
with possibly variables from the givenExecutableNormalizedField
s TheVariablePredicate
is used called to decide if the given argument values should be made into a variable OR inlined into the operation text as a graphql literal.- Parameters:
schema
- the graphql schema to useoperationKind
- the kind of operationoperationName
- the name of the operation to usetopLevelFields
- the top levelExecutableNormalizedField
s to start fromnormalizedFieldToQueryDirectives
- the map of normalized field to query directivesvariablePredicate
- the variable predicate that decides if arguments turn into variables or not during compilation- Returns:
- a
ExecutableNormalizedOperationToAstCompiler.CompilerResult
object
-
-