public class GraphQLScalarType extends java.lang.Object implements GraphQLNamedInputType, GraphQLNamedOutputType, GraphQLUnmodifiedType, GraphQLNullableType, GraphQLDirectiveContainer
GraphQL provides a number of built‐in scalars, but type systems can add additional scalars with semantic meaning, for example, a GraphQL system could define a scalar called Time which, while serialized as a string, promises to conform to ISO‐8601. When querying a field of type Time, you can then rely on the ability to parse the result with an ISO‐8601 parser and use a client‐specific primitive for time. From the spec : http://facebook.github.io/graphql/#sec-Scalarsgraphql-java ships with a set of predefined scalar types via
Scalars
Scalars
Modifier and Type | Class and Description |
---|---|
static class |
GraphQLScalarType.Builder |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CHILD_DIRECTIVES |
Constructor and Description |
---|
GraphQLScalarType(java.lang.String name,
java.lang.String description,
Coercing coercing)
Deprecated.
use the
newScalar() builder pattern instead, as this constructor will be made private in a future version. |
GraphQLScalarType(java.lang.String name,
java.lang.String description,
Coercing coercing,
java.util.List<GraphQLDirective> directives,
ScalarTypeDefinition definition)
Deprecated.
use the
newScalar() 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) |
java.util.List<GraphQLSchemaElement> |
getChildren() |
SchemaElementChildrenContainer |
getChildrenWithTypeReferences() |
Coercing |
getCoercing() |
ScalarTypeDefinition |
getDefinition() |
java.lang.String |
getDescription() |
java.util.List<GraphQLDirective> |
getDirectives() |
java.lang.String |
getName() |
static GraphQLScalarType.Builder |
newScalar() |
static GraphQLScalarType.Builder |
newScalar(GraphQLScalarType existing) |
java.lang.String |
toString() |
GraphQLScalarType |
transform(java.util.function.Consumer<GraphQLScalarType.Builder> builderConsumer)
This helps you transform the current GraphQLObjectType into another one by starting a builder with all
the current values and allows you to transform it how you want.
|
GraphQLScalarType |
withNewChildren(SchemaElementChildrenContainer newChildren) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getDirective, getDirectivesByName
public static final java.lang.String CHILD_DIRECTIVES
@Deprecated public GraphQLScalarType(java.lang.String name, java.lang.String description, Coercing coercing)
newScalar()
builder pattern instead, as this constructor will be made private in a future version.name
- the namedescription
- the descriptioncoercing
- the coercing function@Deprecated public GraphQLScalarType(java.lang.String name, java.lang.String description, Coercing coercing, java.util.List<GraphQLDirective> directives, ScalarTypeDefinition definition)
newScalar()
builder pattern instead, as this constructor will be made private in a future version.name
- the namedescription
- the descriptioncoercing
- the coercing functiondirectives
- the directives on this type elementdefinition
- the AST definitionpublic java.lang.String getName()
getName
in interface GraphQLNamedSchemaElement
public java.lang.String getDescription()
public Coercing getCoercing()
public ScalarTypeDefinition getDefinition()
public java.util.List<GraphQLDirective> getDirectives()
getDirectives
in interface GraphQLDirectiveContainer
public java.lang.String toString()
toString
in class java.lang.Object
public GraphQLScalarType transform(java.util.function.Consumer<GraphQLScalarType.Builder> builderConsumer)
builderConsumer
- the consumer code that will be given a builder to transformpublic TraversalControl accept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor)
accept
in interface GraphQLSchemaElement
public java.util.List<GraphQLSchemaElement> getChildren()
getChildren
in interface GraphQLSchemaElement
public SchemaElementChildrenContainer getChildrenWithTypeReferences()
getChildrenWithTypeReferences
in interface GraphQLSchemaElement
public GraphQLScalarType withNewChildren(SchemaElementChildrenContainer newChildren)
withNewChildren
in interface GraphQLSchemaElement
public static GraphQLScalarType.Builder newScalar()
public static GraphQLScalarType.Builder newScalar(GraphQLScalarType existing)