Package graphql.analysis
Class QueryComplexityCalculator
- java.lang.Object
-
- graphql.analysis.QueryComplexityCalculator
-
@PublicApi public class QueryComplexityCalculator extends java.lang.Object
This can calculate the complexity of an operation using the specifiedFieldComplexityCalculatoryou pass into it.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classQueryComplexityCalculator.Builder
-
Field Summary
Fields Modifier and Type Field Description private Documentdocumentprivate FieldComplexityCalculatorfieldComplexityCalculatorprivate java.lang.StringoperationNameprivate GraphQLSchemaschemaprivate CoercedVariablesvariables
-
Constructor Summary
Constructors Constructor Description QueryComplexityCalculator(QueryComplexityCalculator.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcalculate()java.util.Map<QueryVisitorFieldEnvironment,java.lang.Integer>calculateByParents()private intcalculateComplexity(QueryVisitorFieldEnvironment queryVisitorFieldEnvironment, int childComplexity)private FieldComplexityEnvironmentconvertEnv(QueryVisitorFieldEnvironment queryVisitorFieldEnvironment)static QueryComplexityCalculator.BuildernewCalculator()
-
-
-
Field Detail
-
fieldComplexityCalculator
private final FieldComplexityCalculator fieldComplexityCalculator
-
schema
private final GraphQLSchema schema
-
document
private final Document document
-
operationName
private final java.lang.String operationName
-
variables
private final CoercedVariables variables
-
-
Constructor Detail
-
QueryComplexityCalculator
public QueryComplexityCalculator(QueryComplexityCalculator.Builder builder)
-
-
Method Detail
-
calculate
public int calculate()
-
calculateByParents
public java.util.Map<QueryVisitorFieldEnvironment,java.lang.Integer> calculateByParents()
- Returns:
- a map that shows the field complexity for each field level in the operation
-
calculateComplexity
private int calculateComplexity(QueryVisitorFieldEnvironment queryVisitorFieldEnvironment, int childComplexity)
-
convertEnv
private FieldComplexityEnvironment convertEnv(QueryVisitorFieldEnvironment queryVisitorFieldEnvironment)
-
newCalculator
public static QueryComplexityCalculator.Builder newCalculator()
-
-