diff options
Diffstat (limited to 'src/core/lombok/core/SpiLoadUtil.java')
-rw-r--r-- | src/core/lombok/core/SpiLoadUtil.java | 15 |
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. * |