MutableSchemaDefinition

data class MutableSchemaDefinition(objects: ArrayList<TypeDef.Object<*>>, queries: ArrayList<QueryDef<*>>, scalars: ArrayList<TypeDef.Scalar<*>>, mutations: ArrayList<MutationDef<*>>, subscriptions: ArrayList<SubscriptionDef<*>>, enums: ArrayList<TypeDef.Enumeration<*>>, unions: ArrayList<TypeDef.Union>, directives: ArrayList<Directive.Partial>, inputObjects: ArrayList<TypeDef.Input<*>>)

Intermediate, mutable data structure used to prepare SchemaDefinition Performs basic validation (names duplication etc.) when methods for adding schema components are invoked

Constructors

MutableSchemaDefinition
Link copied to clipboard
fun MutableSchemaDefinition(objects: ArrayList<TypeDef.Object<*>> = arrayListOf( TypeDef.Object(__Schema::class.defaultKQLTypeName(), __Schema::class), create__TypeDefinition(), create__DirectiveDefinition() ), queries: ArrayList<QueryDef<*>> = arrayListOf(), scalars: ArrayList<TypeDef.Scalar<*>> = arrayListOf( BUILT_IN_TYPE.STRING, BUILT_IN_TYPE.BOOLEAN, BUILT_IN_TYPE.DOUBLE, BUILT_IN_TYPE.FLOAT, BUILT_IN_TYPE.SHORT, BUILT_IN_TYPE.INT, BUILT_IN_TYPE.LONG, ), mutations: ArrayList<MutationDef<*>> = arrayListOf(), subscriptions: ArrayList<SubscriptionDef<*>> = arrayListOf(), enums: ArrayList<TypeDef.Enumeration<*>> = arrayListOf( TypeDef.Enumeration ( "__" + TypeKind::class.defaultKQLTypeName(), TypeKind::class, enumValues<TypeKind>().map { EnumValueDef(it) } ), TypeDef.Enumeration ( "__" + DirectiveLocation::class.defaultKQLTypeName(), DirectiveLocation::class, enumValues<DirectiveLocation>().map { EnumValueDef(it) } ) ), unions: ArrayList<TypeDef.Union> = arrayListOf(), directives: ArrayList<Directive.Partial> = arrayListOf( Directive.SKIP, Directive.INCLUDE ), inputObjects: ArrayList<TypeDef.Input<*>> = arrayListOf())

Functions

addEnum
Link copied to clipboard
fun addEnum(enum: TypeDef.Enumeration<*>)
addInputObject
Link copied to clipboard
fun addInputObject(input: TypeDef.Input<*>)
addMutation
Link copied to clipboard
fun addMutation(mutation: MutationDef<*>)
addObject
Link copied to clipboard
fun addObject(objectType: TypeDef.Object<*>)
addQuery
Link copied to clipboard
fun addQuery(query: QueryDef<*>)
addScalar
Link copied to clipboard
fun addScalar(scalar: TypeDef.Scalar<*>)
addSubscription
Link copied to clipboard
fun addSubscription(subscription: SubscriptionDef<*>)
addType
Link copied to clipboard
fun <T : Definition> addType(type: T, target: ArrayList<T>, typeCategory: String)
addUnion
Link copied to clipboard
fun addUnion(union: TypeDef.Union)
toSchemaDefinition
Link copied to clipboard
fun toSchemaDefinition(): SchemaDefinition

Properties

unionsMonitor
Link copied to clipboard
val unionsMonitor: List<TypeDef.Union>