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
ScalarsScalars| 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. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetDirective, getDirectivesByNamepublic 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 GraphQLNamedSchemaElementpublic java.lang.String getDescription()
getDescription in interface GraphQLNamedSchemaElementpublic java.lang.String getSpecifiedByUrl()
public Coercing getCoercing()
public ScalarTypeDefinition 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<ScalarTypeExtensionDefinition> getExtensionDefinitions()
public java.util.List<GraphQLDirective> getDirectives()
getDirectives in interface GraphQLDirectiveContainerpublic java.lang.String toString()
toString in class java.lang.Objectpublic 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 GraphQLSchemaElementpublic java.util.List<GraphQLSchemaElement> getChildren()
getChildren in interface GraphQLSchemaElementpublic SchemaElementChildrenContainer getChildrenWithTypeReferences()
getChildrenWithTypeReferences in interface GraphQLSchemaElementpublic GraphQLScalarType withNewChildren(SchemaElementChildrenContainer newChildren)
withNewChildren in interface GraphQLSchemaElementpublic static GraphQLScalarType.Builder newScalar()
public static GraphQLScalarType.Builder newScalar(GraphQLScalarType existing)