@PublicApi public class GraphQLFieldDefinition extends java.lang.Object implements 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 |
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<GraphQLType> context,
GraphQLTypeVisitor visitor)
Double-dispatch entry point.
|
GraphQLArgument |
getArgument(java.lang.String name) |
java.util.List<GraphQLArgument> |
getArguments() |
java.util.List<GraphQLType> |
getChildren() |
FieldDefinition |
getDefinition() |
java.lang.String |
getDeprecationReason() |
java.lang.String |
getDescription() |
java.util.List<GraphQLDirective> |
getDirectives() |
java.lang.String |
getName() |
GraphQLOutputType |
getType() |
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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getDirective, getDirectivesByName
@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 GraphQLType
[_A-Za-z][_0-9A-Za-z]*
public GraphQLOutputType getType()
public GraphQLArgument getArgument(java.lang.String name)
public java.util.List<GraphQLDirective> getDirectives()
getDirectives
in interface GraphQLDirectiveContainer
public java.util.List<GraphQLArgument> getArguments()
public java.lang.String getDescription()
public FieldDefinition getDefinition()
public java.lang.String getDeprecationReason()
public boolean isDeprecated()
public java.lang.String toString()
toString
in class java.lang.Object
public GraphQLFieldDefinition transform(java.util.function.Consumer<GraphQLFieldDefinition.Builder> builderConsumer)
builderConsumer
- the consumer code that will be given a builder to transformpublic TraversalControl accept(TraverserContext<GraphQLType> context, GraphQLTypeVisitor visitor)
GraphQLType
Node
, see accept(...) for more details about the pattern.accept
in interface GraphQLType
context
- TraverserContext bound to this graphQL type objectvisitor
- Visitor instance that performs actual processing on the types(s)public java.util.List<GraphQLType> getChildren()
getChildren
in interface GraphQLType
public static GraphQLFieldDefinition.Builder newFieldDefinition(GraphQLFieldDefinition existing)
public static GraphQLFieldDefinition.Builder newFieldDefinition()