Class QueryTransformer

java.lang.Object
graphql.analysis.QueryTransformer

@PublicApi public class QueryTransformer extends Object
Helps to transform a Document (or parts of it) and tracks at the same time the corresponding Schema types.

This is an important distinction to just traversing the Document without any type information: Each field has a clearly defined type. See QueryVisitorFieldEnvironment.

Furthermore are the built in Directives skip/include automatically evaluated: if parts of the Document should be ignored they will not be visited. But this is not a full evaluation of a Query: every fragment will be visited/followed regardless of the type condition.

It also doesn't consider field merging, which means for example { user{firstName} user{firstName}} will result in four visitField calls.