Package graphql.schema
Class GraphQLCodeRegistry
- java.lang.Object
-
- graphql.schema.GraphQLCodeRegistry
-
@PublicApi public class GraphQLCodeRegistry extends java.lang.Object
TheGraphQLCodeRegistryholds that execution code that is associated with graphql types, namely theDataFetchers associated with fields, theTypeResolvers associated with abstract types and theGraphqlFieldVisibilityFor legacy reasons these code functions can still exist on the original type objects but this will be removed in a future version. Once removed the type system objects will be able have proper hashCode/equals methods and be checked for proper equality.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGraphQLCodeRegistry.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DataFetcher<?>getDataFetcher(FieldCoordinates coordinates, GraphQLFieldDefinition fieldDefinition)Returns a data fetcher associated with a field located at specified coordinates.DataFetcher<?>getDataFetcher(GraphQLObjectType parentType, GraphQLFieldDefinition fieldDefinition)Returns a data fetcher associated with a field within an object typeGraphqlFieldVisibilitygetFieldVisibility()TypeResolvergetTypeResolver(GraphQLInterfaceType interfaceType)Returns the type resolver associated with this interface typeTypeResolvergetTypeResolver(GraphQLUnionType unionType)Returns the type resolver associated with this union typebooleanhasDataFetcher(FieldCoordinates coordinates)Returns true if the code registry contained a data fetcher at the specified co-ordinatesstatic GraphQLCodeRegistry.BuildernewCodeRegistry()static GraphQLCodeRegistry.BuildernewCodeRegistry(GraphQLCodeRegistry existingCodeRegistry)Returns a new builder ofGraphQLCodeRegistryobjects based on the existing oneGraphQLCodeRegistrytransform(java.util.function.Consumer<GraphQLCodeRegistry.Builder> builderConsumer)This helps you transform the currentGraphQLCodeRegistryobject into another one by starting a builder with all the current values and allows you to transform it how you want.
-
-
-
Method Detail
-
getFieldVisibility
public GraphqlFieldVisibility getFieldVisibility()
- Returns:
- the
GraphqlFieldVisibility
-
getDataFetcher
public DataFetcher<?> getDataFetcher(GraphQLObjectType parentType, GraphQLFieldDefinition fieldDefinition)
Returns a data fetcher associated with a field within an object type- Parameters:
parentType- the container typefieldDefinition- the field definition- Returns:
- the DataFetcher associated with this field. All fields have data fetchers
-
getDataFetcher
public DataFetcher<?> getDataFetcher(FieldCoordinates coordinates, GraphQLFieldDefinition fieldDefinition)
Returns a data fetcher associated with a field located at specified coordinates.- Parameters:
coordinates- the field coordinatesfieldDefinition- the field definition- Returns:
- the DataFetcher associated with this field. All fields have data fetchers
-
hasDataFetcher
public boolean hasDataFetcher(FieldCoordinates coordinates)
Returns true if the code registry contained a data fetcher at the specified co-ordinates- Parameters:
coordinates- the field coordinates- Returns:
- the true if there is a data fetcher at those co-ordinates
-
getTypeResolver
public TypeResolver getTypeResolver(GraphQLInterfaceType interfaceType)
Returns the type resolver associated with this interface type- Parameters:
interfaceType- the interface type- Returns:
- a non null
TypeResolver
-
getTypeResolver
public TypeResolver getTypeResolver(GraphQLUnionType unionType)
Returns the type resolver associated with this union type- Parameters:
unionType- the union type- Returns:
- a non null
TypeResolver
-
transform
public GraphQLCodeRegistry transform(java.util.function.Consumer<GraphQLCodeRegistry.Builder> builderConsumer)
This helps you transform the currentGraphQLCodeRegistryobject 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 GraphQLCodeRegistry object based on calling build on that builder
-
newCodeRegistry
public static GraphQLCodeRegistry.Builder newCodeRegistry()
- Returns:
- a new builder of
GraphQLCodeRegistryobjects
-
newCodeRegistry
public static GraphQLCodeRegistry.Builder newCodeRegistry(GraphQLCodeRegistry existingCodeRegistry)
Returns a new builder ofGraphQLCodeRegistryobjects based on the existing one- Parameters:
existingCodeRegistry- the existing code registry to use- Returns:
- a new builder of
GraphQLCodeRegistryobjects
-
-