From 40b542edfed4c475831767f89fb6759a028c99f0 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 12 Sep 2018 20:15:53 +0200 Subject: [PATCH] GH-202 Added size() to FunctionCatalog Resolves #202 --- .../cloud/function/context/FunctionCatalog.java | 8 ++++++++ .../config/ContextFunctionCatalogAutoConfiguration.java | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionCatalog.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionCatalog.java index 47fd69ce7..d5f005c5d 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionCatalog.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionCatalog.java @@ -47,4 +47,12 @@ public interface FunctionCatalog { Set getNames(Class type); + /** + * Return the count of functions registered in this catalog + * @return the count of functions registered in this catalog + */ + default int size() { + throw new UnsupportedOperationException("This instance of FunctionCatalog does not support this operation"); + } + } diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java index fce90d17e..47c9c651f 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java @@ -169,6 +169,13 @@ public class ContextFunctionCatalogAutoConfiguration { return Collections.emptySet(); } + @Override + public int size() { + return this.processor.getSuppliers().size() + + this.processor.getFunctions().size() + + this.processor.getConsumers().size(); + } + public BeanFactoryFunctionCatalog(ContextFunctionRegistry processor) { this.processor = processor; }