@PublicApi public class GraphQLArgument extends java.lang.Object implements GraphQLNamedSchemaElement, GraphQLInputValueDefinition
GraphQLFieldDefinition.
 Fields can be thought of as "functions" that take arguments and return a value.
See http://graphql.org/learn/queries/#arguments for more details on the concept.
 GraphQLArgument is used in two contexts, one context is graphql queries where it represents the arguments that can be
 set on a field and the other is in Schema Definition Language (SDL) where it can be used to represent the argument value instances
 that have been supplied on a GraphQLDirective.
 
The difference is the 'value' and 'defaultValue' properties. In a query argument, the 'value' is never in the GraphQLArgument object but rather in the AST direct or in the query variables map and the 'defaultValue' represents a value to use if both of these are not present. You can think of them like a descriptor of what shape an argument might have.
However, with directives on SDL elements, the value is specified in AST only and transferred into the GraphQLArgument object and the 'defaultValue' comes instead from the directive definition elsewhere in the SDL. You can think of them as 'instances' of arguments, their shape and their specific value on that directive.
 Originally graphql-java re-used the GraphQLDirective and GraphQLArgument
 classes to do both purposes.  This was a modelling mistake.  New GraphQLAppliedDirective and GraphQLAppliedDirectiveArgument
 classes have been introduced to better model when a directive is applied to a schema element,
 as opposed to its schema definition itself.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | GraphQLArgument.Builder | 
| Modifier and Type | Field and Description | 
|---|---|
| static java.lang.String | CHILD_TYPE | 
CHILD_APPLIED_DIRECTIVES, CHILD_DIRECTIVES| 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<GraphQLAppliedDirective>> | getAllAppliedDirectivesByName()This will return a Map of the all directives that are associated with a  GraphQLNamedSchemaElement, including both
 repeatable and non-repeatable directives. | 
| 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. | 
| GraphQLAppliedDirective | getAppliedDirective(java.lang.String directiveName)Returns a non-repeatable directive with the provided name. | 
| java.util.List<GraphQLAppliedDirective> | getAppliedDirectives()This will return a list of all the directives that have been put on  GraphQLNamedSchemaElementas a flat list, which may contain repeatable
 and non-repeatable directives. | 
| @NotNull InputValueWithState | getArgumentDefaultValue()The default value of this argument. | 
| static <T> T | getArgumentDefaultValue(GraphQLArgument argument)This static helper method will give out a java value based on the semantics captured
 in the  InputValueWithStatefromgetArgumentDefaultValue()Note : You MUST only call this on aGraphQLArgumentthat is part of a fully formed schema. | 
| @NotNull InputValueWithState | getArgumentValue()Deprecated. 
 use  GraphQLAppliedDirectiveArgumentinstead | 
| static <T> T | getArgumentValue(GraphQLArgument argument)Deprecated. 
 use  GraphQLAppliedDirectiveArgumentinstead | 
| java.util.List<GraphQLSchemaElement> | getChildren() | 
| SchemaElementChildrenContainer | getChildrenWithTypeReferences() | 
| InputValueDefinition | getDefinition()The AST  Nodethis 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  GraphQLNamedSchemaElementas 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.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 | hasSetValue() | 
| boolean | isDeprecated() | 
| static GraphQLArgument.Builder | newArgument() | 
| static GraphQLArgument.Builder | newArgument(GraphQLArgument existing) | 
| GraphQLAppliedDirectiveArgument | toAppliedArgument()This method can be used to turn an argument that was being use as an applied argument into one. | 
| java.lang.String | toString() | 
| GraphQLArgument | transform(java.util.function.Consumer<GraphQLArgument.Builder> builderConsumer)This helps you transform the current GraphQLArgument into another one by starting a builder with all
 the current values and allows you to transform it how you want. | 
| GraphQLArgument | withNewChildren(SchemaElementChildrenContainer newChildren) | 
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetAppliedDirectives, getDirectives, hasAppliedDirective, hasDirectivepublic static final java.lang.String CHILD_TYPE
public java.lang.String getName()
getName in interface GraphQLNamedSchemaElementpublic GraphQLInputType getType()
getType in interface GraphQLInputValueDefinition@NotNull public @NotNull InputValueWithState getArgumentDefaultValue()
InputValueWithState that represents the arguments default valuepublic boolean hasSetDefaultValue()
public boolean hasSetValue()
@Deprecated @NotNull public @NotNull InputValueWithState getArgumentValue()
GraphQLAppliedDirectiveArgument insteadGraphQLDirective applied to a schema or query element@Deprecated public static <T> T getArgumentValue(GraphQLArgument argument)
GraphQLAppliedDirectiveArgument insteadInputValueWithState from getArgumentValue()
 Note : You MUST only call this on a GraphQLArgument 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 getArgumentValue()
 and use the InputValueWithState.isNotSet() methods to decide how to handle those values.T - the type you want it cast asargument - the fully formed GraphQLArgumentpublic static <T> T getArgumentDefaultValue(GraphQLArgument argument)
InputValueWithState from getArgumentDefaultValue()
 Note : You MUST only call this on a GraphQLArgument 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 getArgumentDefaultValue()
 and use the InputValueWithState.isNotSet() methods to decide how to handle those values.T - the type you want it cast asargument - the fully formed GraphQLArgumentpublic 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 java.util.List<GraphQLAppliedDirective> getAppliedDirectives()
GraphQLDirectiveContainerGraphQLNamedSchemaElement as a flat list, which may contain repeatable
 and non-repeatable directives.getAppliedDirectives in interface GraphQLDirectiveContainerpublic java.util.Map<java.lang.String,java.util.List<GraphQLAppliedDirective>> getAllAppliedDirectivesByName()
GraphQLDirectiveContainerGraphQLNamedSchemaElement, including both
 repeatable and non-repeatable directives.getAllAppliedDirectivesByName in interface GraphQLDirectiveContainerpublic GraphQLAppliedDirective getAppliedDirective(java.lang.String directiveName)
GraphQLDirectiveContainergetAppliedDirective in interface GraphQLDirectiveContainerdirectiveName - the name of the directive to retrievepublic java.util.List<GraphQLSchemaElement> getChildren()
getChildren in interface GraphQLSchemaElementpublic SchemaElementChildrenContainer getChildrenWithTypeReferences()
getChildrenWithTypeReferences in interface GraphQLSchemaElementpublic GraphQLArgument withNewChildren(SchemaElementChildrenContainer newChildren)
withNewChildren in interface GraphQLSchemaElementpublic GraphQLSchemaElement copy()
GraphQLSchemaElementcopy 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 GraphQLArgument transform(java.util.function.Consumer<GraphQLArgument.Builder> builderConsumer)
builderConsumer - the consumer code that will be given a builder to transformpublic static GraphQLArgument.Builder newArgument()
public static GraphQLArgument.Builder newArgument(GraphQLArgument existing)
public TraversalControl accept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor)
accept in interface GraphQLSchemaElementpublic java.lang.String toString()
toString in class java.lang.Objectpublic GraphQLAppliedDirectiveArgument toAppliedArgument()
GraphQLAppliedDirectiveArgument