Package graphql.schema.impl
Class MultiReadOnlyGraphQLTypeVisitor
- java.lang.Object
-
- graphql.schema.impl.MultiReadOnlyGraphQLTypeVisitor
-
- All Implemented Interfaces:
GraphQLTypeVisitor
public class MultiReadOnlyGraphQLTypeVisitor extends java.lang.Object implements GraphQLTypeVisitor
A delegating type visitor that allows you to call N visitors in a list and always continues viaTraversalControl.CONTINUE
-
-
Constructor Summary
Constructors Constructor Description MultiReadOnlyGraphQLTypeVisitor(java.util.List<GraphQLTypeVisitor> visitors)
-
Method Summary
-
-
-
Constructor Detail
-
MultiReadOnlyGraphQLTypeVisitor
public MultiReadOnlyGraphQLTypeVisitor(java.util.List<GraphQLTypeVisitor> visitors)
-
-
Method Detail
-
visitGraphQLAppliedDirective
public TraversalControl visitGraphQLAppliedDirective(GraphQLAppliedDirective node, TraverserContext<GraphQLSchemaElement> context)
Description copied from interface:GraphQLTypeVisitor
This method will be called when a directive is applied to a schema element. TheTraverserContext.getParentNode()
will be the schema element that this is applied to. The graphql-java code base is trying to slowly move away from usingGraphQLDirective
s when they really should beGraphQLAppliedDirective
s- Specified by:
visitGraphQLAppliedDirective
in interfaceGraphQLTypeVisitor
- Parameters:
node
- the applied directivecontext
- the traversal context- Returns:
- how to control the visitation processing
-
visitGraphQLAppliedDirectiveArgument
public TraversalControl visitGraphQLAppliedDirectiveArgument(GraphQLAppliedDirectiveArgument node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLAppliedDirectiveArgument
in interfaceGraphQLTypeVisitor
-
visitGraphQLArgument
public TraversalControl visitGraphQLArgument(GraphQLArgument node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLArgument
in interfaceGraphQLTypeVisitor
-
visitGraphQLInterfaceType
public TraversalControl visitGraphQLInterfaceType(GraphQLInterfaceType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLInterfaceType
in interfaceGraphQLTypeVisitor
-
visitGraphQLEnumType
public TraversalControl visitGraphQLEnumType(GraphQLEnumType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLEnumType
in interfaceGraphQLTypeVisitor
-
visitGraphQLEnumValueDefinition
public TraversalControl visitGraphQLEnumValueDefinition(GraphQLEnumValueDefinition node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLEnumValueDefinition
in interfaceGraphQLTypeVisitor
-
visitGraphQLFieldDefinition
public TraversalControl visitGraphQLFieldDefinition(GraphQLFieldDefinition node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLFieldDefinition
in interfaceGraphQLTypeVisitor
-
visitGraphQLDirective
public TraversalControl visitGraphQLDirective(GraphQLDirective node, TraverserContext<GraphQLSchemaElement> context)
Description copied from interface:GraphQLTypeVisitor
This method will be called twice. Once for a directive definition in a schema and then do each time a directive is applied to a schema element When it's applied to a schema element thenTraverserContext.getParentNode()
will be the schema element that this is applied to. The graphql-java code base is trying to slowly move away from usingGraphQLDirective
s when they really should beGraphQLAppliedDirective
s and this is another place that has been left in. In the future this behavior will change and this will only visit directive definitions of a schema, not where they are applied.- Specified by:
visitGraphQLDirective
in interfaceGraphQLTypeVisitor
- Parameters:
node
- the directivecontext
- the traversal context- Returns:
- how to control the visitation processing
-
visitGraphQLInputObjectField
public TraversalControl visitGraphQLInputObjectField(GraphQLInputObjectField node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLInputObjectField
in interfaceGraphQLTypeVisitor
-
visitGraphQLInputObjectType
public TraversalControl visitGraphQLInputObjectType(GraphQLInputObjectType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLInputObjectType
in interfaceGraphQLTypeVisitor
-
visitGraphQLList
public TraversalControl visitGraphQLList(GraphQLList node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLList
in interfaceGraphQLTypeVisitor
-
visitGraphQLNonNull
public TraversalControl visitGraphQLNonNull(GraphQLNonNull node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLNonNull
in interfaceGraphQLTypeVisitor
-
visitGraphQLObjectType
public TraversalControl visitGraphQLObjectType(GraphQLObjectType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLObjectType
in interfaceGraphQLTypeVisitor
-
visitGraphQLScalarType
public TraversalControl visitGraphQLScalarType(GraphQLScalarType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLScalarType
in interfaceGraphQLTypeVisitor
-
visitGraphQLTypeReference
public TraversalControl visitGraphQLTypeReference(GraphQLTypeReference node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLTypeReference
in interfaceGraphQLTypeVisitor
-
visitGraphQLUnionType
public TraversalControl visitGraphQLUnionType(GraphQLUnionType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLUnionType
in interfaceGraphQLTypeVisitor
-
visitBackRef
public TraversalControl visitBackRef(TraverserContext<GraphQLSchemaElement> context)
Description copied from interface:GraphQLTypeVisitor
Called when a node is visited more than once within a context.TraverserContext.thisNode()
contains the node- Specified by:
visitBackRef
in interfaceGraphQLTypeVisitor
- Parameters:
context
- the traversal context- Returns:
- by default CONTINUE
-
visitGraphQLModifiedType
public TraversalControl visitGraphQLModifiedType(GraphQLModifiedType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLModifiedType
in interfaceGraphQLTypeVisitor
-
visitGraphQLCompositeType
public TraversalControl visitGraphQLCompositeType(GraphQLCompositeType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLCompositeType
in interfaceGraphQLTypeVisitor
-
visitGraphQLDirectiveContainer
public TraversalControl visitGraphQLDirectiveContainer(GraphQLDirectiveContainer node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLDirectiveContainer
in interfaceGraphQLTypeVisitor
-
visitGraphQLFieldsContainer
public TraversalControl visitGraphQLFieldsContainer(GraphQLFieldsContainer node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLFieldsContainer
in interfaceGraphQLTypeVisitor
-
visitGraphQLInputFieldsContainer
public TraversalControl visitGraphQLInputFieldsContainer(GraphQLInputFieldsContainer node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLInputFieldsContainer
in interfaceGraphQLTypeVisitor
-
visitGraphQLInputType
public TraversalControl visitGraphQLInputType(GraphQLInputType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLInputType
in interfaceGraphQLTypeVisitor
-
visitGraphQLNullableType
public TraversalControl visitGraphQLNullableType(GraphQLNullableType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLNullableType
in interfaceGraphQLTypeVisitor
-
visitGraphQLOutputType
public TraversalControl visitGraphQLOutputType(GraphQLOutputType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLOutputType
in interfaceGraphQLTypeVisitor
-
visitGraphQLUnmodifiedType
public TraversalControl visitGraphQLUnmodifiedType(GraphQLUnmodifiedType node, TraverserContext<GraphQLSchemaElement> context)
- Specified by:
visitGraphQLUnmodifiedType
in interfaceGraphQLTypeVisitor
-
changeNode
public TraversalControl changeNode(TraverserContext<GraphQLSchemaElement> context, GraphQLSchemaElement newChangedNode)
Description copied from interface:GraphQLTypeVisitor
This helper method can be used to "change" a node when returning control from this visitor- Specified by:
changeNode
in interfaceGraphQLTypeVisitor
- Parameters:
context
- the current traversal contextnewChangedNode
- the new to be changed at this place- Returns:
- this will always sent back TraversalControl.CONTINUE
-
deleteNode
public TraversalControl deleteNode(TraverserContext<GraphQLSchemaElement> context)
Description copied from interface:GraphQLTypeVisitor
This helper method can be used to "delete" the current node when returning control from this visitor- Specified by:
deleteNode
in interfaceGraphQLTypeVisitor
- Parameters:
context
- the current traversal context which is pointing to the current node to be deleted- Returns:
- this will always sent back TraversalControl.CONTINUE
-
insertAfter
public TraversalControl insertAfter(TraverserContext<GraphQLSchemaElement> context, GraphQLSchemaElement toInsertAfter)
Description copied from interface:GraphQLTypeVisitor
This helper method can be used to "insert a new node" AFTER the current node when returning control from this visitor- Specified by:
insertAfter
in interfaceGraphQLTypeVisitor
- Parameters:
context
- the current traversal contexttoInsertAfter
- the new to be inserted AFTER this current code- Returns:
- this will always sent back TraversalControl.CONTINUE
-
insertBefore
public TraversalControl insertBefore(TraverserContext<GraphQLSchemaElement> context, GraphQLSchemaElement toInsertBefore)
Description copied from interface:GraphQLTypeVisitor
This helper method can be used to "insert a new node" BEFORE the current node when returning control from this visitor- Specified by:
insertBefore
in interfaceGraphQLTypeVisitor
- Parameters:
context
- the current traversal contexttoInsertBefore
- the new to be inserted BEFORE this current code- Returns:
- this will always sent back TraversalControl.CONTINUE
-
-