private static TypeResolver getTypeResolverForUnion(GraphQLUnionType parentType, Map<String, TypeResolver> typeResolverMap) { assertNotNull(parentType); TypeResolver typeResolver = typeResolverMap.get(parentType.getName()); if (typeResolver == null) { typeResolver = parentType.getTypeResolver(); } return assertNotNull(typeResolver, "There must be a type resolver for union " + parentType.getName()); }
@Override public TraversalControl visitGraphQLUnionType(GraphQLUnionType node, TraverserContext<GraphQLType> context) { TypeResolver typeResolver = node.getTypeResolver(); if (typeResolver != null) { codeRegistry.typeResolverIfAbsent(node, typeResolver); } assertTrue(codeRegistry.getTypeResolver(node) != null, "You MUST provide a type resolver for the union type '" + node.getName() + "'"); return CONTINUE; } }
public Builder(GraphQLUnionType existing) { this.name = existing.getName(); this.description = existing.getDescription(); this.typeResolver = existing.getTypeResolver(); this.definition = existing.getDefinition(); this.types.putAll(getByName(existing.getTypes(), GraphQLType::getName)); this.directives.putAll(getByName(existing.getDirectives(), GraphQLDirective::getName)); }
private static TypeResolver getTypeResolverForUnion(GraphQLUnionType parentType, Map<String, TypeResolver> typeResolverMap) { assertNotNull(parentType); TypeResolver typeResolver = typeResolverMap.get(parentType.getName()); if (typeResolver == null) { typeResolver = parentType.getTypeResolver(); } return assertNotNull(typeResolver, "There must be a type resolver for union " + parentType.getName()); }
@Override public TraversalControl visitGraphQLUnionType(GraphQLUnionType node, TraverserContext<GraphQLType> context) { TypeResolver typeResolver = node.getTypeResolver(); if (typeResolver != null) { codeRegistry.typeResolverIfAbsent(node, typeResolver); } assertTrue(codeRegistry.getTypeResolver(node) != null, "You MUST provide a type resolver for the union type '" + node.getName() + "'"); return CONTINUE; } }
public Builder(GraphQLUnionType existing) { this.name = existing.getName(); this.description = existing.getDescription(); this.typeResolver = existing.getTypeResolver(); this.definition = existing.getDefinition(); this.types.putAll(getByName(existing.getTypes(), GraphQLType::getName)); this.directives.putAll(getByName(existing.getDirectives(), GraphQLDirective::getName)); }
@Test public void getResolver_resolverIsDefaultOne_returnsUnionTypeResolver() throws Exception { //Arrange GraphQLInterfaceRetriever graphQLInterfaceRetriever = GraphQLAnnotations.getInstance().getObjectHandler().getTypeRetriever().getGraphQLInterfaceRetriever(); //Act GraphQLUnionType unionType = (GraphQLUnionType) graphQLInterfaceRetriever.getInterface(Hardware.class, GraphQLAnnotations.getInstance().getContainer()); TypeResolver typeResolver = unionType.getTypeResolver(); //Assert assertThat(typeResolver, instanceOf(UnionTypeResolver.class)); }