@PublicApi public class GraphQLUnionType extends java.lang.Object implements GraphQLNamedType, GraphQLOutputType, GraphQLCompositeType, GraphQLUnmodifiedType, GraphQLNullableType, GraphQLDirectiveContainer
TypeResolver is used to take an union object value and decide what GraphQLObjectType
represents this union of types.
Note that members of a union type need to be concrete object types; you can't create a union type out of interfaces or other unions.
See http://graphql.org/learn/schema/#union-types for more details on the concept.| Modifier and Type | Class and Description |
|---|---|
static class |
GraphQLUnionType.Builder |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CHILD_DIRECTIVES |
static java.lang.String |
CHILD_TYPES |
| Constructor and Description |
|---|
GraphQLUnionType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLNamedOutputType> types,
TypeResolver typeResolver)
Deprecated.
use the
newUnionType() builder pattern instead, as this constructor will be made private in a future version. |
GraphQLUnionType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLNamedOutputType> types,
TypeResolver typeResolver,
java.util.List<GraphQLDirective> directives,
UnionTypeDefinition definition)
Deprecated.
use the
newUnionType() 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() |
UnionTypeDefinition |
getDefinition() |
java.lang.String |
getDescription() |
java.util.List<GraphQLDirective> |
getDirectives() |
java.lang.String |
getName() |
java.util.List<GraphQLNamedOutputType> |
getTypes() |
static GraphQLUnionType.Builder |
newUnionType() |
static GraphQLUnionType.Builder |
newUnionType(GraphQLUnionType existing) |
GraphQLUnionType |
transform(java.util.function.Consumer<GraphQLUnionType.Builder> builderConsumer)
This helps you transform the current GraphQLUnionType into another one by starting a builder with all
the current values and allows you to transform it how you want.
|
GraphQLUnionType |
withNewChildren(SchemaElementChildrenContainer newChildren) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDirective, getDirectivesByNamepublic static final java.lang.String CHILD_TYPES
public static final java.lang.String CHILD_DIRECTIVES
@Deprecated
public GraphQLUnionType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLNamedOutputType> types,
TypeResolver typeResolver)
newUnionType() builder pattern instead, as this constructor will be made private in a future version.name - the namedescription - the descriptiontypes - the possible typestypeResolver - the type resolver function@Deprecated
public GraphQLUnionType(java.lang.String name,
java.lang.String description,
java.util.List<GraphQLNamedOutputType> types,
TypeResolver typeResolver,
java.util.List<GraphQLDirective> directives,
UnionTypeDefinition definition)
newUnionType() builder pattern instead, as this constructor will be made private in a future version.name - the namedescription - the descriptiontypes - the possible typestypeResolver - the type resolver functiondirectives - the directives on this type elementdefinition - the AST definitionpublic java.util.List<GraphQLNamedOutputType> getTypes()
public java.lang.String getName()
getName in interface GraphQLNamedSchemaElementpublic java.lang.String getDescription()
public UnionTypeDefinition getDefinition()
public java.util.List<GraphQLDirective> getDirectives()
getDirectives in interface GraphQLDirectiveContainerpublic GraphQLUnionType transform(java.util.function.Consumer<GraphQLUnionType.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 GraphQLUnionType withNewChildren(SchemaElementChildrenContainer newChildren)
withNewChildren in interface GraphQLSchemaElementpublic static GraphQLUnionType.Builder newUnionType()
public static GraphQLUnionType.Builder newUnionType(GraphQLUnionType existing)