Interface SchemaReport


public interface SchemaReport
Report produced as a result of inspecting schema mappings.

The inspection checks if schema fields are covered either by a DataFetcher registration, or match a Java object property. Fields that have neither are reported as unmappedFields(). The inspection also checks if any DataFetcher are registered against schema fields that don't exist and reports those as unmappedRegistrations().

Since:
1.2.0
Author:
Rossen Stoyanchev
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Information about a Nullness mismatch between the GraphQL schema and the application code.
    static interface 
    Information about a schema type skipped during the inspection.
  • Method Summary

    Modifier and Type
    Method
    Description
    MultiValueMap<graphql.schema.DataFetcher<?>, SchemaReport.NullnessMismatch>
    Return a map with DataFetchers and information for its arguments if the schema nullness does not match the nullness of the corresponding AnnotatedElement in the application.
    @Nullable graphql.schema.DataFetcher<?>
    dataFetcher(graphql.schema.FieldCoordinates coordinates)
    Return the DataFetcher for the given field coordinates, if registered.
    Map<graphql.schema.FieldCoordinates, SchemaReport.NullnessMismatch>
    Return the coordinates for mismatches when a schema field type nullness information does not match the nullness of the corresponding AnnotatedElement in the application.
    graphql.schema.GraphQLSchema
    Return the inspected schema with type and field definitions.
    Return types skipped during the inspection, either because the schema type is not supported, e.g.
    MultiValueMap<graphql.schema.DataFetcher<?>, String>
    Return a map with DataFetchers and the names of arguments they depend on that don't exist.
    List<graphql.schema.FieldCoordinates>
    Return the coordinates of unmapped fields.
    Map<graphql.schema.FieldCoordinates, graphql.schema.DataFetcher<?>>
    Return the coordinates for invalid DataFetcher registrations referring to fields that don't exist in the schema.
  • Method Details

    • schema

      graphql.schema.GraphQLSchema schema()
      Return the inspected schema with type and field definitions.
    • unmappedFields

      List<graphql.schema.FieldCoordinates> unmappedFields()
      Return the coordinates of unmapped fields. Such fields have neither a DataFetcher registration, such as a @SchemaMapping method, nor a matching Java property in the return type from the parent DataFetcher.
    • unmappedRegistrations

      Map<graphql.schema.FieldCoordinates, graphql.schema.DataFetcher<?>> unmappedRegistrations()
      Return the coordinates for invalid DataFetcher registrations referring to fields that don't exist in the schema.
    • unmappedArguments

      MultiValueMap<graphql.schema.DataFetcher<?>, String> unmappedArguments()
      Return a map with DataFetchers and the names of arguments they depend on that don't exist.
      Since:
      1.3.0
    • fieldsNullnessMismatches

      Map<graphql.schema.FieldCoordinates, SchemaReport.NullnessMismatch> fieldsNullnessMismatches()
      Return the coordinates for mismatches when a schema field type nullness information does not match the nullness of the corresponding AnnotatedElement in the application.
    • argumentsNullnessMismatches

      MultiValueMap<graphql.schema.DataFetcher<?>, SchemaReport.NullnessMismatch> argumentsNullnessMismatches()
      Return a map with DataFetchers and information for its arguments if the schema nullness does not match the nullness of the corresponding AnnotatedElement in the application.
    • skippedTypes

      Return types skipped during the inspection, either because the schema type is not supported, e.g. union, or because there is insufficient Java type information, e.g. controller method that returns Object or wrapper type (collection, reactive, asynchronous) with wildcard generics.
    • dataFetcher

      @Nullable graphql.schema.DataFetcher<?> dataFetcher(graphql.schema.FieldCoordinates coordinates)
      Return the DataFetcher for the given field coordinates, if registered.
      Parameters:
      coordinates - the field coordinates