Package graphql.schema
package graphql.schema
-
ClassDescriptionA modifier type that indicates the underlying data fetcher is run asynchronouslyThis ensure that all fields have data fetchers and that unions and interfaces have type resolversCoercing<I,
O> The Coercing interface is used byGraphQLScalarTypes to parse and serialize object values.DataFetcher<T>A data fetcher is responsible for returning a data value back for a given graphql field.A helper forDataFetcherFactoryA DataFetcherFactory allows a level of indirection in providingDataFetchers for graphql fields.Deprecated.A DataFetchingEnvironment instance of passed to aDataFetcheras a execution context and its the place where you can find out information to help you resolve a data value given a graphql field inputThis class allows you to retrieve the selection set of fields that have been asked for when theDataFetcherwas invoked.Associates aComparatorwith aGraphqlTypeComparatorEnvironmentto control the scope in which theComparatorcan be applied.DelegatingDataFetchingEnvironment implementsDataFetchingEnvironmentby delegating to an underlying instance.A field in graphql is uniquely located within a parent type and hence code elements likeDataFetcherneed to be specified using those coordinates.An applied directive represents the instance of a directive that is applied to a schema element, as opposed to it definitionThis represents the argument values that can be placed on anGraphQLAppliedDirective.This defines an argument that can be supplied to a graphql field (viaGraphQLFieldDefinition.TheGraphQLCodeRegistryholds that execution code that is associated with graphql types, namely theDataFetchers associated with fields, theTypeResolvers associated with abstract types and theGraphqlFieldVisibilityA directive can be used to modify the behavior of a graphql field or type.Represents a graphql runtime type that can haveGraphQLAppliedDirectives.GraphqlDirectivesContainerTypeBuilder<B extends GraphqlDirectivesContainerTypeBuilder<B,BASE>, BASE extends GraphqlTypeBuilder<BASE>> This represents a hierarchy an graphql runtime element upwards to its associated parent elements.A graphql enumeration type has a limited set of values.A graphql enumeration type has a limited set of values and this defines one of those unique valuesFields are the ways you get data values in graphql and a field definition represents a field, its type, the arguments it takes and theDataFetcherused to get data values for that field.Types that can contain output fields are marked with this interfaceA GraphQLType which can implement interfacesTypes that can contain input fields are marked with this interfaceInput objects defined viaGraphQLInputObjectTypecontains these input fields.graphql clearly delineates between the types of objects that represent the output of a query and input objects that can be fed into a graphql mutation.A schema element that is concerned with input.Input types represent those set of types that are allowed to be accepted as graphql mutation input, as opposed toGraphQLOutputTypes which can only be used as graphql response output.Named schema elements that contain input type information.In graphql, an interface is an abstract type that defines the set of fields that a type must include to implement that interface.A modified type that indicates there is a list of the underlying wrapped type, eg a list of strings or a list of booleans.A modified type wraps another graphql type and modifies it behaviorInput types represent those set of types that are allowed to be accepted as graphql mutation input, as opposed toGraphQLOutputTypes which can only be used as graphql response output.Output types represent those set of types that are allowed to be sent back as a graphql response, as opposed toGraphQLInputTypes which can only be used as graphql mutation input.A Schema element which has a name and also a description and AST Node which it is based on.A GraphQLType which is also a named element, which means it has a getName() method.A modified type that indicates there the underlying wrapped type will not be null.This is the work horse type and represents an object with one or more field values that can be retrieved by the graphql system.Output types represent those set of types that are allowed to be sent back as a graphql response, as opposed toGraphQLInputTypes which can only be used as graphql mutation input.A scalar type is a leaf node in the graphql tree of types.The schema represents the combined type system of the graphql engine.A GraphQLSchema can be viewed as a graph of GraphQLSchemaElement.A type inside the GraphQLSchema.GraphqlTypeBuilder<B extends GraphqlTypeBuilder<B>>Defines the scope to control where the registeredComparatorcan be applied.A special type to allow a object/interface types to reference itself.A utility class that helps work withGraphQLTypesGraphQLTypeVisitor can be used to visit all the elements of a schema (types, fields, directives and so on) in a visitor pattern.Base implementation ofGraphQLTypeVisitorfor convenience.A union type is a polymorphic type that dynamically represents one of more concrete object types.Used by @GraphQLArgumentandGraphQLInputObjectFieldto represent different value states.ALightDataFetcheris a specialised version ofDataFetcherthat is passed more lightweight arguments when it is asked to fetch values.This is the default data fetcher used in graphql-java, and it will examine maps, records and POJO java beans for values that match the desired name, typically the field name, or it will use a provided function to obtain values.This class is the guts of a property data fetcher and also used in AST code to turn in memory java objects into AST elementsA re-usable class that can fetch from POJOsTransforms aGraphQLSchemaobject by calling bac on a provided visitor.ASelectedFieldrepresents a field that occurred in a query selection set during execution and they are returned from using theDataFetchingFieldSelectionSetinterface returned viaDataFetchingEnvironment.getSelectionSet()TheSingletonPropertyDataFetcheris much like thePropertyDataFetcherexcept that it is designed to only ever fetch properties via the name of the field passed in.ADataFetcherthat always returns the same valueThis is called during type resolution to work out what concreteGraphQLObjectTypeshould be used dynamically during runtime forGraphQLInterfaceTypes andGraphQLUnionTypes
GraphQLFieldDefinition