Package graphql.language
Class AstPrinter
java.lang.Object
graphql.language.AstPrinter
- Direct Known Subclasses:
PrettyAstPrinter
This can take graphql language AST and print it out as a string
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interfaceAstPrinter.NodePrinter<T extends Node>These print nodes into output writers -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final Map<Class<? extends Node>, AstPrinter.NodePrinter<? extends Node>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) <T extends Node>
AstPrinter.NodePrinter<T> _findPrinter(Node node) (package private) <T extends Node>
AstPrinter.NodePrinter<T> _findPrinter(Node node, Class startClass) private AstPrinter.NodePrinter<Argument> argument()private Stringdescription(Node<?> node) private AstPrinter.NodePrinter<Directive> private AstPrinter.NodePrinter<DirectiveLocation> private Stringdirectives(List<Directive> directives) private AstPrinter.NodePrinter<Document> document()private AstPrinter.NodePrinter<EnumTypeDefinition> private AstPrinter.NodePrinter<EnumValue> private AstPrinter.NodePrinter<Field> field()private AstPrinter.NodePrinter<FieldDefinition> private AstPrinter.NodePrinter<FragmentDefinition> private AstPrinter.NodePrinter<FragmentSpread> private booleanhasDescription(List<? extends Node> nodes) private StringBuilderindent(StringBuilder maybeString) private AstPrinter.NodePrinter<InlineFragment> private booleanprivate <T> booleanprivate Stringprivate Stringprivate Stringprivate <T> List<T> private AstPrinter.NodePrinter<ObjectField> static StringThis will pretty print the AST node in graphql language formatstatic voidThis will pretty print the AST node in graphql language formatstatic StringprintAstCompact(Node node) This will print the Ast node in graphql language format in a compact manner, with no new lines and descriptions stripped out of the text.private static voidprintImpl(StringBuilder writer, Node node, boolean compactMode) (package private) voidreplacePrinter(Class<? extends Node> nodeClass, AstPrinter.NodePrinter<? extends Node> nodePrinter) Allow subclasses to replace a printer for a specificNodeprivate AstPrinter.NodePrinter<SchemaDefinition> private AstPrinter.NodePrinter<SelectionSet> private Stringprivate Stringprivate AstPrinter.NodePrinter<Type> type()private Stringprivate AstPrinter.NodePrinter<Value> value()private Stringprivate AstPrinter.NodePrinter<VariableDefinition> private AstPrinter.NodePrinter<VariableReference> (package private) String(package private) String
-
Field Details
-
printers
-
compactMode
private final boolean compactMode
-
-
Constructor Details
-
AstPrinter
AstPrinter(boolean compactMode)
-
-
Method Details
-
argument
-
document
-
directive
-
directiveDefinition
-
directiveLocation
-
enumTypeDefinition
-
enumValue
-
enumValueDefinition
-
field
-
fieldDefinition
-
hasDescription
-
fragmentDefinition
-
fragmentSpread
-
inlineFragment
-
inputObjectTypeDefinition
-
inputValueDefinition
-
interfaceTypeDefinition
-
objectField
-
operationDefinition
-
operationTypeDefinition
-
objectTypeDefinition
-
selectionSet
-
scalarTypeDefinition
-
schemaDefinition
-
type
-
type
-
objectTypeExtensionDefinition
-
enumTypeExtensionDefinition
-
interfaceTypeExtensionDefinition
-
unionTypeExtensionDefinition
-
scalarTypeExtensionDefinition
-
inputObjectTypeExtensionDefinition
private AstPrinter.NodePrinter<InputObjectTypeExtensionDefinition> inputObjectTypeExtensionDefinition() -
schemaExtensionDefinition
-
unionTypeDefinition
-
variableDefinition
-
variableReference
-
node
-
node
-
_findPrinter
-
_findPrinter
-
isEmpty
-
isEmpty
-
nvl
-
value
-
value
-
description
-
directives
-
join
-
joinTight
-
join
-
spaced
-
smooshed
-
join
-
wrap
-
block
-
indent
-
wrap
-
printAst
This will pretty print the AST node in graphql language format- Parameters:
node- the AST node to print- Returns:
- the printed node in graphql language format
-
printAst
This will pretty print the AST node in graphql language format- Parameters:
writer- the place to put the outputnode- the AST node to print
-
printAstCompact
This will print the Ast node in graphql language format in a compact manner, with no new lines and descriptions stripped out of the text.- Parameters:
node- the AST node to print- Returns:
- the printed node in a compact graphql language format
-
printImpl
-
replacePrinter
void replacePrinter(Class<? extends Node> nodeClass, AstPrinter.NodePrinter<? extends Node> nodePrinter) Allow subclasses to replace a printer for a specificNode- Parameters:
nodeClass- the class of theNodenodePrinter- the customAstPrinter.NodePrinter
-