Package graphql.schema
Class GraphQLObjectType
java.lang.Object
graphql.schema.GraphQLObjectType
- All Implemented Interfaces:
GraphQLCompositeType,GraphQLDirectiveContainer,GraphQLFieldsContainer,GraphQLImplementingType,GraphQLNamedOutputType,GraphQLNamedSchemaElement,GraphQLNamedType,GraphQLNullableType,GraphQLOutputType,GraphQLSchemaElement,GraphQLType,GraphQLUnmodifiedType
@PublicApi
public class GraphQLObjectType
extends Object
implements GraphQLNamedOutputType, GraphQLCompositeType, GraphQLUnmodifiedType, GraphQLNullableType, GraphQLDirectiveContainer, GraphQLImplementingType
This is the work horse type and represents an object with one or more field values that can be retrieved
by the graphql system.
Those fields can themselves by object types and so on until you reach the leaf nodes of the type tree represented
by GraphQLScalarTypes.
See https://graphql.org/learn/schema/#object-types-and-fields for more details on the concept.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from interface graphql.schema.GraphQLDirectiveContainer
CHILD_APPLIED_DIRECTIVES, CHILD_DIRECTIVES -
Method Summary
Modifier and TypeMethodDescriptionaccept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor) copy()Each GraphQLSchemaElement should make a copy of itself when this is called.final booleanNo GraphQLSchemaElement implements `equals` because we need object identity to treat a GraphQLSchema as an abstract graph.This will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement, including both repeatable and non-repeatable directives.This will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement, including both repeatable and non repeatable directives.getAppliedDirective(String directiveName) Returns a non-repeatable directive with the provided name.This will return a list of all the directives that have been put onGraphQLNamedSchemaElementas a flat list, which may contain repeatable and non-repeatable directives.The ASTNodethis schema element is based on.getDirective(String directiveName) Returns a non-repeatable directive with the provided name.This will return a list of all the directives that have been put onGraphQLNamedSchemaElementas a flat list, which may contain repeatable and non-repeatable directives.This will return a Map of the non repeatable directives that are associated with aGraphQLNamedSchemaElement.getFieldDefinition(String name) getName()final inthashCode()No GraphQLSchemaElement implements `equals/hashCode` because we need object identity to treat a GraphQLSchema as an abstract graph.static GraphQLObjectType.Builderstatic GraphQLObjectType.BuildernewObject(GraphQLObjectType existing) toString()transform(Consumer<GraphQLObjectType.Builder> builderConsumer) This helps you transform the current GraphQLObjectType into another one by starting a builder with all the current values and allows you to transform it how you want.withNewChildren(SchemaElementChildrenContainer newChildren) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface graphql.schema.GraphQLDirectiveContainer
getAppliedDirectives, getDirectives, hasAppliedDirective, hasDirectiveMethods inherited from interface graphql.schema.GraphQLFieldsContainer
getField, getFields
-
Field Details
-
CHILD_INTERFACES
- See Also:
-
CHILD_FIELD_DEFINITIONS
- See Also:
-
-
Method Details
-
getDirectives
Description copied from interface:GraphQLDirectiveContainerThis will return a list of all the directives that have been put onGraphQLNamedSchemaElementas a flat list, which may contain repeatable and non-repeatable directives.- Specified by:
getDirectivesin interfaceGraphQLDirectiveContainer- Returns:
- a list of all the directives associated with this named schema element
-
getDirectivesByName
Description copied from interface:GraphQLDirectiveContainerThis will return a Map of the non repeatable directives that are associated with aGraphQLNamedSchemaElement. Any repeatable directives will be filtered out of this map.- Specified by:
getDirectivesByNamein interfaceGraphQLDirectiveContainer- Returns:
- a map of non repeatable directives by directive name.
-
getAllDirectivesByName
Description copied from interface:GraphQLDirectiveContainerThis will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement, including both repeatable and non repeatable directives.- Specified by:
getAllDirectivesByNamein interfaceGraphQLDirectiveContainer- Returns:
- a map of all directives by directive name
-
getDirective
Description copied from interface:GraphQLDirectiveContainerReturns a non-repeatable directive with the provided name. This will throw aAssertExceptionif the directive is a repeatable directive that has more then one instance.- Specified by:
getDirectivein interfaceGraphQLDirectiveContainer- Parameters:
directiveName- the name of the directive to retrieve- Returns:
- the directive or null if there is not one with that name
-
getAppliedDirectives
Description copied from interface:GraphQLDirectiveContainerThis will return a list of all the directives that have been put onGraphQLNamedSchemaElementas a flat list, which may contain repeatable and non-repeatable directives.- Specified by:
getAppliedDirectivesin interfaceGraphQLDirectiveContainer- Returns:
- a list of all the directives associated with this named schema element
-
getAllAppliedDirectivesByName
Description copied from interface:GraphQLDirectiveContainerThis will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement, including both repeatable and non-repeatable directives.- Specified by:
getAllAppliedDirectivesByNamein interfaceGraphQLDirectiveContainer- Returns:
- a map of all directives by directive name
-
getAppliedDirective
Description copied from interface:GraphQLDirectiveContainerReturns a non-repeatable directive with the provided name.- Specified by:
getAppliedDirectivein interfaceGraphQLDirectiveContainer- Parameters:
directiveName- the name of the directive to retrieve- Returns:
- the directive or null if there is not one with that name
-
getFieldDefinition
- Specified by:
getFieldDefinitionin interfaceGraphQLFieldsContainer
-
getFieldDefinitions
- Specified by:
getFieldDefinitionsin interfaceGraphQLFieldsContainer
-
getInterfaces
- Specified by:
getInterfacesin interfaceGraphQLImplementingType- Returns:
- This returns GraphQLInterface or GraphQLTypeReference instances, if the type references are not resolved yet. After they are resolved it contains only GraphQLInterface. Reference resolving happens when a full schema is built.
-
getDescription
- Specified by:
getDescriptionin interfaceGraphQLNamedSchemaElement- Returns:
- the description of this element. This can be null
-
getName
- Specified by:
getNamein interfaceGraphQLNamedSchemaElement- Returns:
- the name of this element. This cant be null
-
getDefinition
Description copied from interface:GraphQLNamedSchemaElementThe ASTNodethis schema element is based on. Is null if the GraphQLSchema is not based on a SDL document. Some elements also have additional extension Nodes. See for examplegetExtensionDefinitions()- Specified by:
getDefinitionin interfaceGraphQLNamedSchemaElement- Returns:
- Node which this element is based on. Can be null.
-
getExtensionDefinitions
-
toString
-
transform
This helps you transform the current GraphQLObjectType into another one by starting a builder with all the current values and allows you to transform it how you want.- Parameters:
builderConsumer- the consumer code that will be given a builder to transform- Returns:
- a new object based on calling build on that builder
-
copy
Description copied from interface:GraphQLSchemaElementEach GraphQLSchemaElement should make a copy of itself when this is called. The copy should be included its current contents as they currently exist into a new object.- Specified by:
copyin interfaceGraphQLSchemaElement- Returns:
- a copy of this element
-
accept
public TraversalControl accept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor) - Specified by:
acceptin interfaceGraphQLSchemaElement
-
getChildren
- Specified by:
getChildrenin interfaceGraphQLSchemaElement
-
getChildrenWithTypeReferences
- Specified by:
getChildrenWithTypeReferencesin interfaceGraphQLSchemaElement
-
withNewChildren
- Specified by:
withNewChildrenin interfaceGraphQLSchemaElement
-
equals
No GraphQLSchemaElement implements `equals` because we need object identity to treat a GraphQLSchema as an abstract graph.- Specified by:
equalsin interfaceGraphQLSchemaElement- Overrides:
equalsin classObject- Parameters:
o- the reference object with which to compare.- Returns:
trueif this object is the same as the obj argument;falseotherwise.
-
hashCode
public final int hashCode()No GraphQLSchemaElement implements `equals/hashCode` because we need object identity to treat a GraphQLSchema as an abstract graph.- Specified by:
hashCodein interfaceGraphQLSchemaElement- Overrides:
hashCodein classObject- Returns:
- a hash code value for this object.
-
newObject
-
newObject
-