Package graphql.schema.idl
Class SchemaGeneratorHelper
java.lang.Object
graphql.schema.idl.SchemaGeneratorHelper
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
We pass this around so we know what we have defined in a stack like manner plus it gives us helper functions -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
addDirectivesIncludedByDefault
(TypeDefinitionRegistry typeRegistry) (package private) Set
<GraphQLDirective> (package private) Set
<GraphQLType> We build the query / mutation / subscription path as a tree of referenced types but then we build the rest of the types specified and put them in as additional types(package private) GraphQLArgument
buildArgument
(SchemaGeneratorHelper.BuildContext buildCtx, InputValueDefinition valueDefinition) private DataFetcherFactory
<?> buildDataFetcherFactory
(SchemaGeneratorHelper.BuildContext buildCtx, TypeDefinition<?> parentType, FieldDefinition fieldDef, GraphQLOutputType fieldType, List<GraphQLDirective> directives, List<GraphQLAppliedDirective> appliedDirectives) (package private) String
buildDeprecationReason
(List<Directive> directives) (package private) static String
buildDescription
(SchemaGeneratorHelper.BuildContext buildContext, Node<?> node, Description description) (package private) GraphQLEnumType
buildEnumType
(SchemaGeneratorHelper.BuildContext buildCtx, EnumTypeDefinition typeDefinition) private GraphQLEnumValueDefinition
buildEnumValue
(SchemaGeneratorHelper.BuildContext buildCtx, EnumTypeDefinition typeDefinition, EnumValuesProvider enumValuesProvider, EnumValueDefinition evd) (package private) GraphQLFieldDefinition
buildField
(SchemaGeneratorHelper.BuildContext buildCtx, TypeDefinition<?> parentType, FieldDefinition fieldDef) private GraphQLInputObjectField
buildInputField
(SchemaGeneratorHelper.BuildContext buildCtx, InputValueDefinition fieldDef) (package private) GraphQLInputObjectType
buildInputObjectType
(SchemaGeneratorHelper.BuildContext buildCtx, InputObjectTypeDefinition typeDefinition) (package private) GraphQLInputType
buildInputType
(SchemaGeneratorHelper.BuildContext buildCtx, Type rawType) (package private) GraphQLInterfaceType
buildInterfaceType
(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition typeDefinition) private void
buildInterfaceTypeInterfaces
(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition typeDefinition, GraphQLInterfaceType.Builder builder, List<InterfaceTypeExtensionDefinition> extensions) (package private) GraphQLObjectType
buildObjectType
(SchemaGeneratorHelper.BuildContext buildCtx, ObjectTypeDefinition typeDefinition) private void
buildObjectTypeInterfaces
(SchemaGeneratorHelper.BuildContext buildCtx, ObjectTypeDefinition typeDefinition, GraphQLObjectType.Builder builder, List<ObjectTypeExtensionDefinition> extensions) private GraphQLObjectType
buildOperation
(SchemaGeneratorHelper.BuildContext buildCtx, OperationTypeDefinition operation) (package private) void
buildOperations
(SchemaGeneratorHelper.BuildContext buildCtx, GraphQLSchema.Builder schemaBuilder) private <T extends GraphQLOutputType>
TbuildOutputType
(SchemaGeneratorHelper.BuildContext buildCtx, Type<?> rawType) This is the main recursive spot that builds out the various forms of Output types(package private) GraphQLScalarType
buildScalar
(SchemaGeneratorHelper.BuildContext buildCtx, ScalarTypeDefinition typeDefinition) (package private) void
buildSchemaDirectivesAndExtensions
(SchemaGeneratorHelper.BuildContext buildCtx, GraphQLSchema.Builder schemaBuilder) (package private) GraphQLUnionType
buildUnionType
(SchemaGeneratorHelper.BuildContext buildCtx, UnionTypeDefinition typeDefinition) private DataFetcher
<?> dataFetcherOfLastResort
(FieldWiringEnvironment environment) private <T extends GraphQLDirectiveContainer>
TdirectivesObserve
(SchemaGeneratorHelper.BuildContext buildCtx, T directiveContainer) directivesOf
(List<? extends TypeDefinition<?>> typeDefinitions) (package private) List
<EnumTypeExtensionDefinition> enumTypeExtensions
(EnumTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) Detached types (or additional types) are all types that are not connected to the root operations types.private Optional
<OperationTypeDefinition> getOperationNamed
(String name, Map<String, OperationTypeDefinition> operationTypeDefs) private String
getScalarDesc
(GraphQLScalarType scalar, ScalarTypeDefinition typeDefinition) (package private) String
getSpecifiedByUrl
(ScalarTypeDefinition scalarTypeDefinition, List<ScalarTypeExtensionDefinition> extensions) private TypeResolver
getTypeResolverForInterface
(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition interfaceType) private TypeResolver
getTypeResolverForUnion
(SchemaGeneratorHelper.BuildContext buildCtx, UnionTypeDefinition unionType) (package private) List
<InputObjectTypeExtensionDefinition> inputObjectTypeExtensions
(InputObjectTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) (package private) List
<InterfaceTypeExtensionDefinition> interfaceTypeExtensions
(InterfaceTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) (package private) List
<ObjectTypeExtensionDefinition> objectTypeExtensions
(ObjectTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) (package private) List
<ScalarTypeExtensionDefinition> scalarTypeExtensions
(ScalarTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) (package private) List
<UnionTypeExtensionDefinition> unionTypeExtensions
(UnionTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx)
-
Constructor Details
-
SchemaGeneratorHelper
public SchemaGeneratorHelper()
-
-
Method Details
-
buildDescription
static String buildDescription(SchemaGeneratorHelper.BuildContext buildContext, Node<?> node, Description description) -
buildDeprecationReason
-
inputTypeFactory
public Function<Type<?>,GraphQLInputType> inputTypeFactory(SchemaGeneratorHelper.BuildContext buildCtx) -
buildInputType
-
buildInputObjectType
GraphQLInputObjectType buildInputObjectType(SchemaGeneratorHelper.BuildContext buildCtx, InputObjectTypeDefinition typeDefinition) -
buildInputField
private GraphQLInputObjectField buildInputField(SchemaGeneratorHelper.BuildContext buildCtx, InputValueDefinition fieldDef) -
buildEnumType
GraphQLEnumType buildEnumType(SchemaGeneratorHelper.BuildContext buildCtx, EnumTypeDefinition typeDefinition) -
buildEnumValue
private GraphQLEnumValueDefinition buildEnumValue(SchemaGeneratorHelper.BuildContext buildCtx, EnumTypeDefinition typeDefinition, EnumValuesProvider enumValuesProvider, EnumValueDefinition evd) -
buildScalar
GraphQLScalarType buildScalar(SchemaGeneratorHelper.BuildContext buildCtx, ScalarTypeDefinition typeDefinition) -
getScalarDesc
-
getSpecifiedByUrl
String getSpecifiedByUrl(ScalarTypeDefinition scalarTypeDefinition, List<ScalarTypeExtensionDefinition> extensions) -
getTypeResolverForInterface
private TypeResolver getTypeResolverForInterface(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition interfaceType) -
getTypeResolverForUnion
private TypeResolver getTypeResolverForUnion(SchemaGeneratorHelper.BuildContext buildCtx, UnionTypeDefinition unionType) -
buildInterfaceTypeInterfaces
private void buildInterfaceTypeInterfaces(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition typeDefinition, GraphQLInterfaceType.Builder builder, List<InterfaceTypeExtensionDefinition> extensions) -
buildOperation
private GraphQLObjectType buildOperation(SchemaGeneratorHelper.BuildContext buildCtx, OperationTypeDefinition operation) -
buildInterfaceType
GraphQLInterfaceType buildInterfaceType(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition typeDefinition) -
buildObjectType
GraphQLObjectType buildObjectType(SchemaGeneratorHelper.BuildContext buildCtx, ObjectTypeDefinition typeDefinition) -
buildObjectTypeInterfaces
private void buildObjectTypeInterfaces(SchemaGeneratorHelper.BuildContext buildCtx, ObjectTypeDefinition typeDefinition, GraphQLObjectType.Builder builder, List<ObjectTypeExtensionDefinition> extensions) -
buildUnionType
GraphQLUnionType buildUnionType(SchemaGeneratorHelper.BuildContext buildCtx, UnionTypeDefinition typeDefinition) -
buildOutputType
private <T extends GraphQLOutputType> T buildOutputType(SchemaGeneratorHelper.BuildContext buildCtx, Type<?> rawType) This is the main recursive spot that builds out the various forms of Output types- Parameters:
buildCtx
- the context we need to work out what we are doingrawType
- the type to be built- Returns:
- an output type
-
buildField
GraphQLFieldDefinition buildField(SchemaGeneratorHelper.BuildContext buildCtx, TypeDefinition<?> parentType, FieldDefinition fieldDef) -
buildDataFetcherFactory
private DataFetcherFactory<?> buildDataFetcherFactory(SchemaGeneratorHelper.BuildContext buildCtx, TypeDefinition<?> parentType, FieldDefinition fieldDef, GraphQLOutputType fieldType, List<GraphQLDirective> directives, List<GraphQLAppliedDirective> appliedDirectives) -
buildArgument
GraphQLArgument buildArgument(SchemaGeneratorHelper.BuildContext buildCtx, InputValueDefinition valueDefinition) -
buildOperations
void buildOperations(SchemaGeneratorHelper.BuildContext buildCtx, GraphQLSchema.Builder schemaBuilder) -
buildSchemaDirectivesAndExtensions
void buildSchemaDirectivesAndExtensions(SchemaGeneratorHelper.BuildContext buildCtx, GraphQLSchema.Builder schemaBuilder) -
inputObjectTypeExtensions
List<InputObjectTypeExtensionDefinition> inputObjectTypeExtensions(InputObjectTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) -
enumTypeExtensions
List<EnumTypeExtensionDefinition> enumTypeExtensions(EnumTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) -
scalarTypeExtensions
List<ScalarTypeExtensionDefinition> scalarTypeExtensions(ScalarTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) -
interfaceTypeExtensions
List<InterfaceTypeExtensionDefinition> interfaceTypeExtensions(InterfaceTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) -
objectTypeExtensions
List<ObjectTypeExtensionDefinition> objectTypeExtensions(ObjectTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) -
unionTypeExtensions
List<UnionTypeExtensionDefinition> unionTypeExtensions(UnionTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) -
buildAdditionalTypes
We build the query / mutation / subscription path as a tree of referenced types but then we build the rest of the types specified and put them in as additional types- Parameters:
buildCtx
- the context we need to work out what we are doing- Returns:
- the additional types not referenced from the top level operations
-
getDetachedTypeNames
Detached types (or additional types) are all types that are not connected to the root operations types.- Parameters:
buildCtx
- buildCtx- Returns:
- detached type names
-
buildAdditionalDirectiveDefinitions
Set<GraphQLDirective> buildAdditionalDirectiveDefinitions(SchemaGeneratorHelper.BuildContext buildCtx) -
addDirectivesIncludedByDefault
-
getOperationNamed
private Optional<OperationTypeDefinition> getOperationNamed(String name, Map<String, OperationTypeDefinition> operationTypeDefs) -
dataFetcherOfLastResort
-
directivesOf
-
directivesObserve
private <T extends GraphQLDirectiveContainer> T directivesObserve(SchemaGeneratorHelper.BuildContext buildCtx, T directiveContainer)
-