webwork/src/main/webwork/util MakeIterator.java,NONE,1.1

[email protected] Sun, 14 Jul 2002 21:21:02 -0700
Newsgroups gmane.comp.java.webwork.cvs
Message-ID <[email protected]>
Update of /cvsroot/webwork/webwork/src/main/webwork/util
In directory usw-pr-cvs1:/tmp/cvs-serv25884/src/main/webwork/util

Added Files:
	MakeIterator.java 
Log Message:
added preliminary support for JasperReports

--- NEW FILE: MakeIterator.java ---
package webwork.util;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;

public class MakeIterator {

	public static Iterator convert(Object value) {
		
		Iterator iterator;
		
         if(value instanceof Map)
         {
            value = ((Map)value).entrySet();
         }

         if(value instanceof Collection)
         {
            iterator = ((Collection)value).iterator();
         }
         else if(value.getClass().isArray())
         {
            //need ability to support primitives; therefore, cannot
            //use Object[] casting.
            Object a = Array.newInstance(value.getClass().getComponentType(), (Array.getLength(value)));
            ArrayList list = new ArrayList(Array.getLength(value));
            for(int j = 0; j < Array.getLength(value); j++) {
               list.add(Array.get(value, j));
            }
            iterator = list.iterator();
         }
         else if(value instanceof Enumeration)
         {
            Enumeration enum = (Enumeration)value;
            ArrayList list = new ArrayList();
            while(enum.hasMoreElements())
            {
               list.add(enum.nextElement());
            }
            iterator = list.iterator();
         }
         else
         {
            iterator = (Iterator)value;
         }
		 return iterator;
	}
}




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf