Package graphql.schema.idl
Class SchemaGeneratorDirectiveHelper
- java.lang.Object
-
- graphql.schema.idl.SchemaGeneratorDirectiveHelper
-
public class SchemaGeneratorDirectiveHelper extends java.lang.Object
This contains the helper code that allowsSchemaDirectiveWiring
implementations to be invoked during schema generation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interface
SchemaGeneratorDirectiveHelper.EnvBuilder<T extends GraphQLDirectiveContainer>
(package private) static interface
SchemaGeneratorDirectiveHelper.EnvInvoker<T extends GraphQLDirectiveContainer>
(package private) static class
SchemaGeneratorDirectiveHelper.Parameters
-
Constructor Summary
Constructors Constructor Description SchemaGeneratorDirectiveHelper()
-
Method Summary
-
-
-
Method Detail
-
schemaDirectiveWiringIsRequired
public static <T extends GraphQLDirectiveContainer> boolean schemaDirectiveWiringIsRequired(T directiveContainer, TypeDefinitionRegistry typeRegistry, RuntimeWiring runtimeWiring)
This will return true if something in the RuntimeWiring requires aSchemaDirectiveWiring
. This is to allow a shortcut to decide that we don't need ANY SchemaDirectiveWiring post processing- Type Parameters:
T
- for two- Parameters:
directiveContainer
- the element that has directivestypeRegistry
- the type registryruntimeWiring
- the runtime wiring- Returns:
- true if something in the RuntimeWiring requires a
SchemaDirectiveWiring
-
buildAstTree
private NodeParentTree<NamedNode<?>> buildAstTree(NamedNode<?>... nodes)
-
buildRuntimeTree
private GraphqlElementParentTree buildRuntimeTree(GraphQLSchemaElement... elements)
-
wireArguments
private java.util.List<GraphQLArgument> wireArguments(GraphQLFieldDefinition fieldDefinition, GraphQLFieldsContainer fieldsContainer, NamedNode<?> fieldsContainerNode, SchemaGeneratorDirectiveHelper.Parameters params, GraphQLFieldDefinition field)
-
wireFields
private java.util.List<GraphQLFieldDefinition> wireFields(GraphQLFieldsContainer fieldsContainer, NamedNode<?> fieldsContainerNode, SchemaGeneratorDirectiveHelper.Parameters params)
-
onObject
public GraphQLObjectType onObject(GraphQLObjectType objectType, SchemaGeneratorDirectiveHelper.Parameters params)
-
onInterface
public GraphQLInterfaceType onInterface(GraphQLInterfaceType interfaceType, SchemaGeneratorDirectiveHelper.Parameters params)
-
onEnum
public GraphQLEnumType onEnum(GraphQLEnumType enumType, SchemaGeneratorDirectiveHelper.Parameters params)
-
onInputObjectType
public GraphQLInputObjectType onInputObjectType(GraphQLInputObjectType inputObjectType, SchemaGeneratorDirectiveHelper.Parameters params)
-
onUnion
public GraphQLUnionType onUnion(GraphQLUnionType element, SchemaGeneratorDirectiveHelper.Parameters params)
-
onScalar
public GraphQLScalarType onScalar(GraphQLScalarType element, SchemaGeneratorDirectiveHelper.Parameters params)
-
onField
private GraphQLFieldDefinition onField(GraphQLFieldDefinition fieldDefinition, SchemaGeneratorDirectiveHelper.Parameters params)
-
onInputObjectField
private GraphQLInputObjectField onInputObjectField(GraphQLInputObjectField element, SchemaGeneratorDirectiveHelper.Parameters params)
-
onEnumValue
private GraphQLEnumValueDefinition onEnumValue(GraphQLEnumValueDefinition enumValueDefinition, SchemaGeneratorDirectiveHelper.Parameters params)
-
onArgument
private GraphQLArgument onArgument(GraphQLArgument argument, SchemaGeneratorDirectiveHelper.Parameters params)
-
wireDirectives
private <T extends GraphQLDirectiveContainer> T wireDirectives(SchemaGeneratorDirectiveHelper.Parameters parameters, T element, java.util.List<GraphQLDirective> allDirectives, java.util.List<GraphQLAppliedDirective> allAppliedDirectives, SchemaGeneratorDirectiveHelper.EnvBuilder<T> envBuilder, SchemaGeneratorDirectiveHelper.EnvInvoker<T> invoker)
-
invokeWiring
private <T extends GraphQLDirectiveContainer> T invokeWiring(T element, SchemaGeneratorDirectiveHelper.EnvInvoker<T> invoker, SchemaDirectiveWiring schemaDirectiveWiring, SchemaDirectiveWiringEnvironment<T> env)
-
isNotTheSameObjects
private <T> boolean isNotTheSameObjects(java.util.List<T> starting, java.util.List<T> ending)
-
-