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 interface
AstPrinter.NodePrinter<T extends Node>
These print nodes into output writers -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
private 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 String
description
(Node<?> node) private AstPrinter.NodePrinter
<Directive> private AstPrinter.NodePrinter
<DirectiveLocation> private String
directives
(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 boolean
hasDescription
(List<? extends Node> nodes) private StringBuilder
indent
(StringBuilder maybeString) private AstPrinter.NodePrinter
<InlineFragment> private boolean
private <T> boolean
private String
private String
private String
private <T> List
<T> private AstPrinter.NodePrinter
<ObjectField> static String
This will pretty print the AST node in graphql language formatstatic void
This will pretty print the AST node in graphql language formatstatic String
printAstCompact
(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 void
printImpl
(StringBuilder writer, Node node, boolean compactMode) (package private) void
replacePrinter
(Class<? extends Node> nodeClass, AstPrinter.NodePrinter<? extends Node> nodePrinter) Allow subclasses to replace a printer for a specificNode
private AstPrinter.NodePrinter
<SchemaDefinition> private AstPrinter.NodePrinter
<SelectionSet> private String
private String
private AstPrinter.NodePrinter
<Type> type()
private String
private AstPrinter.NodePrinter
<Value> value()
private String
private 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 theNode
nodePrinter
- the customAstPrinter.NodePrinter
-