add convenient wrappers for Java Enumerations
authoradam <adam@megacz.com>
Fri, 18 Feb 2005 08:39:03 +0000 (08:39 +0000)
committeradam <adam@megacz.com>
Fri, 18 Feb 2005 08:39:03 +0000 (08:39 +0000)
darcs-hash:20050218083903-5007d-d741da3edc6f393aaf0aa006b7b7a33462b783cc.gz

src/org/ibex/js/JS.java

index 7c6d76c..9bd8abc 100644 (file)
@@ -221,6 +221,7 @@ public interface JS {
 
         private final Enumeration parent;
 
+        public Enumeration() { this(null); }
         public Enumeration(Enumeration parent) { this.parent = parent; }
 
         protected abstract boolean _hasNext();
@@ -247,13 +248,20 @@ public interface JS {
             protected JS _next() { throw new NoSuchElementException(); }
         }
 
-        public static final class JavaIterator extends Enumeration {
-            private final Iterator i;
+        public static class JavaIterator extends Enumeration {
+            protected final Iterator i;
             public JavaIterator(Enumeration parent, Iterator i) { super(parent); this.i = i; }
             protected boolean _hasNext() { return i.hasNext(); }
             protected JS _next() { return (JS)i.next(); }
         }
 
+        public static class JavaStringEnumeration extends Enumeration {
+            protected final java.util.Enumeration e;
+            public JavaStringEnumeration(java.util.Enumeration e) { this.e = e; }
+            protected boolean _hasNext() { return e.hasMoreElements(); }
+            protected JS _next() { return JSU.S(e.nextElement().toString()); }
+        }
+
         public static final class RandomAccessList extends Enumeration {
             private final List l;
             private int pos = 0, size;