details: https://code.openbravo.com/erp/devel/pi/rev/796c6f172597 changeset: 30492:796c6f172597 user: Martin Taal <martin.taal <at> openbravo.com> date: Tue Oct 18 08:36:30 2016 +0200 summary: Fixes issue 34228: Add getInstances method to WeldUtils class Add the getInstances method
diffstat: modules/org.openbravo.base.weld/src/org/openbravo/base/weld/WeldUtils.java | 19 ++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diffs (34 lines): diff -r f4adff9d033c -r 796c6f172597 modules/org.openbravo.base.weld/src/org/openbravo/base/weld/WeldUtils.java --- a/modules/org.openbravo.base.weld/src/org/openbravo/base/weld/WeldUtils.java Mon Oct 17 19:46:29 2016 +0200 +++ b/modules/org.openbravo.base.weld/src/org/openbravo/base/weld/WeldUtils.java Tue Oct 18 08:36:30 2016 +0200 @@ -18,6 +18,8 @@ */ package org.openbravo.base.weld; +import java.util.ArrayList; +import java.util.List; import java.util.Set; import javax.enterprise.context.ApplicationScoped; @@ -120,4 +122,21 @@ } throw new IllegalArgumentException("No bean found for type " + type); } + + /** + * Returns a set of instances for a specified type/class + */ + @SuppressWarnings("unchecked") + public static <T> List<T> getInstances(Class<T> type) { + final BeanManager beanManager = WeldUtils.getStaticInstanceBeanManager(); + final Set<Bean<?>> beans = beanManager.getBeans(type); + + final List<T> instances = new ArrayList<T>(); + for (Bean<?> bean : beans) { + T instance = (T) beanManager.getReference(bean, type, + beanManager.createCreationalContext(bean)); + instances.add(instance); + } + return instances; + } } ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits