protected SchemaDefinition createSchemaDefinition(GraphqlParser.SchemaDefinitionContext ctx) { SchemaDefinition.Builder def = SchemaDefinition.newSchemaDefinition(); addCommonData(def, ctx); def.directives(createDirectives(ctx.directives())); def.operationTypeDefinitions(ctx.operationTypeDefinition().stream() .map(this::createOperationTypeDefinition).collect(toList())); return def.build(); }
protected SchemaDefinition createSchemaDefinition(GraphqlParser.SchemaDefinitionContext ctx) { SchemaDefinition.Builder def = SchemaDefinition.newSchemaDefinition(); addCommonData(def, ctx); def.directives(createDirectives(ctx.directives())); def.operationTypeDefinitions(ctx.operationTypeDefinition().stream() .map(this::createOperationTypeDefinition).collect(toList())); return def.build(); }
@Override public TraversalControl visitSchemaDefinition(SchemaDefinition node, TraverserContext<Node> context) { SchemaDefinition changedNode = node.transform(builder -> { builder.directives(sort(node.getDirectives(), comparing(Directive::getName))); builder.operationTypeDefinitions(sort(node.getOperationTypeDefinitions(), comparing(OperationTypeDefinition::getName))); }); return changeNode(context, changedNode); }
@Override public SchemaDefinition withNewChildren(NodeChildrenContainer newChildren) { return transform(builder -> builder .directives(newChildren.getChildren(CHILD_DIRECTIVES)) .operationTypeDefinitions(newChildren.getChildren(CHILD_OPERATION_TYPE_DEFINITIONS)) ); }
@Override public SchemaDefinition withNewChildren(NodeChildrenContainer newChildren) { return transform(builder -> builder .directives(newChildren.getChildren(CHILD_DIRECTIVES)) .operationTypeDefinitions(newChildren.getChildren(CHILD_OPERATION_TYPE_DEFINITIONS)) ); }
@Override public TraversalControl visitSchemaDefinition(SchemaDefinition node, TraverserContext<Node> context) { SchemaDefinition changedNode = node.transform(builder -> { builder.directives(sort(node.getDirectives(), comparing(Directive::getName))); builder.operationTypeDefinitions(sort(node.getOperationTypeDefinitions(), comparing(OperationTypeDefinition::getName))); }); return changeNode(context, changedNode); }