@PublicApi public class GraphQLInputObjectField extends java.lang.Object implements GraphQLNamedSchemaElement, GraphQLInputValueDefinition
GraphQLInputObjectType contains these input fields.
There are similar to GraphQLFieldDefinition however they can ONLY be used on input objects, that
is to describe values that are fed into a graphql mutation.
See http://graphql.org/learn/schema/#input-types for more details on the concept.| Modifier and Type | Class and Description |
|---|---|
static class |
GraphQLInputObjectField.Builder |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CHILD_DIRECTIVES |
static java.lang.String |
CHILD_TYPE |
| Modifier and Type | Method and Description |
|---|---|
TraversalControl |
accept(TraverserContext<GraphQLSchemaElement> context,
GraphQLTypeVisitor visitor) |
GraphQLSchemaElement |
copy()
Each GraphQLSchemaElement should make a copy of itself when this is called.
|
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() |
InputValueDefinition |
getDefinition()
The AST
Node this schema element is based on. |
java.lang.String |
getDeprecationReason() |
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. |
@NotNull InputValueWithState |
getInputFieldDefaultValue()
The default value of this input field.
|
static <T> T |
getInputFieldDefaultValue(GraphQLInputObjectField inputObjectField)
This static helper method will give out a java value based on the semantics captured
in the
InputValueWithState from getInputFieldDefaultValue()
Note : You MUST only call this on a GraphQLInputObjectField that is part of a fully formed schema. |
java.lang.String |
getName() |
GraphQLInputType |
getType() |
int |
hashCode()
No GraphQLSchemaElement implements `equals/hashCode` because we need object identity
to treat a GraphQLSchema as an abstract graph.
|
boolean |
hasSetDefaultValue() |
boolean |
isDeprecated() |
static GraphQLInputObjectField.Builder |
newInputObjectField() |
static GraphQLInputObjectField.Builder |
newInputObjectField(GraphQLInputObjectField existing) |
java.lang.String |
toString() |
GraphQLInputObjectField |
transform(java.util.function.Consumer<GraphQLInputObjectField.Builder> builderConsumer)
This helps you transform the current GraphQLInputObjectField into another one by starting a builder with all
the current values and allows you to transform it how you want.
|
GraphQLInputObjectField |
withNewChildren(SchemaElementChildrenContainer newChildren) |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetDirectives, hasDirectivepublic static final java.lang.String CHILD_TYPE
public static final java.lang.String CHILD_DIRECTIVES
public java.lang.String getName()
getName in interface GraphQLNamedSchemaElementpublic GraphQLInputType getType()
getType in interface GraphQLInputValueDefinition@NotNull public @NotNull InputValueWithState getInputFieldDefaultValue()
InputValueWithState was created.public static <T> T getInputFieldDefaultValue(GraphQLInputObjectField inputObjectField)
InputValueWithState from getInputFieldDefaultValue()
Note : You MUST only call this on a GraphQLInputObjectField that is part of a fully formed schema. We need
all of the types to be resolved in order for this work correctly.
Note: This method will return null if the value is not set or explicitly set to null. If you you to know the difference
when "not set" and "set to null" then you cant use this method. Rather you should use getInputFieldDefaultValue()
and use the InputValueWithState.isNotSet() methods to decide how to handle those values.T - the type you want it cast asinputObjectField - the fully formed GraphQLInputObjectFieldpublic boolean hasSetDefaultValue()
public java.lang.String getDescription()
getDescription in interface GraphQLNamedSchemaElementpublic java.lang.String getDeprecationReason()
public boolean isDeprecated()
public InputValueDefinition 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 GraphQLObjectType.getExtensionDefinitions()getDefinition in interface GraphQLNamedSchemaElementpublic java.util.List<GraphQLDirective> getDirectives()
GraphQLDirectiveContainerGraphQLNamedSchemaElement as a flat list, which may contain repeatable
and non repeatable directives.getDirectives in interface GraphQLDirectiveContainerpublic java.util.Map<java.lang.String,GraphQLDirective> getDirectivesByName()
GraphQLDirectiveContainerGraphQLNamedSchemaElement. Any repeatable directives
will be filtered out of this map.getDirectivesByName in interface GraphQLDirectiveContainerpublic java.util.Map<java.lang.String,java.util.List<GraphQLDirective>> getAllDirectivesByName()
GraphQLDirectiveContainerGraphQLNamedSchemaElement, including both
repeatable and non repeatable directives.getAllDirectivesByName in interface GraphQLDirectiveContainerpublic GraphQLDirective getDirective(java.lang.String directiveName)
GraphQLDirectiveContainerAssertException if
the directive is a repeatable directive that has more then one instance.getDirective in interface GraphQLDirectiveContainerdirectiveName - the name of the directive to retrievepublic GraphQLInputObjectField transform(java.util.function.Consumer<GraphQLInputObjectField.Builder> builderConsumer)
builderConsumer - the consumer code that will be given a builder to transformpublic GraphQLSchemaElement copy()
GraphQLSchemaElementcopy in interface GraphQLSchemaElementpublic 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 GraphQLInputObjectField withNewChildren(SchemaElementChildrenContainer newChildren)
withNewChildren in interface GraphQLSchemaElementpublic final boolean equals(java.lang.Object o)
equals in interface GraphQLSchemaElementequals in class java.lang.Objecto - 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 GraphQLSchemaElementhashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic static GraphQLInputObjectField.Builder newInputObjectField(GraphQLInputObjectField existing)
public static GraphQLInputObjectField.Builder newInputObjectField()