builder.definition(typeDefinition); builder.name(typeDefinition.getName()); builder.description(schemaGeneratorHelper.buildDescription(typeDefinition, typeDefinition.getDescription()));
@Override public GraphQLInterfaceType.Builder getIfaceBuilder(Class<?> iface) throws GraphQLAnnotationsException, IllegalArgumentException { if (!iface.isInterface()) { throw new IllegalArgumentException(iface + " is not an interface"); } GraphQLInterfaceType.Builder builder = newInterface(); builder.name(getTypeName(iface)); GraphQLDescription description = iface.getAnnotation(GraphQLDescription.class); if (description != null) { builder.description(description.value()); } for (Method method : getOrderedMethods(iface)) { boolean valid = !Modifier.isStatic(method.getModifiers()) && method.getAnnotation(GraphQLField.class) != null; if (valid) { builder.field(getField(method)); } } GraphQLTypeResolver typeResolver = iface.getAnnotation(GraphQLTypeResolver.class); builder.typeResolver(newInstance(typeResolver.value())); return builder; }
public GraphQLInterfaceType.Builder getInterfaceBuilder(Class<?> iface, ProcessingElementsContainer container) throws GraphQLAnnotationsException, IllegalArgumentException, CannotCastMemberException { if (!iface.isInterface()) { throw new IllegalArgumentException(iface + " is not an interface"); } GraphQLInterfaceType.Builder builder = newInterface(); builder.name(graphQLObjectInfoRetriever.getTypeName(iface)); GraphQLDescription description = iface.getAnnotation(GraphQLDescription.class); if (description != null) { builder.description(description.value()); } List<String> definedFields = new ArrayList<>(); for (Method method : graphQLObjectInfoRetriever.getOrderedMethods(iface)) { boolean valid = !Modifier.isStatic(method.getModifiers()) && method.getAnnotation(GraphQLField.class) != null; if (valid) { GraphQLFieldDefinition gqlField = graphQLFieldRetriever.getField(method,container); definedFields.add(gqlField.getName()); builder.field(gqlField); } } builder.fields(extensionsHandler.getExtensionFields(iface, definedFields,container)); GraphQLTypeResolver typeResolver = iface.getAnnotation(GraphQLTypeResolver.class); builder.typeResolver(newInstance(typeResolver.value())); return builder; } }
graphQLObjectType = newInterface() .name(objectName) .description(objectDescription) .fields(graphQLFieldDefinitions) .typeResolver(new CompleteObjectTreeTypeResolver(objectTypeResolverMap))
builder.definition(typeDefinition); builder.name(typeDefinition.getName()); builder.description(schemaGeneratorHelper.buildDescription(typeDefinition, typeDefinition.getDescription()));
protected GraphQLInterfaceType generateInterfaceType(Object object) { List<GraphQLFieldDefinition> fieldDefinitions = getOutputFieldDefinitions(object); if (fieldDefinitions == null || fieldDefinitions.isEmpty()) { return null; } String name = getGraphQLTypeNameOrIdentityCode(object); TypeResolver typeResolver = getTypeResolver(object); String description = getTypeDescription(object); if (name == null || fieldDefinitions == null || typeResolver == null) { return null; } GraphQLInterfaceType.Builder builder = GraphQLInterfaceType.newInterface() .description(description) .fields(fieldDefinitions) .name(name) .typeResolver(typeResolver); return builder.build(); }
@Override public GraphQLInterfaceType toGraphQLType(String typeName, AnnotatedType javaType, OperationMapper operationMapper, BuildContext buildContext) { GraphQLInterfaceType.Builder typeBuilder = newInterface() .name(typeName) .description(buildContext.typeInfoGenerator.generateTypeDescription(javaType, buildContext.messageBundle)); List<GraphQLFieldDefinition> fields = objectTypeMapper.getFields(javaType, buildContext, operationMapper); fields.forEach(typeBuilder::field); typeBuilder.typeResolver(buildContext.typeResolver); typeBuilder.withDirective(Directives.mappedType(javaType)); buildContext.directiveBuilder.buildInterfaceTypeDirectives(javaType, buildContext.directiveBuilderParams()).forEach(directive -> typeBuilder.withDirective(operationMapper.toGraphQLDirective(directive, buildContext))); GraphQLInterfaceType type = typeBuilder.build(); registerImplementations(javaType, type, operationMapper, buildContext); return type; }
public GraphQLInterfaceType nodeInterface(TypeResolver typeResolver) { return newInterface() .name(NODE) .description("An object with an ID") .typeResolver(typeResolver) .field(newFieldDefinition() .name("id") .description("The ID of an object") .type(nonNull(GraphQLID))) .build(); }
public GraphQLInterfaceType nodeInterface(TypeResolver typeResolver) { return newInterface() .name(NODE) .description("An object with an ID") .typeResolver(typeResolver) .field(newFieldDefinition() .name("id") .description("The ID of an object") .type(nonNull(GraphQLID))) .build(); }
void interfaceType() { GraphQLInterfaceType comicCharacter = newInterface() .name("ComicCharacter") .description("A abstract comic character.") .field(newFieldDefinition() .name("name") .description("The name of the character.") .type(GraphQLString)) .build(); }