aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/core/SpiLoadUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lombok/core/SpiLoadUtil.java')
-rw-r--r--src/core/lombok/core/SpiLoadUtil.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/lombok/core/SpiLoadUtil.java b/src/core/lombok/core/SpiLoadUtil.java
index 0a97af7e..c068bf61 100644
--- a/src/core/lombok/core/SpiLoadUtil.java
+++ b/src/core/lombok/core/SpiLoadUtil.java
@@ -29,10 +29,12 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.net.URL;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedHashSet;
+import java.util.List;
import java.util.Set;
import lombok.Lombok;
@@ -51,6 +53,19 @@ public class SpiLoadUtil {
}
/**
+ * Method that conveniently turn the {@code Iterable}s returned by the other methods in this class to a
+ * {@code List}.
+ *
+ * @see #findServices(Class)
+ * @see #findServices(Class, ClassLoader)
+ */
+ public static <T> List<T> readAllFromIterator(Iterable<T> findServices) {
+ List<T> list = new ArrayList<T>();
+ for (T t : findServices) list.add(t);
+ return list;
+ }
+
+ /**
* Returns an iterator of instances that, at least according to the spi discovery file, are implementations
* of the stated class.
*