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 specifiedFieldComplexityCalculator
you pass into it.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
QueryComplexityCalculator.Builder
-
Field Summary
Fields Modifier and Type Field Description private Document
document
private FieldComplexityCalculator
fieldComplexityCalculator
private java.lang.String
operationName
private GraphQLSchema
schema
private CoercedVariables
variables
-
Constructor Summary
Constructors Constructor Description QueryComplexityCalculator(QueryComplexityCalculator.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
calculate()
java.util.Map<QueryVisitorFieldEnvironment,java.lang.Integer>
calculateByParents()
private int
calculateComplexity(QueryVisitorFieldEnvironment queryVisitorFieldEnvironment, int childComplexity)
private FieldComplexityEnvironment
convertEnv(QueryVisitorFieldEnvironment queryVisitorFieldEnvironment)
static QueryComplexityCalculator.Builder
newCalculator()
-
-
-
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()
-
-