.name("stopAtDistance") .field(GraphQLFieldDefinition.newFieldDefinition() .name("stop") .type(stopType) .dataFetcher(environment -> ((GraphIndex.StopAndDistance) environment.getSource()).stop) .build()) .field(GraphQLFieldDefinition.newFieldDefinition() .name("distance") .type(Scalars.GraphQLInt) .dataFetcher(environment -> ((GraphIndex.StopAndDistance) environment.getSource()).distance) .build()) .build(); .name("StoptimesInPattern") .field(GraphQLFieldDefinition.newFieldDefinition() .name("pattern") .type(patternType) .get(((StopTimesInPattern) environment.getSource()).pattern.id)) .build()) .field(GraphQLFieldDefinition.newFieldDefinition() .name("stoptimes") .type(new GraphQLList(stoptimeType)) .dataFetcher(environment -> ((StopTimesInPattern) environment.getSource()).times) .build()) .build(); .name("Cluster") .withInterface(nodeInterface)
@Override public GraphQLObjectType createType(GQLTypeCache cache) { return newObject() .name(BRANCH) .withInterface(projectEntityInterface.getTypeRef()) .fields(projectEntityInterfaceFields()) .field(GraphqlUtils.disabledField()) .field( newFieldDefinition() .name("type") .field( newFieldDefinition() .name("project") .field( newFieldDefinition() .name("promotionLevels") .field( newFieldDefinition() .name("validationStamps") .field( newFieldDefinition() .name("builds") .build();
GraphQLObjectType.Builder glType = GraphQLObjectType.newObject().name(typeName); GraphQLTypeReference glTypeReference = new GraphQLTypeReference(typeName); ImmutableList.Builder<GraphQLFieldDefinition> fields = ImmutableList.builder(); glType.description(maybeGraphqlDesc.get().value()); typeArguments.pop(); glType.fields(fields.build()); glType.withInterface((GraphQLInterfaceType) getOutputTypeCache().get(nodeTypeName)); rv = (GraphQLObjectType) getOutputTypeCache().put(typeName, glType.build()); } catch (InstantiationException | IllegalAccessException ex) { LOGGER.error("Unable to instantiate query factory for type class {}", classType.getName(), ex);
GraphQLObjectType.Builder viewerObject = GraphQLObjectType.newObject().name(graphQLController.rootQueriesObjectName()); if (!AnnotationUtils.isNullValue(graphQLController.queryDescription())) { viewerObject.description(graphQLController.queryDescription()); viewerObject.fields(viewFields); rootViewField.type(viewerObject.build()); rootViewFieldsBuilder.add(rootViewField.build()); GraphQLObjectType.Builder mutObject = GraphQLObjectType.newObject().name(graphQLController.rootMutationsObjectName()); if (!AnnotationUtils.isNullValue(graphQLController.mutationDescription())) { mutObject.description(graphQLController.mutationDescription()); mutObject.fields(mutFields); rootMutationField.type(mutObject.build()); rootMutationFieldsBuilder.add(rootMutationField.build()); rootQueryBuilder.fields(rootViewFieldsBuilder.build()); builder.query(rootQueryBuilder.build()); rootMutationBuilder.fields(rootMutationFieldsBuilder.build()); builder.mutation(rootMutationBuilder.build());
.name(objectName) .description(objectDescription) .fields(graphQLFieldDefinitions) .withInterfaces(resolveInterfaceReferences(dfsContext, graphQLInterfaceTypes)) .build();
.build(); GraphQLObjectType outputType = newObject() .name(mutation.getName() + "Payload") .field(newFieldDefinition() .name(CLIENT_MUTATION_ID) .type(new GraphQLNonNull(GraphQLString)) ? ((ContextWrapper) env.getContext()).getClientMutationId() : new PropertyDataFetcher(CLIENT_MUTATION_ID))) .fields(outputFields) .build();
.name(messageBundle.interpolate(queryRoot)) .description(messageBundle.interpolate(queryRootDescription)) .fields(operationMapper.getQueries()) .build()); .name(messageBundle.interpolate(mutationRoot)) .description(messageBundle.interpolate(mutationRootDescription)) .fields(mutations) .build()); if (!subscriptions.isEmpty()) { builder.subscription(newObject() .name(messageBundle.interpolate(subscriptionRoot)) .description(messageBundle.interpolate(subscriptionRootDescription)) .fields(subscriptions) .build());
builder.name(graphQLObjectInfoRetriever.getTypeName(object)); GraphQLDescription description = object.getAnnotation(GraphQLDescription.class); if (description != null) { builder.description(description.value()); GraphQLFieldDefinition gqlField = graphQLFieldRetriever.getField(method, container); definedFields.add(gqlField.getName()); builder.field(gqlField); GraphQLFieldDefinition gqlField = graphQLFieldRetriever.getField(field, container); definedFields.add(gqlField.getName()); builder.field(gqlField); String ifaceName = graphQLObjectInfoRetriever.getTypeName(iface); if (container.getProcessing().contains(ifaceName)) { builder.withInterface(new GraphQLTypeReference(ifaceName)); } else { builder.withInterface((GraphQLInterfaceType) graphQLInterfaceRetriever.getInterface(iface, container)); builder.fields(extensionsHandler.getExtensionFields(iface, definedFields, container)); builder.fields(extensionsHandler.getExtensionFields(object, definedFields, container));
Builder tagType = newObject().name(TAG_TYPE_NAME).description("Tag of a node."); interfaceTypeProvider.addCommonFields(tagType); tagType.field(newFieldDefinition().name("name").description("Name of the tag").type(GraphQLString).dataFetcher((env) -> { Tag tag = env.getSource(); return tag.getName(); tagType.field(newFieldDefinition().name("tagFamily").description("Tag family to which the tag belongs").dataFetcher((env) -> { GraphQLContext gc = env.getContext(); Tag tag = env.getSource(); tagType.field(newFieldDefinition().name("nodes").description("Nodes which are tagged with the tag.") .type(new GraphQLTypeReference(NODE_PAGE_TYPE_NAME)) .argument(createPagingArgs()) })); return tagType.build();
private GraphQLFieldDefinition getQueryFieldSelectDefinition(EntityType<?> entityType) { .name(namingStrategy.pluralize(entityType.getName())) .description("Query response wrapper object for " + entityType.getName() + ". When page is requested, this object will be returned with query metadata.") .field(GraphQLFieldDefinition.newFieldDefinition() .name(GraphQLJpaSchemaBuilder.PAGE_PAGES_PARAM_NAME) .description("Total number of pages calculated on the database for this page size.") .build() .field(GraphQLFieldDefinition.newFieldDefinition() .name(GraphQLJpaSchemaBuilder.PAGE_TOTAL_PARAM_NAME) .description("Total number of records in the database for this query.") .build() .field(GraphQLFieldDefinition.newFieldDefinition() .name(GraphQLJpaSchemaBuilder.QUERY_SELECT_PARAM_NAME) .description("The queried records container") .build() .build();
public GraphQLObjectType createType() { Builder root = newObject(); root.name(MESH_TYPE_NAME); root.description("Mesh version information"); root.field(newFieldDefinition().name("meshVersion").description("Version of mesh").type(GraphQLString).dataFetcher((env) -> { return Mesh.getPlainVersion(); })); root.field(newFieldDefinition().name("meshNodeId").description("Node id of this mesh instance").type(GraphQLString).dataFetcher((env) -> { return Mesh.mesh().getOptions().getNodeName(); })); root.field(newFieldDefinition().name("databaseVendor").description("Name of the graph database vendor").type(GraphQLString) .dataFetcher((env) -> { return db.getVendorName(); root.field(newFieldDefinition().name("databaseVersion").description("Version of the used graph database").type(GraphQLString) .dataFetcher((env) -> { return db.getVersion(); root.field(newFieldDefinition().name("searchVendor").description("Name of the search index vendor").type(GraphQLString).dataFetcher((env) -> { return searchProvider.getVendorName(); })); root.field( newFieldDefinition().name("searchVersion").description("Version of the used search index").type(GraphQLString).dataFetcher((env) -> { return searchProvider.getVersion(); root.field(newFieldDefinition().name("vertxVersion").description("Vert.x version").type(GraphQLString).dataFetcher((env) -> { return VersionCommand.getVersion();
builder.definition(typeDefinition); builder.name(typeDefinition.getName()); builder.description(schemaGeneratorHelper.buildDescription(typeDefinition, typeDefinition.getDescription())); builder.withDirectives( buildDirectives(typeDefinition.getDirectives(), directivesOf(extensions), OBJECT, buildCtx.getDirectiveDefinitions()) builder.field(fieldAndParams.fieldDefinition); encounteredFields.add(fieldAndParams); }); if (!builder.hasField(fieldAndParams.fieldDefinition.getName())) { builder.field(fieldAndParams.fieldDefinition); encounteredFields.add(fieldAndParams); GraphQLObjectType objectType = builder.build(); objectType = objectType.transform(objBuilder -> objBuilder.field(fieldDefinition));
@Override public GraphQLObjectType.Builder getObjectBuilder(Class<?> object) throws GraphQLAnnotationsException { GraphQLObjectType.Builder builder = newObject(); builder.name(getTypeName(object)); GraphQLDescription description = object.getAnnotation(GraphQLDescription.class); if (description != null) { builder.description(description.value()); builder.field(getField(method)); builder.field(getField(field)); builder.withInterface((GraphQLInterfaceType) getInterface(iface));
@Override public GraphQLObjectType createType(GQLTypeCache cache) { return newObject() .name(PROMOTION_LEVEL) .withInterface(projectEntityInterface.getTypeRef()) .fields(projectEntityInterfaceFields()) .field(f -> f.name("image") .description("Flag to indicate if an image is associated") .type(Scalars.GraphQLBoolean) .field( newFieldDefinition() .name("branch") .field( newFieldDefinition() .name("promotionRuns") .build();
private void doUpdateSchema() { final GraphQLObjectType.Builder queryTypeBuilder = newObject().name("Query").description("Root query type"); for (GraphQLQueryProvider provider : queryProviders) { if (provider.getQueries() != null && !provider.getQueries().isEmpty()) { provider.getQueries().forEach(queryTypeBuilder::field); } } final Set<GraphQLType> types = new HashSet<>(); for (GraphQLTypesProvider typesProvider : typesProviders) { types.addAll(typesProvider.getTypes()); } GraphQLObjectType mutationType = null; if (!mutationProviders.isEmpty()) { final GraphQLObjectType.Builder mutationTypeBuilder = newObject().name("Mutation").description("Root mutation type"); for (GraphQLMutationProvider provider : mutationProviders) { provider.getMutations().forEach(mutationTypeBuilder::field); } if (!mutationTypeBuilder.build().getFieldDefinitions().isEmpty()) { mutationType = mutationTypeBuilder.build(); } } this.schemaProvider = new DefaultGraphQLSchemaProvider(newSchema().query(queryTypeBuilder.build()) .mutation(mutationType) .additionalTypes(types) .build()); }
@Override public GraphQLObjectType connectionType(String name, GraphQLObjectType edgeType, List<GraphQLFieldDefinition> connectionFields) { return newObject() .name(name + "Connection") .description("A connection to a list of items.") .field(newFieldDefinition() .name("edges") .description("a list of edges") .type(new GraphQLList(edgeType))) .field(newFieldDefinition() .name("nodes") .description("a list of nodes") .type(new GraphQLList(edgeType.getFieldDefinition("node").getType()))) .field(newFieldDefinition() .name("pageInfo") .description("details about this specific page") .type(new GraphQLNonNull(pageInfoType))) .field(newFieldDefinition() .name("totalCount") .description("number of nodes in connection") .type(GraphQLInt)) .fields(connectionFields) .build(); } }
private void createTodoType() { todoType = newObject() .name("Todo") .field(newFieldDefinition() .name("id") .type(new GraphQLNonNull(GraphQLID)) .dataFetcher(environment -> { Todo todo = (Todo) environment.getSource(); return relay.toGlobalId("Todo", todo.getId()); } ) .build()) .field(newFieldDefinition() .name("text") .type(Scalars.GraphQLString) .build()) .field(newFieldDefinition() .name("complete") .type(Scalars.GraphQLBoolean) .build()) .withInterface(nodeInterface) .build(); }
/** * Create the permission information type. * * @return */ public GraphQLObjectType createPermInfoType() { graphql.schema.GraphQLObjectType.Builder builder = newObject().name(PERM_INFO_TYPE_NAME).description("Permission information"); // .create builder.field(newFieldDefinition().name("create").type(GraphQLBoolean) .description("Flag which idicates whether the create permission is granted.")); // .read builder.field( newFieldDefinition().name("read").type(GraphQLBoolean).description("Flag which idicates whether the read permission is granted.")); // .update builder.field(newFieldDefinition().name("update").type(GraphQLBoolean) .description("Flag which idicates whether the update permission is granted.")); // .delete builder.field(newFieldDefinition().name("delete").type(GraphQLBoolean) .description("Flag which idicates whether the delete permission is granted.")); // .publish builder.field(newFieldDefinition().name("publish").type(GraphQLBoolean) .description("Flag which idicates whether the publish permission is granted.")); // .readPublished builder.field(newFieldDefinition().name("readPublished").type(GraphQLBoolean) .description("Flag which idicates whether the read published permission is granted.")); return builder.build(); }