@PublicApi public class GraphQLObjectType extends java.lang.Object implements GraphQLNamedOutputType, GraphQLCompositeType, GraphQLUnmodifiedType, GraphQLNullableType, GraphQLDirectiveContainer, GraphQLImplementingType
GraphQLScalarTypes.
See http://graphql.org/learn/schema/#object-types-and-fields for more details on the concept.| Modifier and Type | Class and Description |
|---|---|
static class |
GraphQLObjectType.Builder |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CHILD_DIRECTIVES |
static java.lang.String |
CHILD_FIELD_DEFINITIONS |
static java.lang.String |
CHILD_INTERFACES |
| Constructor and Description |
|---|
GraphQLObjectType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLFieldDefinition> fieldDefinitions,
java.util.List<GraphQLNamedOutputType> interfaces)
Deprecated.
use the
newObject() builder pattern instead, as this constructor will be made private in a future version. |
GraphQLObjectType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLFieldDefinition> fieldDefinitions,
java.util.List<GraphQLNamedOutputType> interfaces,
java.util.List<GraphQLDirective> directives,
ObjectTypeDefinition definition)
Deprecated.
use the
newObject() builder pattern instead, as this constructor will be made private in a future version. |
| Modifier and Type | Method and Description |
|---|---|
TraversalControl |
accept(TraverserContext<GraphQLSchemaElement> context,
GraphQLTypeVisitor visitor) |
boolean |
equals(java.lang.Object o)
No GraphQLSchemaElement implements `equals` because we need object identity
to treat a GraphQLSchema as an abstract graph.
|
java.util.List<GraphQLSchemaElement> |
getChildren() |
SchemaElementChildrenContainer |
getChildrenWithTypeReferences() |
ObjectTypeDefinition |
getDefinition()
The AST
Node this schema element is based on. |
java.lang.String |
getDescription() |
java.util.List<GraphQLDirective> |
getDirectives() |
java.util.List<ObjectTypeExtensionDefinition> |
getExtensionDefinitions() |
GraphQLFieldDefinition |
getFieldDefinition(java.lang.String name) |
java.util.List<GraphQLFieldDefinition> |
getFieldDefinitions() |
java.util.List<GraphQLNamedOutputType> |
getInterfaces() |
java.lang.String |
getName() |
int |
hashCode()
No GraphQLSchemaElement implements `equals/hashCode` because we need object identity
to treat a GraphQLSchema as an abstract graph.
|
static GraphQLObjectType.Builder |
newObject() |
static GraphQLObjectType.Builder |
newObject(GraphQLObjectType existing) |
java.lang.String |
toString() |
GraphQLObjectType |
transform(java.util.function.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.
|
GraphQLSchemaElement |
withNewChildren(SchemaElementChildrenContainer newChildren) |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetDirective, getDirectivesByNamepublic static final java.lang.String CHILD_INTERFACES
public static final java.lang.String CHILD_DIRECTIVES
public static final java.lang.String CHILD_FIELD_DEFINITIONS
@Deprecated
public GraphQLObjectType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLFieldDefinition> fieldDefinitions,
java.util.List<GraphQLNamedOutputType> interfaces)
newObject() builder pattern instead, as this constructor will be made private in a future version.name - the namedescription - the descriptionfieldDefinitions - the fieldsinterfaces - the possible interfaces@Deprecated
public GraphQLObjectType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLFieldDefinition> fieldDefinitions,
java.util.List<GraphQLNamedOutputType> interfaces,
java.util.List<GraphQLDirective> directives,
ObjectTypeDefinition definition)
newObject() builder pattern instead, as this constructor will be made private in a future version.name - the namedescription - the descriptionfieldDefinitions - the fieldsinterfaces - the possible interfacesdirectives - the directives on this type elementdefinition - the AST definitionpublic java.util.List<GraphQLDirective> getDirectives()
getDirectives in interface GraphQLDirectiveContainerpublic GraphQLFieldDefinition getFieldDefinition(java.lang.String name)
getFieldDefinition in interface GraphQLFieldsContainerpublic java.util.List<GraphQLFieldDefinition> getFieldDefinitions()
getFieldDefinitions in interface GraphQLFieldsContainerpublic java.util.List<GraphQLNamedOutputType> getInterfaces()
getInterfaces in interface GraphQLImplementingTypepublic java.lang.String getDescription()
getDescription in interface GraphQLNamedSchemaElementpublic java.lang.String getName()
getName in interface GraphQLNamedSchemaElementpublic ObjectTypeDefinition getDefinition()
GraphQLNamedSchemaElementNode this 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 example getExtensionDefinitions()getDefinition in interface GraphQLNamedSchemaElementpublic java.util.List<ObjectTypeExtensionDefinition> getExtensionDefinitions()
public java.lang.String toString()
toString in class java.lang.Objectpublic GraphQLObjectType transform(java.util.function.Consumer<GraphQLObjectType.Builder> builderConsumer)
builderConsumer - the consumer code that will be given a builder to transformpublic TraversalControl accept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor)
accept in interface GraphQLSchemaElementpublic java.util.List<GraphQLSchemaElement> getChildren()
getChildren in interface GraphQLSchemaElementpublic SchemaElementChildrenContainer getChildrenWithTypeReferences()
getChildrenWithTypeReferences in interface GraphQLSchemaElementpublic GraphQLSchemaElement withNewChildren(SchemaElementChildrenContainer newChildren)
withNewChildren in interface GraphQLSchemaElementpublic final boolean equals(java.lang.Object o)
equals in interface GraphQLSchemaElementequals in class java.lang.Objectpublic final int hashCode()
hashCode in interface GraphQLSchemaElementhashCode in class java.lang.Objectpublic static GraphQLObjectType.Builder newObject()
public static GraphQLObjectType.Builder newObject(GraphQLObjectType existing)