A Schema contains:
-
a set of query operations
-
a set of mutation operations
-
a map of interface types, mapped by classname
-
a map of types, mapped by classname
-
a map of input types, mapped by classname
-
a map of enum types, mapped by classname
During scanning certain object reference other objects that might not have been scanned yet, so we always just have reference to that (potentially future) object.
A Reference contains:
-
the classname
-
the graphql name
-
the reference type
-
a classname, into which the referenced class can be converted, which is understood by graphql. Used for transformations.
Enum that indicate the type of object. Valid options are:
-
INPUT
-
TYPE
-
INTERFACE
-
ENUM
-
SCALAR
A basic entry in the schema that represent an enum. It contains:
-
all fields from Reference
-
a description
-
list of valid values
A complex entry in the schema that represents a Input. It contains:
-
all fields from Reference
-
a description
-
set of fields on the input.
A complex entry in the schema that represents a Interface. It contains:
-
all fields from Reference
-
a description
-
set of fields on the type.
-
set of interfaces that this type implements.
A complex entry in the schema that represents a Type. It contains:
-
all fields from Reference
-
a description
-
set of fields on the type.
-
set of interfaces that this interface implements.
Represents a field in a Type/Input/Interface. It contains:
-
the Java method name
-
the Java property name (typically same as method without get/set)
-
the GraphQL name
-
a optional description
-
a reference to the type
-
a notNull flag
-
an optional array, that contains information about the array
-
an optional format, that contains information about transformation
-
an optional default value
A special kind of field, that can also take arguments on the field. It’s used by Queries, Mutations and Source fields. It contains:
-
everything from Field
-
a Java Class Name (where this operation method is on)
-
a list of arguments
-
a reference to the containing type
-
an async flag, when the operation returns a
CompletionStage