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

graphql.execution.instrumentation.nextgen.Instrumentation Maven / Gradle / Ivy

The newest version!
package graphql.execution.instrumentation.nextgen;

import graphql.ExecutionInput;
import graphql.ExecutionResult;
import graphql.Internal;
import graphql.execution.instrumentation.DocumentAndVariables;
import graphql.execution.instrumentation.InstrumentationContext;
import graphql.execution.instrumentation.InstrumentationState;
import graphql.language.Document;
import graphql.schema.GraphQLSchema;
import graphql.validation.ValidationError;

import java.util.List;

import static graphql.execution.instrumentation.SimpleInstrumentationContext.noOp;

@Internal
public interface Instrumentation {

    default InstrumentationState createState(InstrumentationCreateStateParameters parameters) {
        return new InstrumentationState() {
        };
    }

    default ExecutionInput instrumentExecutionInput(ExecutionInput executionInput, InstrumentationExecutionParameters parameters) {
        return executionInput;
    }

    default DocumentAndVariables instrumentDocumentAndVariables(DocumentAndVariables documentAndVariables, InstrumentationExecutionParameters parameters) {
        return documentAndVariables;
    }

    default GraphQLSchema instrumentSchema(GraphQLSchema graphQLSchema, InstrumentationExecutionParameters parameters) {
        return graphQLSchema;
    }

    default ExecutionResult instrumentExecutionResult(ExecutionResult result, InstrumentationExecutionParameters parameters) {
        return result;
    }

    default InstrumentationContext beginExecution(InstrumentationExecutionParameters parameters) {
        return noOp();
    }

    default InstrumentationContext beginParse(InstrumentationExecutionParameters parameters) {
        return noOp();
    }

    default InstrumentationContext> beginValidation(InstrumentationValidationParameters parameters) {
        return noOp();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy