public class SchemaCustomizer extends Object
Modifier and Type | Field and Description |
---|---|
protected List<graphql.schema.GraphQLType> |
additionalTypes
List of additional types to add
|
protected List<org.craftercms.engine.graphql.impl.SchemaCustomizer.FieldBuilder> |
customFields
List of custom fields to add
|
static graphql.schema.DataFetcher<?> |
EMPTY_DATA_FETCHER |
protected List<org.craftercms.engine.graphql.impl.SchemaCustomizer.FetcherBuilder> |
fetchers
List of custom fetchers to add
|
protected List<org.craftercms.engine.graphql.impl.SchemaCustomizer.ResolverBuilder> |
resolvers
List of custom resolvers to add
|
Constructor and Description |
---|
SchemaCustomizer() |
Modifier and Type | Method and Description |
---|---|
void |
additionalTypes(graphql.schema.GraphQLType... types)
Adds one or more additional types (needed during runtime but not referenced by any field)
|
protected void |
apply(String rootTypeName,
graphql.schema.GraphQLObjectType.Builder rootTypeBuilder,
graphql.schema.GraphQLCodeRegistry.Builder codeRegistry,
Map<String,graphql.schema.GraphQLObjectType.Builder> types)
Updates the root type & code registry with the custom fields & fetchers
|
void |
fetcher(String typeName,
String fieldName,
graphql.schema.DataFetcher<?> dataFetcher)
Adds a custom fetcher
|
void |
field(graphql.schema.GraphQLFieldDefinition.Builder field)
Adds a custom field to the root type without a fetcher (for wrapper fields)
|
void |
field(graphql.schema.GraphQLFieldDefinition.Builder field,
graphql.schema.DataFetcher<?> fetcher)
Adds a custom field to the root type
|
void |
field(String typeName,
graphql.schema.GraphQLFieldDefinition.Builder field)
Adds a custom field to a specific type without a fetcher (for wrapper fields)
|
void |
field(String typeName,
graphql.schema.GraphQLFieldDefinition.Builder field,
graphql.schema.DataFetcher<?> fetcher)
Adds a custom field to a specific type
|
Set<graphql.schema.GraphQLType> |
getAdditionalTypes()
Returns the set of additional types to add
|
void |
resolver(String typeName,
graphql.schema.TypeResolver resolver)
Adds a custom resolver
|
public static final graphql.schema.DataFetcher<?> EMPTY_DATA_FETCHER
protected List<org.craftercms.engine.graphql.impl.SchemaCustomizer.FieldBuilder> customFields
protected List<org.craftercms.engine.graphql.impl.SchemaCustomizer.FetcherBuilder> fetchers
protected List<org.craftercms.engine.graphql.impl.SchemaCustomizer.ResolverBuilder> resolvers
protected List<graphql.schema.GraphQLType> additionalTypes
public void field(graphql.schema.GraphQLFieldDefinition.Builder field, graphql.schema.DataFetcher<?> fetcher)
field
- the field definitionfetcher
- the fetcher for the fieldpublic void field(graphql.schema.GraphQLFieldDefinition.Builder field)
field
- the field definitionpublic void field(String typeName, graphql.schema.GraphQLFieldDefinition.Builder field, graphql.schema.DataFetcher<?> fetcher)
typeName
- the name of the typefield
- the field definitionfetcher
- the fetcher for the fieldpublic void field(String typeName, graphql.schema.GraphQLFieldDefinition.Builder field)
typeName
- the name of the typefield
- the field definitionpublic void fetcher(String typeName, String fieldName, graphql.schema.DataFetcher<?> dataFetcher)
typeName
- the name of the GraphQL typefieldName
- the name of the GraphQL fielddataFetcher
- the fetcher to usepublic void resolver(String typeName, graphql.schema.TypeResolver resolver)
typeName
- the name of the GraphQL interfaceresolver
- the resolver to usepublic void additionalTypes(graphql.schema.GraphQLType... types)
types
- the types to addprotected void apply(String rootTypeName, graphql.schema.GraphQLObjectType.Builder rootTypeBuilder, graphql.schema.GraphQLCodeRegistry.Builder codeRegistry, Map<String,graphql.schema.GraphQLObjectType.Builder> types)
rootTypeName
- the name of the root typerootTypeBuilder
- the root typecodeRegistry
- the code registrypublic Set<graphql.schema.GraphQLType> getAdditionalTypes()
Copyright © 2020 CrafterCMS. All rights reserved.