All Downloads are FREE. Search and download functionalities are using the official Maven repository.

graphql.schema.DataFetchingEnvironment Maven / Gradle / Ivy

There is a newer version: 230521-nf-execution
Show newest version
package graphql.schema;

import graphql.PublicApi;
import graphql.execution.ExecutionId;
import graphql.execution.ExecutionTypeInfo;
import graphql.language.Field;
import graphql.language.FragmentDefinition;

import java.util.List;
import java.util.Map;

/**
 * A DataFetchingEnvironment instance of passed to a {@link DataFetcher} as an execution context parameter
 */
@PublicApi
public interface DataFetchingEnvironment {

    /**
     * This is the value of the current object to be queried.
     * Or to put it differently: it is the value of the parent field.
     * 

* For the root query, it is equal to {{@link DataFetchingEnvironment#getRoot} * * @param you decide what type it is * * @return can be null for the root query, otherwise it is never null */ T getSource(); /** * @return the arguments that have been passed in via the graphql query */ Map getArguments(); /** * Returns true of the named argument is present * * @param name the name of the argument * * @return true of the named argument is present */ boolean containsArgument(String name); /** * Returns the named argument * * @param name the name of the argument * @param you decide what type it is * * @return the named argument or null if its not [present */ T getArgument(String name); /** * Returns a context argument that is set up when the {@link graphql.GraphQL#execute} method * is invoked. *

* This is a info object which is provided to all DataFetcher, but never used by graphql-java itself. * * @param you decide what type it is * * @return can be null */ T getContext(); /** * This is the source object for the root query. * * @param you decide what type it is * * @return can be null */ T getRoot(); /** * @return the definition of the current field */ GraphQLFieldDefinition getFieldDefinition(); /** * @return the list of fields currently in query context */ List getFields(); /** * @return graphql type of the current field */ GraphQLOutputType getFieldType(); /** * @return the field {@link ExecutionTypeInfo} for the current data fetch operation */ ExecutionTypeInfo getFieldTypeInfo(); /** * @return the type of the parent of the current field */ GraphQLType getParentType(); /** * @return the underlying graphql schema */ GraphQLSchema getGraphQLSchema(); /** * @return the {@link FragmentDefinition} map for the current data fetch operation */ Map getFragmentsByName(); /** * @return the {@link ExecutionId} for the current data fetch operation */ ExecutionId getExecutionId(); /** * @return the {@link DataFetchingFieldSelectionSet} for the current data fetch operation */ DataFetchingFieldSelectionSet getSelectionSet(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy