Пример #1
0
 public Iterator <?> getIterator(Object obj, JexlInfo info)
 {
     if (obj instanceof Iterator <?> )
     {
         return((Iterator <?>)obj);
     }
     if (obj.getClass().isArray())
     {
         return(new ArrayIterator(obj));
     }
     if (obj instanceof Map <?, ?> )
     {
         return(((Map <?, ?>)obj).values().iterator());
     }
     if (obj instanceof Enumeration <?> )
     {
         return(new EnumerationIterator <Object>((Enumeration <Object>)obj));
     }
     if (obj instanceof Iterable <?> )
     {
         return(((Iterable <?>)obj).iterator());
     }
     try
     {
         // look for an iterator() method to support the JDK5 Iterable
         // interface or any user tools/DTOs that want to work in
         // foreach without implementing the Collection interface
         AbstractExecutor.Method it = getMethodExecutor(obj, "iterator", null);
         if (it != null && Iterator.class.isAssignableFrom(it.getReturnType()))
Пример #2
0
 public Iterator<?> getIterator(Object obj, JexlInfo info) {
         if (obj instanceof Iterator<?>) {
             return ((Iterator <?>) obj);
         }
         if (obj.getClass().isArray())
         {
             return new ArrayIterator(obj);
         }
         if (obj instanceof Map<?, ?>) {
             return ((Map <?, ?>) obj).values().iterator();
         }
         if (obj instanceof Enumeration<?>) {
             return new EnumerationIterator<Object>((Enumeration<Object>)obj);
         }
         if (obj instanceof Iterable<?>) {
             return ((Iterable <?>) obj).iterator();
         }
         try
         {
             // look for an iterator() method to support the JDK5 Iterable
             // interface or any user tools/DTOs that want to work in
             // foreach without implementing the Collection interface
             AbstractExecutor.Method it = getMethodExecutor(obj, "iterator", null);
             if (it != null && Iterator.class.isAssignableFrom(it.getReturnType())) {