Package graphql.schema.validation
Class TypeAndFieldRule
java.lang.Object
graphql.schema.GraphQLTypeVisitorStub
graphql.schema.validation.TypeAndFieldRule
- All Implemented Interfaces:
GraphQLTypeVisitor
The validation about GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, GraphQLScalarType.
- Types must define one or more fields;
- Enum type must define one or more enum values;
- Union type must include one or more unique member types;
- The member types of a Union type must all be Object base types;
- Non‐Null type must not wrap another Non‐Null type;
- Invalid name begin with "__" (two underscores).
details in https://spec.graphql.org/June2018/#sec-Type-System
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
assertArgumentName
(String typeName, String fieldName, String argumentName, SchemaValidationErrorCollector errorCollector) private void
assertEnumValueDefinitionName
(String typeName, String enumValueDefinitionName, SchemaValidationErrorCollector errorCollector) private void
assertFieldName
(String typeName, String fieldName, SchemaValidationErrorCollector errorCollector) private void
assertNonNullType
(GraphQLType type, SchemaValidationErrorCollector errorCollector) private List
<GraphQLNamedType> filterBuiltInTypes
(List<GraphQLNamedType> graphQLNamedTypes) private void
validateContainsField
(GraphQLFieldsContainer type, SchemaValidationErrorCollector errorCollector) private void
validateEnum
(GraphQLEnumType type, SchemaValidationErrorCollector errorCollector) private void
validateFieldDefinition
(String typeName, GraphQLFieldDefinition fieldDefinition, SchemaValidationErrorCollector errorCollector) private void
validateFieldDefinitionArgument
(String typeName, String fieldName, GraphQLArgument argument, SchemaValidationErrorCollector errorCollector) private void
validateInputFieldDefinition
(String typeName, GraphQLInputObjectField inputObjectField, SchemaValidationErrorCollector errorCollector) private void
validateInputObject
(GraphQLInputObjectType type, SchemaValidationErrorCollector errorCollector) private void
validateUnion
(GraphQLUnionType type, SchemaValidationErrorCollector errorCollector) visitGraphQLEnumType
(GraphQLEnumType type, TraverserContext<GraphQLSchemaElement> context) visitGraphQLInputObjectType
(GraphQLInputObjectType type, TraverserContext<GraphQLSchemaElement> context) visitGraphQLInterfaceType
(GraphQLInterfaceType type, TraverserContext<GraphQLSchemaElement> context) visitGraphQLObjectType
(GraphQLObjectType type, TraverserContext<GraphQLSchemaElement> context) visitGraphQLUnionType
(GraphQLUnionType type, TraverserContext<GraphQLSchemaElement> context) Methods inherited from class graphql.schema.GraphQLTypeVisitorStub
visitGraphQLAppliedDirective, visitGraphQLAppliedDirectiveArgument, visitGraphQLArgument, visitGraphQLDirective, visitGraphQLEnumValueDefinition, visitGraphQLFieldDefinition, visitGraphQLInputObjectField, visitGraphQLList, visitGraphQLNonNull, visitGraphQLScalarType, visitGraphQLType, visitGraphQLTypeReference
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface graphql.schema.GraphQLTypeVisitor
changeNode, deleteNode, insertAfter, insertBefore, visitBackRef, visitGraphQLCompositeType, visitGraphQLDirectiveContainer, visitGraphQLFieldsContainer, visitGraphQLInputFieldsContainer, visitGraphQLInputType, visitGraphQLModifiedType, visitGraphQLNullableType, visitGraphQLOutputType, visitGraphQLUnmodifiedType
-
Constructor Details
-
TypeAndFieldRule
public TypeAndFieldRule()
-
-
Method Details
-
visitGraphQLInterfaceType
public TraversalControl visitGraphQLInterfaceType(GraphQLInterfaceType type, TraverserContext<GraphQLSchemaElement> context) - Specified by:
visitGraphQLInterfaceType
in interfaceGraphQLTypeVisitor
- Overrides:
visitGraphQLInterfaceType
in classGraphQLTypeVisitorStub
-
visitGraphQLObjectType
public TraversalControl visitGraphQLObjectType(GraphQLObjectType type, TraverserContext<GraphQLSchemaElement> context) - Specified by:
visitGraphQLObjectType
in interfaceGraphQLTypeVisitor
- Overrides:
visitGraphQLObjectType
in classGraphQLTypeVisitorStub
-
visitGraphQLUnionType
public TraversalControl visitGraphQLUnionType(GraphQLUnionType type, TraverserContext<GraphQLSchemaElement> context) - Specified by:
visitGraphQLUnionType
in interfaceGraphQLTypeVisitor
- Overrides:
visitGraphQLUnionType
in classGraphQLTypeVisitorStub
-
visitGraphQLEnumType
public TraversalControl visitGraphQLEnumType(GraphQLEnumType type, TraverserContext<GraphQLSchemaElement> context) - Specified by:
visitGraphQLEnumType
in interfaceGraphQLTypeVisitor
- Overrides:
visitGraphQLEnumType
in classGraphQLTypeVisitorStub
-
visitGraphQLInputObjectType
public TraversalControl visitGraphQLInputObjectType(GraphQLInputObjectType type, TraverserContext<GraphQLSchemaElement> context) - Specified by:
visitGraphQLInputObjectType
in interfaceGraphQLTypeVisitor
- Overrides:
visitGraphQLInputObjectType
in classGraphQLTypeVisitorStub
-
validateContainsField
private void validateContainsField(GraphQLFieldsContainer type, SchemaValidationErrorCollector errorCollector) -
validateInputObject
private void validateInputObject(GraphQLInputObjectType type, SchemaValidationErrorCollector errorCollector) -
validateUnion
-
validateEnum
-
validateFieldDefinition
private void validateFieldDefinition(String typeName, GraphQLFieldDefinition fieldDefinition, SchemaValidationErrorCollector errorCollector) -
validateInputFieldDefinition
private void validateInputFieldDefinition(String typeName, GraphQLInputObjectField inputObjectField, SchemaValidationErrorCollector errorCollector) -
validateFieldDefinitionArgument
private void validateFieldDefinitionArgument(String typeName, String fieldName, GraphQLArgument argument, SchemaValidationErrorCollector errorCollector) -
assertArgumentName
private void assertArgumentName(String typeName, String fieldName, String argumentName, SchemaValidationErrorCollector errorCollector) -
assertEnumValueDefinitionName
private void assertEnumValueDefinitionName(String typeName, String enumValueDefinitionName, SchemaValidationErrorCollector errorCollector) -
assertNonNullType
-
filterBuiltInTypes
-
assertFieldName
private void assertFieldName(String typeName, String fieldName, SchemaValidationErrorCollector errorCollector)
-