@PublicApi public class GraphQLInputObjectType extends java.lang.Object implements GraphQLNamedInputType, GraphQLUnmodifiedType, GraphQLNullableType, GraphQLInputFieldsContainer, GraphQLDirectiveContainer
See http://graphql.org/learn/schema/#input-types for more details on the concept
Modifier and Type | Class and Description |
---|---|
static class |
GraphQLInputObjectType.Builder |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CHILD_DIRECTIVES |
static java.lang.String |
CHILD_FIELD_DEFINITIONS |
Constructor and Description |
---|
GraphQLInputObjectType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLInputObjectField> fields)
Deprecated.
use the
newInputObject() builder pattern instead, as this constructor will be made private in a future version. |
GraphQLInputObjectType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLInputObjectField> fields,
java.util.List<GraphQLDirective> directives,
InputObjectTypeDefinition definition)
Deprecated.
use the
newInputObject() builder pattern instead, as this constructor will be made private in a future version. |
GraphQLInputObjectType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLInputObjectField> fields,
java.util.List<GraphQLDirective> directives,
InputObjectTypeDefinition definition,
java.util.List<InputObjectTypeExtensionDefinition> extensionDefinitions) |
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.Map<java.lang.String,java.util.List<GraphQLDirective>> |
getAllDirectivesByName()
This will return a Map of the all directives that are associated with a
GraphQLNamedSchemaElement , including both
repeatable and non repeatable directives. |
java.util.List<GraphQLSchemaElement> |
getChildren() |
SchemaElementChildrenContainer |
getChildrenWithTypeReferences() |
InputObjectTypeDefinition |
getDefinition()
The AST
Node this schema element is based on. |
java.lang.String |
getDescription() |
GraphQLDirective |
getDirective(java.lang.String directiveName)
Returns a non repeatable directive with the provided name.
|
java.util.List<GraphQLDirective> |
getDirectives()
This will return a list of all the directives that have been put on
GraphQLNamedSchemaElement as a flat list, which may contain repeatable
and non repeatable directives. |
java.util.Map<java.lang.String,GraphQLDirective> |
getDirectivesByName()
This will return a Map of the non repeatable directives that are associated with a
GraphQLNamedSchemaElement . |
java.util.List<InputObjectTypeExtensionDefinition> |
getExtensionDefinitions() |
GraphQLInputObjectField |
getField(java.lang.String name) |
GraphQLInputObjectField |
getFieldDefinition(java.lang.String name) |
java.util.List<GraphQLInputObjectField> |
getFieldDefinitions() |
java.util.List<GraphQLInputObjectField> |
getFields() |
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 GraphQLInputObjectType.Builder |
newInputObject() |
static GraphQLInputObjectType.Builder |
newInputObject(GraphQLInputObjectType existing) |
java.lang.String |
toString() |
GraphQLInputObjectType |
transform(java.util.function.Consumer<GraphQLInputObjectType.Builder> builderConsumer)
This helps you transform the current GraphQLInputObjectType into another one by starting a builder with all
the current values and allows you to transform it how you want.
|
GraphQLInputObjectType |
withNewChildren(SchemaElementChildrenContainer newChildren) |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getDirectives
public static final java.lang.String CHILD_FIELD_DEFINITIONS
public static final java.lang.String CHILD_DIRECTIVES
@Deprecated public GraphQLInputObjectType(java.lang.String name, java.lang.String description, java.util.List<GraphQLInputObjectField> fields)
newInputObject()
builder pattern instead, as this constructor will be made private in a future version.name
- the namedescription
- the descriptionfields
- the fields@Deprecated public GraphQLInputObjectType(java.lang.String name, java.lang.String description, java.util.List<GraphQLInputObjectField> fields, java.util.List<GraphQLDirective> directives, InputObjectTypeDefinition definition)
newInputObject()
builder pattern instead, as this constructor will be made private in a future version.name
- the namedescription
- the descriptionfields
- the fieldsdirectives
- the directives on this type elementdefinition
- the AST definitionpublic GraphQLInputObjectType(java.lang.String name, java.lang.String description, java.util.List<GraphQLInputObjectField> fields, java.util.List<GraphQLDirective> directives, InputObjectTypeDefinition definition, java.util.List<InputObjectTypeExtensionDefinition> extensionDefinitions)
public java.lang.String getName()
getName
in interface GraphQLNamedSchemaElement
public java.lang.String getDescription()
getDescription
in interface GraphQLNamedSchemaElement
public java.util.List<GraphQLInputObjectField> getFields()
public GraphQLInputObjectField getField(java.lang.String name)
public java.util.List<GraphQLDirective> getDirectives()
GraphQLDirectiveContainer
GraphQLNamedSchemaElement
as a flat list, which may contain repeatable
and non repeatable directives.getDirectives
in interface GraphQLDirectiveContainer
public java.util.Map<java.lang.String,GraphQLDirective> getDirectivesByName()
GraphQLDirectiveContainer
GraphQLNamedSchemaElement
. Any repeatable directives
will be filtered out of this map.getDirectivesByName
in interface GraphQLDirectiveContainer
public java.util.Map<java.lang.String,java.util.List<GraphQLDirective>> getAllDirectivesByName()
GraphQLDirectiveContainer
GraphQLNamedSchemaElement
, including both
repeatable and non repeatable directives.getAllDirectivesByName
in interface GraphQLDirectiveContainer
public GraphQLDirective getDirective(java.lang.String directiveName)
GraphQLDirectiveContainer
AssertException
if
the directive is a repeatable directive that has more then one instance.getDirective
in interface GraphQLDirectiveContainer
directiveName
- the name of the directive to retrievepublic GraphQLInputObjectField getFieldDefinition(java.lang.String name)
getFieldDefinition
in interface GraphQLInputFieldsContainer
public java.util.List<GraphQLInputObjectField> getFieldDefinitions()
getFieldDefinitions
in interface GraphQLInputFieldsContainer
public InputObjectTypeDefinition getDefinition()
GraphQLNamedSchemaElement
Node
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 GraphQLObjectType.getExtensionDefinitions()
getDefinition
in interface GraphQLNamedSchemaElement
public java.util.List<InputObjectTypeExtensionDefinition> getExtensionDefinitions()
public GraphQLInputObjectType transform(java.util.function.Consumer<GraphQLInputObjectType.Builder> builderConsumer)
builderConsumer
- the consumer code that will be given a builder to transformpublic TraversalControl accept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor)
accept
in interface GraphQLSchemaElement
public java.util.List<GraphQLSchemaElement> getChildren()
getChildren
in interface GraphQLSchemaElement
public SchemaElementChildrenContainer getChildrenWithTypeReferences()
getChildrenWithTypeReferences
in interface GraphQLSchemaElement
public GraphQLInputObjectType withNewChildren(SchemaElementChildrenContainer newChildren)
withNewChildren
in interface GraphQLSchemaElement
public final boolean equals(java.lang.Object o)
equals
in interface GraphQLSchemaElement
equals
in class java.lang.Object
o
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.public final int hashCode()
hashCode
in interface GraphQLSchemaElement
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public static GraphQLInputObjectType.Builder newInputObject(GraphQLInputObjectType existing)
public static GraphQLInputObjectType.Builder newInputObject()