@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. |
clone, equals, finalize, getClass, hashCode, 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 static GraphQLFieldDefinition.Builder newFieldDefinition(GraphQLFieldDefinition existing)
public static GraphQLFieldDefinition.Builder newFieldDefinition()