GraphZen
  • Home
  • Blog
  • Documentation
  • API
  • Get Started
  • GraphZen.TypeSystem
  • UnionType
Show / Hide Table of Contents
  • GraphZen
    • DocumentValidator
    • GraphQLCanBeNullAttribute
    • GraphQLContext
    • GraphQLContextOptions
    • GraphQLContextOptions<TContext>
    • GraphQLContextOptionsBuilder
    • GraphQLContextOptionsBuilder<TContext>
    • GraphQLDeprecatedAttribute
    • GraphQLError
    • GraphQLException
    • GraphQLIgnoreAttribute
    • GraphQLListItemCanBeNullAttribute
    • GraphQLListItemNonNullAttribute
    • GraphQLNameAttribute
    • GraphQLNonNullAttribute
    • GraphQLObjectAttribute
    • GraphQLTypeAttribute
    • GraphQLUnionAttribute
    • GraphZenApplicationBuilderExtensions
    • GraphZenServiceCollectionExtensions
    • IDocumentValidator
    • IGraphQLDirective
    • PlaygroundApplicationBuilderExtensions
    • Program
  • GraphZen.CodeGen
    • CodeGenHelpers
    • CodeGenStringBuilderExtensions
    • CodeGenTasks
  • GraphZen.LanguageModel
    • ArgumentSyntax
    • ArgumentSyntaxExtensions
    • BooleanValueSyntax
    • BooleanValueSyntaxExtensions
    • Break
    • ContinueAction
    • DefinitionSyntax
    • DirectiveDefinitionSyntax
    • DirectiveDefinitionSyntaxExtensions
    • DirectiveLocation
    • DirectiveSyntax
    • DirectiveSyntaxExtensions
    • DocumentSyntax
    • DocumentSyntaxExtensions
    • EnumTypeDefinitionSyntax
    • EnumTypeDefinitionSyntaxExtensions
    • EnumTypeExtensionSyntax
    • EnumTypeExtensionSyntaxExtensions
    • EnumValueDefinitionSyntax
    • EnumValueDefinitionSyntaxExtensions
    • EnumValueSyntax
    • EnumValueSyntaxExtensions
    • ExecutableDefinitionSyntax
    • FieldDefinitionSyntax
    • FieldDefinitionSyntaxExtensions
    • FieldSyntax
    • FieldSyntaxExtensions
    • FloatValueSyntax
    • FloatValueSyntaxExtensions
    • FragmentDefinitionSyntax
    • FragmentDefinitionSyntaxExtensions
    • FragmentSpreadSyntax
    • FragmentSpreadSyntaxExtensions
    • GraphQLSyntaxVisitor
    • GraphQLSyntaxVisitor<TResult>
    • GraphQLSyntaxWalker
    • GraphQLSyntaxWalker<TResult>
    • IArgumentsNode
    • IDescribedSyntax
    • IDirectivesSyntax
    • IFieldsNode
    • IFragmentTypeConditionSyntax
    • INamedSyntax
    • InlineFragmentSyntax
    • InlineFragmentSyntaxExtensions
    • InputObjectTypeDefinitionSyntax
    • InputObjectTypeDefinitionSyntaxExtensions
    • InputObjectTypeExtensionSyntax
    • InputObjectTypeExtensionSyntaxExtensions
    • InputValueDefinitionSyntax
    • InputValueDefinitionSyntaxExtensions
    • InterfaceTypeDefinitionSyntax
    • InterfaceTypeDefinitionSyntaxExensions
    • InterfaceTypeDefinitionSyntaxExtensions
    • InterfaceTypeExtensionSyntax
    • InterfaceTypeExtensionSyntaxExtensions
    • IntValueSyntax
    • IntValueSyntaxExtensions
    • IParser
    • IPrinter
    • ISyntaxNodeLocation
    • ListTypeSyntax
    • ListTypeSyntaxExtensions
    • ListValueSyntax
    • ListValueSyntaxExtensions
    • NamedSyntaxExtensions
    • NamedTypeSyntax
    • NamedTypeSyntaxExtensions
    • NameSyntax
    • NameSyntaxExtensions
    • NonNullTypeSyntax
    • NonNullTypeSyntaxExtensions
    • NullableTypeSyntax
    • NullValueSyntax
    • NullValueSyntaxExtensions
    • ObjectFieldSyntax
    • ObjectFieldSyntaxExtensions
    • ObjectTypeDefinitionSyntax
    • ObjectTypeDefinitionSyntaxExtensions
    • ObjectTypeExtensionSyntax
    • ObjectTypeExtensionSyntaxExtensions
    • ObjectValueSyntax
    • ObjectValueSyntaxExtensions
    • OperationDefinitionSyntax
    • OperationDefinitionSyntaxExtensions
    • OperationType
    • OperationTypeDefinitionSyntax
    • OperationTypeDefinitionSyntaxExtensions
    • ParallelSyntaxWalker
    • PunctuatorSyntax
    • PunctuatorSyntaxExtensions
    • ScalarTypeDefinitionSyntax
    • ScalarTypeDefinitionSyntaxExtensions
    • ScalarTypeExtensionSyntax
    • ScalarTypeExtensionSyntaxExtensions
    • SchemaDefinitionSyntax
    • SchemaDefinitionSyntaxExtensions
    • SchemaExtensionSyntax
    • SchemaExtensionSyntaxExtensions
    • SelectionSetSyntax
    • SelectionSetSyntaxExtensions
    • SelectionSyntax
    • Skip
    • Source
    • SourceLocation
    • StringValueSyntax
    • StringValueSyntaxExtensions
    • SyntaxFactory
    • SyntaxKind
    • SyntaxLocation
    • SyntaxNode
    • SyntaxNodeExtensions
    • TypeDefinitionSyntax
    • TypeExtensionSyntax
    • TypeSyntax
    • TypeSystemDefinitionSyntax
    • TypeSystemExtensionSyntax
    • UnionTypeDefinitionSyntax
    • UnionTypeDefinitionSyntaxExtensions
    • UnionTypeExtensionSyntax
    • UnionTypeExtensionSyntaxExtensions
    • ValueSyntax
    • VariableDefinitionSyntax
    • VariableDefinitionSyntaxExtensions
    • VariableSyntax
    • VariableSyntaxExtensions
    • VisitAction
    • VistitorContext
  • GraphZen.LanguageModel.Validation
    • DocumentValidationContext
    • DocumentValidationRules
    • DocumentValidationRuleVisitor
    • ParallelValidationVisitor
    • ValidationContext
    • ValidationRule
    • ValidationRuleVisitor
  • GraphZen.LanguageModel.Validation.Rules
    • EnumTypesMustBeWellDefined
    • FieldArgsMustBeProperlyNamed
    • FieldArgumentsMustHaveInputTypes
    • InputObjectFieldsMustHaveInputTypes
    • InputObjectsMustHaveFields
    • InterfaceExtensionsShouldBeValid
    • InterfaceFieldsMustHaveOutputTypes
    • LoneSchemaDefinition
    • ObjectFieldsMustHaveOutputTypes
    • ObjectsCanOnlyImplementUniqueInterfaces
    • ObjectsMustAdhereToInterfaceTheyImplement
    • ObjectsMustHaveFields
    • SchemaMustHaveRootObjectTypes
    • UnionTypesMustBeValid
  • GraphZen.QueryEngine
    • ExecutionOptions
    • ExecutionResult
    • Executor
    • IExecutionContext
    • IExecutor
  • GraphZen.QueryEngine.Validation
    • IQueryValidator
    • QueryValidationContext
    • QueryValidationRules
    • QueryValidationRuleVisitor
    • QueryValidator
  • GraphZen.QueryEngine.Validation.Rules
    • ExecutableDefinitions
    • FieldsOnCorrectType
    • FragmentsOnCompositeTypes
    • InputDocumentNonConflictingVariableInference
    • KnownArgumentNames
    • KnownDirectives
    • KnownFragmentNames
    • KnownTypeNames
    • LoneAnonymousOperation
    • NoFragmentCycles
    • NoUndefinedVariables
    • NoUnusedFragments
    • NoUnusedVariables
    • OverlappingFieldsCanBeMerged
    • PossibleFragmentSpreads
    • ProvidedRequiredArguments
    • ScalarLeafs
    • SingleFieldSubscriptions
    • UniqueArgumentNames
    • UniqueDirectivesPerLocation
    • UniqueFragmentNames
    • UniqueInputFieldNames
    • UniqueOperationNames
    • UniqueVariableNames
    • ValuesOfCorrectType
    • VariablesAreInputTypes
    • VariablesInAllowedPosition
  • GraphZen.TypeSystem
    • AnnotatableMember
    • AnnotatableMemberDefinition
    • Argument
    • ArgumentDefinition
    • DefaultIDirectiveAnnotationSyntaxConverter
    • DeprecatedBuilderExtensions
    • Directive
    • DirectiveAnnotation
    • DirectiveBuilder<TDirective>
    • DirectiveDefinition
    • DirectiveDefinitionArgumentsAccessorExtensions
    • EnumType
    • EnumTypeBuilder<TEnum>
    • EnumTypeDefinition
    • EnumTypeDefinitionValuesAccessorExtensions
    • EnumTypeValuesAccessorExtensions
    • EnumTypeValuesByValueAccessorExtensions
    • EnumValue
    • EnumValueBuilder
    • EnumValueDefinition
    • Field
    • FieldArgumentsAccessorExtensions
    • FieldBuilder<TDeclaringType, TField, TContext>
    • FieldDefinition
    • FieldDefinitionArgumentsAccessorExtensions
    • FieldsDefinition
    • FieldsDefinitionFieldsAccessorExtensions
    • GraphQLTypeExtensions
    • GraphQLTypes
    • IAnnotableBuilder<TBuilder>
    • IArgumentsArgumentsAccessorExtensions
    • IArgumentsDefinitionBuilder<TBuilder>
    • IDirectiveBuilder<TDirective>
    • IEnumTypeBuilder<TEnumValue>
    • IEnumValueBuilder
    • IFieldBuilder<TDeclaringType, TField, TContext>
    • IFieldsDefinitionBuilder<TBuilder, TSource, TContext>
    • IInputObjectTypeBuilder<TInputObject>
    • IInterfaceTypeBuilder<TInterface, TContext>
    • InputField
    • InputFieldDefinition
    • InputObjectType
    • InputObjectTypeBuilder<TInputObject>
    • InputObjectTypeDefinition
    • InputObjectTypeDefinitionFieldsAccessorExtensions
    • InputObjectTypeFieldsAccessorExtensions
    • InputValue
    • InputValueBuilder
    • InputValueDefinition
    • InterfaceType
    • InterfaceTypeBuilder<TInterface, TContext>
    • InterfaceTypeDefinition
    • InterfaceTypeDefinitionFieldsAccessorExtensions
    • InterfaceTypeFieldsAccessorExtensions
    • Introspection
    • IObjectTypeBuilder<TObject, TContext>
    • IScalarTypeBuilder<TScalar, TValueNode>
    • ISchemaBuilder<TContext>
    • IsTypeOf<TObject, TContext>
    • ISyntaxConverter
    • IUnionTypeBuilder<TUnion, TContext>
    • LeafLiteralParser<TScalar, TValueNode>
    • LeafSerializer
    • LeafSerializer<TScalar>
    • LeafValueParser
    • LeafValueParser<TScalar>
    • ListType
    • Member
    • MemberDefinition
    • NamedType
    • NamedTypeDefinition
    • NonNullType
    • ObjectType
    • ObjectTypeBuilder<TObject, TContext>
    • ObjectTypeDefinition
    • ObjectTypeDefinitionFieldsAccessorExtensions
    • ObjectTypeFieldsAccessorExtensions
    • Resolver<TSource, TResult>
    • ScalarType
    • ScalarTypeBuilder<TScalar, TValueNode>
    • ScalarTypeDefinition
    • Schema
    • SchemaBuilder
    • SchemaBuilder<TContext>
    • SchemaBuilderExtensions
    • SchemaDefinition
    • SchemaDefinitionExtensions
    • SchemaExtensions
    • SchemaPrinter
    • SpecDirectives
    • SpecScalars
    • SyntaxConverter
    • SyntaxHelpers
    • TypeComparators
    • TypeIdentity
    • TypeKind
    • TypeKindHelpers
    • TypeReference
    • TypeResolver
    • TypeResolver<TSource, TContext>
    • UnionType
    • UnionTypeBuilder<TUnion, TContext>
    • UnionTypeDefinition
  • GraphZen.TypeSystem.Taxonomy
    • IAbstractType
    • IAbstractTypeDefinition
    • IAnnotatableDefinition
    • IArgument
    • IArgumentDefinition
    • IArguments
    • IArgumentsDefinition
    • IClrInfo
    • IClrType
    • ICompositeType
    • ICompositeTypeDefinition
    • IDeprecation
    • IDescription
    • IDirective
    • IDirectiveAnnotation
    • IDirectiveAnnotations
    • IDirectiveAnnotationsDefinition
    • IDirectiveDefinition
    • IDirectiveLocations
    • IDirectiveLocationsDefinition
    • IDirectives
    • IDirectivesDefinition
    • IEnumType
    • IEnumTypeDefinition
    • IEnumTypes
    • IEnumTypesDefinition
    • IEnumValue
    • IEnumValueDefinition
    • IEnumValues
    • IEnumValuesDefinition
    • IField
    • IFieldDefinition
    • IFields
    • IFieldsDefinition
    • IGraphQLType
    • IGraphQLTypeReference
    • IInputDefinition
    • IInputField
    • IInputFieldDefinition
    • IInputFields
    • IInputFieldsDefinition
    • IInputObjectType
    • IInputObjectTypeDefinition
    • IInputObjectTypes
    • IInputObjectTypesDefinition
    • IInputValue
    • IInputValueDefinition
    • IInterfaces
    • IInterfacesDefinition
    • IInterfaceType
    • IInterfaceTypeDefinition
    • IInterfaceTypes
    • IInterfaceTypesDefinition
    • ILeafType
    • ILeafTypeDefinition
    • IListType
    • ILiteralParser
    • ILiteralParserDefinition
    • IMember
    • IMemberDefinition
    • IMemberTypes
    • IMemberTypesDefinition
    • IMutableAbstractTypeDefinition
    • IMutableAnnotatableDefinition
    • IMutableArgumentDefinition
    • IMutableArgumentsDefinition
    • IMutableClrType
    • IMutableDefinition
    • IMutableDeprecation
    • IMutableDescription
    • IMutableDirectiveAnnotationsDefinition
    • IMutableDirectiveDefinition
    • IMutableDirectiveLocationsDefinition
    • IMutableDirectivesDefinition
    • IMutableEnumTypeDefinition
    • IMutableEnumTypesDefinition
    • IMutableEnumValueDefinition
    • IMutableEnumValuesDefinition
    • IMutableFieldDefinition
    • IMutableFieldsDefinition
    • IMutableInputFieldDefinition
    • IMutableInputFieldsDefinition
    • IMutableInputObjectTypeDefinition
    • IMutableInputObjectTypesDefinition
    • IMutableInputValueDefinition
    • IMutableInterfacesDefinition
    • IMutableInterfaceTypeDefinition
    • IMutableInterfaceTypesDefinition
    • IMutableLiteralParserDefinition
    • IMutableMemberTypesDefinition
    • IMutableMutationTypeDefinition
    • IMutableNamed
    • IMutableNamedTypeDefinition
    • IMutableObjectTypeDefinition
    • IMutableObjectTypesDefinition
    • IMutableQueryTypeDefinition
    • IMutableScalarTypeDefinition
    • IMutableScalarTypesDefinition
    • IMutableSchemaDefinition
    • IMutableSerializerDefinition
    • IMutableSubscriptionTypeDefinition
    • IMutableUnionTypeDefinition
    • IMutableUnionTypesDefinition
    • IMutableValueParserDefinition
    • IMutationType
    • IMutationTypeDefinition
    • INamed
    • INamedType
    • INamedTypeDefinition
    • INamedTypeReference
    • INonNullType
    • INullableType
    • IObjectType
    • IObjectTypeDefinition
    • IObjectTypes
    • IObjectTypesDefinition
    • IOutputDefinition
    • IQueryType
    • IQueryTypeDefinition
    • IScalarType
    • IScalarTypeDefinition
    • IScalarTypes
    • IScalarTypesDefinition
    • ISchema
    • ISchemaDefinition
    • ISerializer
    • ISerializerDefinition
    • ISubscriptionType
    • ISubscriptionTypeDefinition
    • ISyntaxConvertable
    • IUnionType
    • IUnionTypeDefinition
    • IUnionTypes
    • IUnionTypesDefinition
    • IValueParser
    • IValueParserDefinition
    • IWrappingNullableType
    • IWrappingType
  • GraphZen.Utilities
    • Helpers
    • TypeInfo

Class UnionType

Inheritance
Object
Member
AnnotatableMember
NamedType
UnionType
Implements
IUnionType
IUnionTypeDefinition
IOutputDefinition
ICompositeType
ICompositeTypeDefinition
IAbstractType
IAbstractTypeDefinition
INamedType
INamedTypeDefinition
IMemberDefinition
IDescription
INamedTypeReference
INamed
IDirectiveAnnotations
IDirectiveAnnotationsDefinition
IClrType
INullableType
IGraphQLType
IGraphQLTypeReference
ISyntaxConvertable
IMemberTypes
IMemberTypesDefinition
Inherited Members
NamedType.Name
NamedType.Description
NamedType.ClrType
NamedType.From(INamedTypeDefinition, Schema)
NamedType.ToString()
AnnotatableMember.GetDirectiveAnnotations()
AnnotatableMember.FindDirectiveAnnotation(String)
AnnotatableMember.DirectiveAnnotations
Namespace: GraphZen.TypeSystem
Assembly: GraphZen.TypeSystem.dll
Syntax
public class UnionType : NamedType, IUnionType, IUnionTypeDefinition, IOutputDefinition, ICompositeType, ICompositeTypeDefinition, IAbstractType, IAbstractTypeDefinition, INamedType, INamedTypeDefinition, IMemberDefinition, IDescription, INamedTypeReference, INamed, IDirectiveAnnotations, IDirectiveAnnotationsDefinition, IClrType, INullableType, IGraphQLType, IGraphQLTypeReference, ISyntaxConvertable, IMemberTypes, IMemberTypesDefinition

Constructors

UnionType(String, String, Type, Lazy<IReadOnlyDictionary<String, ObjectType>>, TypeResolver<Object, GraphQLContext>, IReadOnlyList<IDirectiveAnnotation>)

Declaration
public UnionType(string name, string description, Type clrType, Lazy<IReadOnlyDictionary<string, ObjectType>> lazyTypes, TypeResolver<object, GraphQLContext> resolveType, IReadOnlyList<IDirectiveAnnotation> directives)
Parameters
Type Name Description
String name
String description
Type clrType
Lazy<IReadOnlyDictionary<String, ObjectType>> lazyTypes
TypeResolver<Object, GraphQLContext> resolveType
IReadOnlyList<IDirectiveAnnotation> directives

Properties

DirectiveLocation

Declaration
public override DirectiveLocation DirectiveLocation { get; }
Property Value
Type Description
DirectiveLocation
Overrides
AnnotatableMember.DirectiveLocation

Kind

Declaration
public override TypeKind Kind { get; }
Property Value
Type Description
TypeKind
Overrides
NamedType.Kind

MemberTypes

Declaration
public IReadOnlyList<ObjectType> MemberTypes { get; }
Property Value
Type Description
IReadOnlyList<ObjectType>

MemberTypesMap

Declaration
public IReadOnlyDictionary<string, ObjectType> MemberTypesMap { get; }
Property Value
Type Description
IReadOnlyDictionary<String, ObjectType>

ResolveType

Declaration
public TypeResolver<object, GraphQLContext> ResolveType { get; }
Property Value
Type Description
TypeResolver<Object, GraphQLContext>

Methods

From(IUnionTypeDefinition, Schema)

Declaration
public static UnionType From(IUnionTypeDefinition definition, Schema schema)
Parameters
Type Name Description
IUnionTypeDefinition definition
Schema schema
Returns
Type Description
UnionType

GetMemberTypes()

Declaration
public IEnumerable<ObjectType> GetMemberTypes()
Returns
Type Description
IEnumerable<ObjectType>

ToSyntaxNode()

Declaration
public override SyntaxNode ToSyntaxNode()
Returns
Type Description
SyntaxNode
Overrides
Member.ToSyntaxNode()

Explicit Interface Implementations

IMemberTypesDefinition.GetMemberTypes()

Declaration
IEnumerable<IObjectTypeDefinition> IMemberTypesDefinition.GetMemberTypes()
Returns
Type Description
IEnumerable<IObjectTypeDefinition>

Implements

IUnionType
IUnionTypeDefinition
IOutputDefinition
ICompositeType
ICompositeTypeDefinition
IAbstractType
IAbstractTypeDefinition
INamedType
INamedTypeDefinition
IMemberDefinition
IDescription
INamedTypeReference
INamed
IDirectiveAnnotations
IDirectiveAnnotationsDefinition
IClrType
INullableType
IGraphQLType
IGraphQLTypeReference
ISyntaxConvertable
IMemberTypes
IMemberTypesDefinition

Extension Methods

GraphQLTypeExtensions.Print(ISyntaxConvertable)
GraphQLTypeExtensions.IsInputType(IGraphQLTypeReference)
GraphQLTypeExtensions.IsOutputType(IGraphQLTypeReference)
GraphQLTypeExtensions.GetNamedType(IGraphQLType)
GraphQLTypeExtensions.GetNullableType(IGraphQLType)
SyntaxHelpers.ToTypeSyntax(IGraphQLType)
TypeComparators.IsSubtypeOf(IGraphQLType, IGraphQLType, Schema)
Back to top Copyright © 2017-2019 GraphZen LLC