@PublicApi public class GraphQLFieldDefinition extends java.lang.Object implements GraphQLNamedSchemaElement, GraphQLDirectiveContainer
DataFetcher used to get data values for that field.
Fields can be thought of as functions in graphql, they have a name, take defined arguments and return a value.
Fields can also be deprecated, which indicates the consumers that a field wont be supported in the future.
See http://graphql.org/learn/queries/#fields for more details on the concept.| Modifier and Type | Class and Description |
|---|---|
static class |
GraphQLFieldDefinition.Builder |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CHILD_ARGUMENTS |
static java.lang.String |
CHILD_DIRECTIVES |
static java.lang.String |
CHILD_TYPE |
| Constructor and Description |
|---|
GraphQLFieldDefinition(java.lang.String name,
java.lang.String description,
GraphQLOutputType type,
DataFetcher<?> dataFetcher,
java.util.List<GraphQLArgument> arguments,
java.lang.String deprecationReason)
Deprecated.
use the
newFieldDefinition() builder pattern instead, as this constructor will be made private in a future version. |
GraphQLFieldDefinition(java.lang.String name,
java.lang.String description,
GraphQLOutputType type,
DataFetcherFactory dataFetcherFactory,
java.util.List<GraphQLArgument> arguments,
java.lang.String deprecationReason,
java.util.List<GraphQLDirective> directives,
FieldDefinition definition)
Deprecated.
use the
newFieldDefinition() 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.
|
GraphQLArgument |
getArgument(java.lang.String name) |
java.util.List<GraphQLArgument> |
getArguments() |
java.util.List<GraphQLSchemaElement> |
getChildren() |
SchemaElementChildrenContainer |
getChildrenWithTypeReferences() |
FieldDefinition |
getDefinition()
The AST
Node this schema element is based on. |
java.lang.String |
getDeprecationReason() |
java.lang.String |
getDescription() |
java.util.List<GraphQLDirective> |
getDirectives() |
java.lang.String |
getName() |
GraphQLOutputType |
getType() |
int |
hashCode()
No GraphQLSchemaElement implements `equals/hashCode` because we need object identity
to treat a GraphQLSchema as an abstract graph.
|
boolean |
isDeprecated() |
static GraphQLFieldDefinition.Builder |
newFieldDefinition() |
static GraphQLFieldDefinition.Builder |
newFieldDefinition(GraphQLFieldDefinition existing) |
java.lang.String |
toString() |
GraphQLFieldDefinition |
transform(java.util.function.Consumer<GraphQLFieldDefinition.Builder> builderConsumer)
This helps you transform the current GraphQLFieldDefinition 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_ARGUMENTS
public static final java.lang.String CHILD_DIRECTIVES
public static final java.lang.String CHILD_TYPE
@Deprecated
public GraphQLFieldDefinition(java.lang.String name,
java.lang.String description,
GraphQLOutputType type,
DataFetcher<?> dataFetcher,
java.util.List<GraphQLArgument> arguments,
java.lang.String deprecationReason)
newFieldDefinition() builder pattern instead, as this constructor will be made private in a future version.name - the namedescription - the descriptiontype - the field typedataFetcher - the field data fetcherarguments - the field argumentsdeprecationReason - the deprecation reason@Deprecated
public GraphQLFieldDefinition(java.lang.String name,
java.lang.String description,
GraphQLOutputType type,
DataFetcherFactory dataFetcherFactory,
java.util.List<GraphQLArgument> arguments,
java.lang.String deprecationReason,
java.util.List<GraphQLDirective> directives,
FieldDefinition definition)
newFieldDefinition() builder pattern instead, as this constructor will be made private in a future version.name - the namedescription - the descriptiontype - the field typedataFetcherFactory - the field data fetcher factoryarguments - the field argumentsdeprecationReason - the deprecation reasondirectives - the directives on this type elementdefinition - the AST definitionpublic java.lang.String getName()
getName in interface GraphQLNamedSchemaElementpublic GraphQLOutputType getType()
public GraphQLArgument getArgument(java.lang.String name)
public java.util.List<GraphQLDirective> getDirectives()
getDirectives in interface GraphQLDirectiveContainerpublic java.util.List<GraphQLArgument> getArguments()
public java.lang.String getDescription()
getDescription in interface GraphQLNamedSchemaElementpublic FieldDefinition 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.lang.String getDeprecationReason()
public boolean isDeprecated()
public java.lang.String toString()
toString in class java.lang.Objectpublic GraphQLFieldDefinition transform(java.util.function.Consumer<GraphQLFieldDefinition.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 GraphQLFieldDefinition.Builder newFieldDefinition(GraphQLFieldDefinition existing)
public static GraphQLFieldDefinition.Builder newFieldDefinition()