Class SchemaGeneratorHelper
java.lang.Object
graphql.schema.idl.SchemaGeneratorHelper
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classWe 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) voidaddDirectivesIncludedByDefault(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) GraphQLArgumentbuildArgument(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) StringbuildDeprecationReason(List<Directive> directives) (package private) static StringbuildDescription(SchemaGeneratorHelper.BuildContext buildContext, Node<?> node, Description description) (package private) GraphQLEnumTypebuildEnumType(SchemaGeneratorHelper.BuildContext buildCtx, EnumTypeDefinition typeDefinition) private GraphQLEnumValueDefinitionbuildEnumValue(SchemaGeneratorHelper.BuildContext buildCtx, EnumTypeDefinition typeDefinition, EnumValuesProvider enumValuesProvider, EnumValueDefinition evd) (package private) GraphQLFieldDefinitionbuildField(SchemaGeneratorHelper.BuildContext buildCtx, TypeDefinition<?> parentType, FieldDefinition fieldDef) private GraphQLInputObjectFieldbuildInputField(SchemaGeneratorHelper.BuildContext buildCtx, InputValueDefinition fieldDef) (package private) GraphQLInputObjectTypebuildInputObjectType(SchemaGeneratorHelper.BuildContext buildCtx, InputObjectTypeDefinition typeDefinition) (package private) GraphQLInputTypebuildInputType(SchemaGeneratorHelper.BuildContext buildCtx, Type rawType) (package private) GraphQLInterfaceTypebuildInterfaceType(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition typeDefinition) private voidbuildInterfaceTypeInterfaces(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition typeDefinition, GraphQLInterfaceType.Builder builder, List<InterfaceTypeExtensionDefinition> extensions) (package private) GraphQLObjectTypebuildObjectType(SchemaGeneratorHelper.BuildContext buildCtx, ObjectTypeDefinition typeDefinition) private voidbuildObjectTypeInterfaces(SchemaGeneratorHelper.BuildContext buildCtx, ObjectTypeDefinition typeDefinition, GraphQLObjectType.Builder builder, List<ObjectTypeExtensionDefinition> extensions) private GraphQLObjectTypebuildOperation(SchemaGeneratorHelper.BuildContext buildCtx, OperationTypeDefinition operation) (package private) voidbuildOperations(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) GraphQLScalarTypebuildScalar(SchemaGeneratorHelper.BuildContext buildCtx, ScalarTypeDefinition typeDefinition) (package private) voidbuildSchemaDirectivesAndExtensions(SchemaGeneratorHelper.BuildContext buildCtx, GraphQLSchema.Builder schemaBuilder) (package private) GraphQLUnionTypebuildUnionType(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 StringgetScalarDesc(GraphQLScalarType scalar, ScalarTypeDefinition typeDefinition) (package private) StringgetSpecifiedByUrl(ScalarTypeDefinition scalarTypeDefinition, List<ScalarTypeExtensionDefinition> extensions) private TypeResolvergetTypeResolverForInterface(SchemaGeneratorHelper.BuildContext buildCtx, InterfaceTypeDefinition interfaceType) private TypeResolvergetTypeResolverForUnion(SchemaGeneratorHelper.BuildContext buildCtx, UnionTypeDefinition unionType) (package private) List<InputObjectTypeExtensionDefinition> inputObjectTypeExtensions(InputObjectTypeDefinition typeDefinition, SchemaGeneratorHelper.BuildContext buildCtx) Function<Type<?>, GraphQLInputType> (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)
-