Package graphql.schema
Class GraphQLEnumType
- java.lang.Object
-
- graphql.schema.GraphQLEnumType
-
- All Implemented Interfaces:
GraphQLDirectiveContainer
,GraphQLInputSchemaElement
,GraphQLInputType
,GraphQLNamedInputType
,GraphQLNamedOutputType
,GraphQLNamedSchemaElement
,GraphQLNamedType
,GraphQLNullableType
,GraphQLOutputType
,GraphQLSchemaElement
,GraphQLType
,GraphQLUnmodifiedType
@PublicApi public class GraphQLEnumType extends java.lang.Object implements GraphQLNamedInputType, GraphQLNamedOutputType, GraphQLUnmodifiedType, GraphQLNullableType, GraphQLDirectiveContainer
A graphql enumeration type has a limited set of values.This allows you to validate that any arguments of this type are one of the allowed values and communicate through the type system that a field will always be one of a finite set of values.
See https://graphql.org/learn/schema/#enumeration-types for more details
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GraphQLEnumType.Builder
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CHILD_VALUES
-
Fields inherited from interface graphql.schema.GraphQLDirectiveContainer
CHILD_APPLIED_DIRECTIVES, CHILD_DIRECTIVES
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description TraversalControl
accept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor)
GraphQLSchemaElement
copy()
Each GraphQLSchemaElement should make a copy of itself when this is called.boolean
equals(java.lang.Object o)
No GraphQLSchemaElement implements `equals` because we need object identity to treat a GraphQLSchema as an abstract graph.java.util.Map<java.lang.String,java.util.List<GraphQLAppliedDirective>>
getAllAppliedDirectivesByName()
This will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement
, including both repeatable and non-repeatable directives.java.util.Map<java.lang.String,java.util.List<GraphQLDirective>>
getAllDirectivesByName()
This will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement
, including both repeatable and non repeatable directives.GraphQLAppliedDirective
getAppliedDirective(java.lang.String directiveName)
Returns a non-repeatable directive with the provided name.java.util.List<GraphQLAppliedDirective>
getAppliedDirectives()
This will return a list of all the directives that have been put onGraphQLNamedSchemaElement
as a flat list, which may contain repeatable and non-repeatable directives.java.util.List<GraphQLSchemaElement>
getChildren()
SchemaElementChildrenContainer
getChildrenWithTypeReferences()
EnumTypeDefinition
getDefinition()
The ASTNode
this schema element is based on.java.lang.String
getDescription()
GraphQLDirective
getDirective(java.lang.String directiveName)
Returns a non-repeatable directive with the provided name.java.util.List<GraphQLDirective>
getDirectives()
This will return a list of all the directives that have been put onGraphQLNamedSchemaElement
as a flat list, which may contain repeatable and non-repeatable directives.java.util.Map<java.lang.String,GraphQLDirective>
getDirectivesByName()
This will return a Map of the non repeatable directives that are associated with aGraphQLNamedSchemaElement
.java.util.List<EnumTypeExtensionDefinition>
getExtensionDefinitions()
java.lang.String
getName()
GraphQLEnumValueDefinition
getValue(java.lang.String name)
java.util.List<GraphQLEnumValueDefinition>
getValues()
int
hashCode()
No GraphQLSchemaElement implements `equals/hashCode` because we need object identity to treat a GraphQLSchema as an abstract graph.static GraphQLEnumType.Builder
newEnum()
static GraphQLEnumType.Builder
newEnum(GraphQLEnumType existing)
java.lang.Object
parseLiteral(Value<?> input, GraphQLContext graphQLContext, java.util.Locale locale)
java.lang.Object
parseLiteral(java.lang.Object input)
Deprecated.java.lang.Object
parseValue(java.lang.Object input)
Deprecated.java.lang.Object
parseValue(java.lang.Object input, GraphQLContext graphQLContext, java.util.Locale locale)
java.lang.Object
serialize(java.lang.Object input)
Deprecated.java.lang.Object
serialize(java.lang.Object input, GraphQLContext graphQLContext, java.util.Locale locale)
java.lang.String
toString()
GraphQLEnumType
transform(java.util.function.Consumer<GraphQLEnumType.Builder> builderConsumer)
This helps you transform the current GraphQLEnumType into another one by starting a builder with all the current values and allows you to transform it how you want.Value
valueToLiteral(java.lang.Object input)
Deprecated.Value<?>
valueToLiteral(java.lang.Object input, GraphQLContext graphQLContext, java.util.Locale locale)
GraphQLEnumType
withNewChildren(SchemaElementChildrenContainer newChildren)
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface graphql.schema.GraphQLDirectiveContainer
getAppliedDirectives, getDirectives, hasAppliedDirective, hasDirective
-
-
-
-
Field Detail
-
CHILD_VALUES
public static final java.lang.String CHILD_VALUES
- See Also:
- Constant Field Values
-
-
Method Detail
-
serialize
@Deprecated public java.lang.Object serialize(java.lang.Object input)
Deprecated.
-
serialize
public java.lang.Object serialize(java.lang.Object input, GraphQLContext graphQLContext, java.util.Locale locale)
-
parseValue
@Deprecated public java.lang.Object parseValue(java.lang.Object input)
Deprecated.
-
parseValue
public java.lang.Object parseValue(java.lang.Object input, GraphQLContext graphQLContext, java.util.Locale locale)
-
parseLiteral
@Deprecated public java.lang.Object parseLiteral(java.lang.Object input)
Deprecated.
-
parseLiteral
public java.lang.Object parseLiteral(Value<?> input, GraphQLContext graphQLContext, java.util.Locale locale)
-
valueToLiteral
@Deprecated public Value valueToLiteral(java.lang.Object input)
Deprecated.
-
valueToLiteral
public Value<?> valueToLiteral(java.lang.Object input, GraphQLContext graphQLContext, java.util.Locale locale)
-
getValues
public java.util.List<GraphQLEnumValueDefinition> getValues()
-
getValue
public GraphQLEnumValueDefinition getValue(java.lang.String name)
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceGraphQLNamedSchemaElement
- Returns:
- the name of this element. This cant be null
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescription
in interfaceGraphQLNamedSchemaElement
- Returns:
- the description of this element. This can be null
-
getDefinition
public EnumTypeDefinition getDefinition()
Description copied from interface:GraphQLNamedSchemaElement
The ASTNode
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 exampleGraphQLObjectType.getExtensionDefinitions()
- Specified by:
getDefinition
in interfaceGraphQLNamedSchemaElement
- Returns:
- Node which this element is based on. Can be null.
-
getExtensionDefinitions
public java.util.List<EnumTypeExtensionDefinition> getExtensionDefinitions()
-
getDirectives
public java.util.List<GraphQLDirective> getDirectives()
Description copied from interface:GraphQLDirectiveContainer
This will return a list of all the directives that have been put onGraphQLNamedSchemaElement
as a flat list, which may contain repeatable and non-repeatable directives.- Specified by:
getDirectives
in interfaceGraphQLDirectiveContainer
- Returns:
- a list of all the directives associated with this named schema element
-
getDirectivesByName
public java.util.Map<java.lang.String,GraphQLDirective> getDirectivesByName()
Description copied from interface:GraphQLDirectiveContainer
This will return a Map of the non repeatable directives that are associated with aGraphQLNamedSchemaElement
. Any repeatable directives will be filtered out of this map.- Specified by:
getDirectivesByName
in interfaceGraphQLDirectiveContainer
- Returns:
- a map of non repeatable directives by directive name.
-
getAllDirectivesByName
public java.util.Map<java.lang.String,java.util.List<GraphQLDirective>> getAllDirectivesByName()
Description copied from interface:GraphQLDirectiveContainer
This will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement
, including both repeatable and non repeatable directives.- Specified by:
getAllDirectivesByName
in interfaceGraphQLDirectiveContainer
- Returns:
- a map of all directives by directive name
-
getDirective
public GraphQLDirective getDirective(java.lang.String directiveName)
Description copied from interface:GraphQLDirectiveContainer
Returns a non-repeatable directive with the provided name. This will throw aAssertException
if the directive is a repeatable directive that has more then one instance.- Specified by:
getDirective
in interfaceGraphQLDirectiveContainer
- Parameters:
directiveName
- the name of the directive to retrieve- Returns:
- the directive or null if there is not one with that name
-
getAppliedDirectives
public java.util.List<GraphQLAppliedDirective> getAppliedDirectives()
Description copied from interface:GraphQLDirectiveContainer
This will return a list of all the directives that have been put onGraphQLNamedSchemaElement
as a flat list, which may contain repeatable and non-repeatable directives.- Specified by:
getAppliedDirectives
in interfaceGraphQLDirectiveContainer
- Returns:
- a list of all the directives associated with this named schema element
-
getAllAppliedDirectivesByName
public java.util.Map<java.lang.String,java.util.List<GraphQLAppliedDirective>> getAllAppliedDirectivesByName()
Description copied from interface:GraphQLDirectiveContainer
This will return a Map of the all directives that are associated with aGraphQLNamedSchemaElement
, including both repeatable and non-repeatable directives.- Specified by:
getAllAppliedDirectivesByName
in interfaceGraphQLDirectiveContainer
- Returns:
- a map of all directives by directive name
-
getAppliedDirective
public GraphQLAppliedDirective getAppliedDirective(java.lang.String directiveName)
Description copied from interface:GraphQLDirectiveContainer
Returns a non-repeatable directive with the provided name.- Specified by:
getAppliedDirective
in interfaceGraphQLDirectiveContainer
- Parameters:
directiveName
- the name of the directive to retrieve- Returns:
- the directive or null if there is not one with that name
-
transform
public GraphQLEnumType transform(java.util.function.Consumer<GraphQLEnumType.Builder> builderConsumer)
This helps you transform the current GraphQLEnumType into another one by starting a builder with all the current values and allows you to transform it how you want.- Parameters:
builderConsumer
- the consumer code that will be given a builder to transform- Returns:
- a new field based on calling build on that builder
-
copy
public GraphQLSchemaElement copy()
Description copied from interface:GraphQLSchemaElement
Each GraphQLSchemaElement should make a copy of itself when this is called. The copy should be included its current contents as they currently exist into a new object.- Specified by:
copy
in interfaceGraphQLSchemaElement
- Returns:
- a copy of this element
-
accept
public TraversalControl accept(TraverserContext<GraphQLSchemaElement> context, GraphQLTypeVisitor visitor)
- Specified by:
accept
in interfaceGraphQLSchemaElement
-
getChildren
public java.util.List<GraphQLSchemaElement> getChildren()
- Specified by:
getChildren
in interfaceGraphQLSchemaElement
-
getChildrenWithTypeReferences
public SchemaElementChildrenContainer getChildrenWithTypeReferences()
- Specified by:
getChildrenWithTypeReferences
in interfaceGraphQLSchemaElement
-
withNewChildren
public GraphQLEnumType withNewChildren(SchemaElementChildrenContainer newChildren)
- Specified by:
withNewChildren
in interfaceGraphQLSchemaElement
-
equals
public final boolean equals(java.lang.Object o)
No GraphQLSchemaElement implements `equals` because we need object identity to treat a GraphQLSchema as an abstract graph.- Specified by:
equals
in interfaceGraphQLSchemaElement
- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- the reference object with which to compare.- Returns:
true
if this object is the same as the obj argument;false
otherwise.
-
hashCode
public final int hashCode()
No GraphQLSchemaElement implements `equals/hashCode` because we need object identity to treat a GraphQLSchema as an abstract graph.- Specified by:
hashCode
in interfaceGraphQLSchemaElement
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a hash code value for this object.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
newEnum
public static GraphQLEnumType.Builder newEnum()
-
newEnum
public static GraphQLEnumType.Builder newEnum(GraphQLEnumType existing)
-
-