From f7fde2de9e82d4aa7a9a6eda3e8009e7048ee1d2 Mon Sep 17 00:00:00 2001
From: ribeaudc <ribeaudc>
Date: Mon, 2 Jul 2007 12:56:16 +0000
Subject: [PATCH] fix: - up to javadoc 'null' as converter parameter is
 allowed. add: - fillBeanList with Converter as parameter.

SVN: 795
---
 .../cisd/common/utilities/BeanUtils.java      | 27 ++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java b/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
index 2db821fda56..90a8799b715 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
@@ -259,7 +259,23 @@ public final class BeanUtils
      * @return The new list filled from <var>list</var> or <code>null</code>, if <var>list</var> is
      *         <code>null</code>.
      */
-    public static <T, Q> List<T> fillBeanList(Class<T> clazz, List<Q> sourceList)
+    public final static <T, Q> List<T> fillBeanList(Class<T> clazz, List<Q> sourceList)
+    {
+        return fillBeanList(clazz, sourceList, null);
+    }
+
+    /**
+     * Creates a new list of Beans of type <var>clazz</var>.
+     * 
+     * @param clazz element type of the new list.
+     * @param sourceList The list to fill the new bean list from. Can be <code>null</code>, in which case the method
+     *            returns <code>null</code>.
+     * @param converter The {@link Converter} to use to perform non-standard conversions when filling the bean. Can be
+     *            <code>null</code>, in which case only standard conversions are allowed.
+     * @return The new list filled from <var>list</var> or <code>null</code>, if <var>list</var> is
+     *         <code>null</code>.
+     */
+    public final static <T, Q> List<T> fillBeanList(Class<T> clazz, List<Q> sourceList, Converter converter)
     {
         assert clazz != null;
 
@@ -271,7 +287,7 @@ public final class BeanUtils
         final List<T> resultList = new ArrayList<T>();
         for (Q element : sourceList)
         {
-            resultList.add(BeanUtils.fillBean(clazz, element));
+            resultList.add(BeanUtils.fillBean(clazz, element, converter));
         }
         return resultList;
     }
@@ -297,7 +313,12 @@ public final class BeanUtils
      */
     public static <T> T fillBean(Class<T> beanClass, Object sourceBean, Converter converter)
     {
-        return fillBean(beanClass, sourceBean, emptyAnnotationMap, converter);
+        Converter c = converter;
+        if (c == null)
+        {
+            c = nullConverter;
+        }
+        return fillBean(beanClass, sourceBean, emptyAnnotationMap, c);
     }
 
     /**
-- 
GitLab