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 byGraphQLScalarType
s 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 forDataFetcherFactory
A DataFetcherFactory allows a level of indirection in providingDataFetcher
s for graphql fields.Deprecated.A DataFetchingEnvironment instance of passed to aDataFetcher
as 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 theDataFetcher
was invoked.Associates aComparator
with aGraphqlTypeComparatorEnvironment
to control the scope in which theComparator
can be applied.DelegatingDataFetchingEnvironment implementsDataFetchingEnvironment
by delegating to an underlying instance.A field in graphql is uniquely located within a parent type and hence code elements likeDataFetcher
need 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
.TheGraphQLCodeRegistry
holds that execution code that is associated with graphql types, namely theDataFetcher
s associated with fields, theTypeResolver
s associated with abstract types and theGraphqlFieldVisibility
A directive can be used to modify the behavior of a graphql field or type.Represents a graphql runtime type that can haveGraphQLAppliedDirective
s.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 theDataFetcher
used 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 viaGraphQLInputObjectType
contains 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 toGraphQLOutputType
s 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 toGraphQLOutputType
s 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 toGraphQLInputType
s 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 toGraphQLInputType
s 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 registeredComparator
can be applied.A special type to allow a object/interface types to reference itself.A utility class that helps work withGraphQLType
sGraphQLTypeVisitor can be used to visit all the elements of a schema (types, fields, directives and so on) in a visitor pattern.Base implementation ofGraphQLTypeVisitor
for convenience.A union type is a polymorphic type that dynamically represents one of more concrete object types.Used by @GraphQLArgument
andGraphQLInputObjectField
to represent different value states.ALightDataFetcher
is a specialised version ofDataFetcher
that 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 aGraphQLSchema
object by calling bac on a provided visitor.ASelectedField
represents a field that occurred in a query selection set during execution and they are returned from using theDataFetchingFieldSelectionSet
interface returned viaDataFetchingEnvironment.getSelectionSet()
TheSingletonPropertyDataFetcher
is much like thePropertyDataFetcher
except that it is designed to only ever fetch properties via the name of the field passed in.ADataFetcher
that always returns the same valueThis is called during type resolution to work out what concreteGraphQLObjectType
should be used dynamically during runtime forGraphQLInterfaceType
s andGraphQLUnionType
s
GraphQLFieldDefinition