Class SchemaDiffSet

java.lang.Object
graphql.schema.diff.SchemaDiffSet

@PublicApi public class SchemaDiffSet extends Object
Interface used to define 2 schemas that can be diffed by the SchemaDiff operation.
  • Field Details

    • oldSchemaDoc

      private final Document oldSchemaDoc
    • newSchemaDoc

      private final Document newSchemaDoc
    • supportsEnforcingDirectives

      private final boolean supportsEnforcingDirectives
  • Constructor Details

    • SchemaDiffSet

      private SchemaDiffSet(Document oldSchemaDoc, Document newSchemaDoc, boolean supportsEnforcingDirectives)
  • Method Details

    • getOldSchemaDefinitionDoc

      public Document getOldSchemaDefinitionDoc()
      Returns:
      Returns a IDL document that represents the old schema as part of a SchemaDiff operation.
    • getNewSchemaDefinitionDoc

      public Document getNewSchemaDefinitionDoc()
      Returns:
      Returns a IDL document that represents the new schema created from the introspection result.
    • supportsEnforcingDirectives

      public boolean supportsEnforcingDirectives()
      Returns:
      Flag indicating whether this diffset implementation can be used to enforce directives when performing schema diff.
    • diffSetFromIntrospection

      public static SchemaDiffSet diffSetFromIntrospection(Map<String,Object> introspectionOld, Map<String,Object> introspectionNew)
      Creates an schema diff set out of the result of 2 introspection queries.
      Parameters:
      introspectionOld - the older introspection query
      introspectionNew - the newer introspection query
      Returns:
      a diff set representing them which will not support enforcing directives.
    • diffSetFromIntrospection

      public static SchemaDiffSet diffSetFromIntrospection(GraphQLSchema oldSchema, GraphQLSchema newSchema)
      Creates an schema diff set out of the result of 2 introspection queries.
      Parameters:
      oldSchema - the older GraphQLSchema object to introspect.
      newSchema - the new GraphQLSchema object to introspect.
      Returns:
      a diff set representing them which will not support enforcing directives.
    • diffSetFromSdl

      public static SchemaDiffSet diffSetFromSdl(String oldSchemaSdl, String newSchemaSdl)
      Creates an schema diff set out of the two SDL definition Strings.
      Parameters:
      oldSchemaSdl - the older SDL definition String.
      newSchemaSdl - the newer SDL definition String.
      Returns:
      a diff set representing them which will support enforcing directives.
    • diffSetFromSdl

      public static SchemaDiffSet diffSetFromSdl(GraphQLSchema oldSchema, GraphQLSchema newSchema)
      Creates an schema diff set out of the two SDL definition Strings.
      Parameters:
      oldSchema - the older SDL definition String.
      newSchema - the newer SDL definition String.
      Returns:
      a diff set representing them which will support enforcing directives.
    • getDocumentFromIntrospection

      private static Document getDocumentFromIntrospection(Map<String,Object> introspectionResult)
    • getDocumentFromSDLString

      private static Document getDocumentFromSDLString(String sdlString)
    • getSchemaSdl

      private static String getSchemaSdl(GraphQLSchema schema)
    • introspect

      private static Map<String,Object> introspect(GraphQLSchema schema)