From 103a54c3c727d5270ff2e645f1bda1a79bbeade9 Mon Sep 17 00:00:00 2001 From: Patrick Strawderman Date: Thu, 23 Jan 2025 09:25:04 -0800 Subject: [PATCH] Optimize GraphQLUnionType.isPossibleType Remove the allocation overhead of the stream / lambda in isPossibleType. --- src/main/java/graphql/schema/GraphQLUnionType.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/graphql/schema/GraphQLUnionType.java b/src/main/java/graphql/schema/GraphQLUnionType.java index 9af647c6c..6910084af 100644 --- a/src/main/java/graphql/schema/GraphQLUnionType.java +++ b/src/main/java/graphql/schema/GraphQLUnionType.java @@ -96,7 +96,12 @@ public List getTypes() { * @return true if the object type is a member of this union type. */ public boolean isPossibleType(GraphQLObjectType graphQLObjectType) { - return getTypes().stream().anyMatch(nt -> nt.getName().equals(graphQLObjectType.getName())); + for (GraphQLNamedOutputType type : getTypes()) { + if (type.getName().equals(graphQLObjectType.getName())) { + return true; + } + } + return false; } // to be removed in a future version when all code is in the code registry