Class TransformAssignGlobalIds

java.lang.Object
graphql.language.NodeVisitorStub
org.aksw.jenax.graphql.sparql.v2.rewrite.TransformAssignGlobalIds
All Implemented Interfaces:
graphql.language.NodeVisitor

public class TransformAssignGlobalIds extends graphql.language.NodeVisitorStub
Transforms a GraphQL document such that all query operations, fields are assigned a @globalId(id: "abc") directive. This allows for fairly easy matching between the nodes of a GraphQL document and the nodes of an ElementNode tree.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Supplier<String>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    of(String baseName, int start)
     
    protected boolean
    process(graphql.language.Directive node)
     
    <T extends graphql.language.DirectivesContainer<?>>
    graphql.util.TraversalControl
    transform(T node, graphql.util.TraverserContext<graphql.language.Node> context, Consumer<List<graphql.language.Directive>> action)
     
    graphql.util.TraversalControl
    visitField(graphql.language.Field field, graphql.util.TraverserContext<graphql.language.Node> context)
     
    graphql.util.TraversalControl
    visitInlineFragment(graphql.language.InlineFragment field, graphql.util.TraverserContext<graphql.language.Node> context)
     
    graphql.util.TraversalControl
    visitOperationDefinition(graphql.language.OperationDefinition node, graphql.util.TraverserContext<graphql.language.Node> context)
    Also assign an ID to the query itself.

    Methods inherited from class graphql.language.NodeVisitorStub

    visitArgument, visitArrayValue, visitBooleanValue, visitDefinition, visitDirective, visitDirectiveDefinition, visitDirectiveLocation, visitDocument, visitEnumTypeDefinition, visitEnumValue, visitEnumValueDefinition, visitFieldDefinition, visitFloatValue, visitFragmentDefinition, visitFragmentSpread, visitInputObjectTypeDefinition, visitInputValueDefinition, visitInterfaceTypeDefinition, visitIntValue, visitListType, visitNode, visitNonNullType, visitNullValue, visitObjectField, visitObjectTypeDefinition, visitObjectValue, visitOperationTypeDefinition, visitScalarTypeDefinition, visitSchemaDefinition, visitSelection, visitSelectionSet, visitStringValue, visitType, visitTypeDefinition, visitTypeName, visitUnionTypeDefinition, visitValue, visitVariableDefinition, visitVariableReference

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • TransformAssignGlobalIds

      public TransformAssignGlobalIds(Supplier<String> idGenerator)
  • Method Details

    • of

      public static TransformAssignGlobalIds of(String baseName, int start)
    • visitOperationDefinition

      public graphql.util.TraversalControl visitOperationDefinition(graphql.language.OperationDefinition node, graphql.util.TraverserContext<graphql.language.Node> context)
      Also assign an ID to the query itself.
      Specified by:
      visitOperationDefinition in interface graphql.language.NodeVisitor
      Overrides:
      visitOperationDefinition in class graphql.language.NodeVisitorStub
    • visitField

      public graphql.util.TraversalControl visitField(graphql.language.Field field, graphql.util.TraverserContext<graphql.language.Node> context)
      Specified by:
      visitField in interface graphql.language.NodeVisitor
      Overrides:
      visitField in class graphql.language.NodeVisitorStub
    • visitInlineFragment

      public graphql.util.TraversalControl visitInlineFragment(graphql.language.InlineFragment field, graphql.util.TraverserContext<graphql.language.Node> context)
      Specified by:
      visitInlineFragment in interface graphql.language.NodeVisitor
      Overrides:
      visitInlineFragment in class graphql.language.NodeVisitorStub
    • transform

      public <T extends graphql.language.DirectivesContainer<?>> graphql.util.TraversalControl transform(T node, graphql.util.TraverserContext<graphql.language.Node> context, Consumer<List<graphql.language.Directive>> action)
    • process

      protected boolean process(graphql.language.Directive node)