environment.getCodeRegistry().dataFetcher(coordinates, dataFetcher); return field.transform(builder -> builder .argument(GraphQLArgument .newArgument()
@Override public GraphQLFieldDefinition transformField(GraphQLFieldDefinition field, Operation operation, OperationMapper operationMapper, BuildContext buildContext) { //Publisher returned from a subscription must be mapped as singular result (i.e. not a list) if (operation.getOperationType() == OperationDefinition.Operation.SUBSCRIPTION) { return field.transform(builder -> builder.type(unwrapList(field.getType()))); } //In other operations, a Publisher is effectively equivalent to a list return field; }
@Override public GraphQLFieldDefinition transformField(GraphQLFieldDefinition field, Operation operation, OperationMapper operationMapper, BuildContext buildContext) { if (shouldWrap(field.getType(), operation.getTypedElement())) { return field.transform(builder -> builder.type(new GraphQLNonNull(field.getType()))); } return field; }
@Override public GraphQLFieldDefinition onField(AnnotationsWiringEnvironment environment) { GraphQLFieldDefinition field = (GraphQLFieldDefinition) environment.getElement(); boolean isActive = (boolean) environment.getDirective().getArgument("isActive").getValue(); DataFetcher dataFetcher = DataFetcherFactories.wrapDataFetcher(field.getDataFetcher(), (((dataFetchingEnvironment, value) -> { if (value instanceof String && isActive) { return ((String) value).toUpperCase(); } return value; }))); return field.transform(builder -> builder.dataFetcher(dataFetcher)); } }
@Override public GraphQLFieldDefinition onField(AnnotationsWiringEnvironment environment) { GraphQLFieldDefinition field = (GraphQLFieldDefinition) environment.getElement(); String suffix = (String) environment.getDirective().getArgument("suffix").getValue(); DataFetcher dataFetcher = DataFetcherFactories.wrapDataFetcher(field.getDataFetcher(), (((dataFetchingEnvironment, value) -> { if (value instanceof String) { return value + suffix; } return value; }))); return field.transform(builder -> builder.dataFetcher(dataFetcher)); } }