From ade6100ff573e35e8f3e55ba3570be624ad24e5d Mon Sep 17 00:00:00 2001 From: bbaker Date: Tue, 29 Apr 2025 22:57:08 +1000 Subject: [PATCH] This is a performance improvement for property data fetchers to not create `DataFetcherFactoryEnvironment` objects for simple property fetchers --- .../schema/SingletonPropertyDataFetcher.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/graphql/schema/SingletonPropertyDataFetcher.java b/src/main/java/graphql/schema/SingletonPropertyDataFetcher.java index 45af96c843..8455963f0f 100644 --- a/src/main/java/graphql/schema/SingletonPropertyDataFetcher.java +++ b/src/main/java/graphql/schema/SingletonPropertyDataFetcher.java @@ -15,7 +15,18 @@ public class SingletonPropertyDataFetcher implements LightDataFetcher { private static final SingletonPropertyDataFetcher SINGLETON_FETCHER = new SingletonPropertyDataFetcher<>(); - private static final DataFetcherFactory SINGLETON_FETCHER_FACTORY = environment -> SINGLETON_FETCHER; + private static final DataFetcherFactory SINGLETON_FETCHER_FACTORY = new DataFetcherFactory() { + @SuppressWarnings("deprecation") + @Override + public DataFetcher get(DataFetcherFactoryEnvironment environment) { + return SINGLETON_FETCHER; + } + + @Override + public DataFetcher get(GraphQLFieldDefinition fieldDefinition) { + return SINGLETON_FETCHER; + } + }; /** * This returns the same singleton {@link LightDataFetcher} that fetches property values