From c964e363bf5ee5ecce2f7b6e3e59f8a6db60dbe6 Mon Sep 17 00:00:00 2001 From: adam Date: Fri, 18 Feb 2005 08:39:03 +0000 Subject: [PATCH] add convenient wrappers for Java Enumerations darcs-hash:20050218083903-5007d-d741da3edc6f393aaf0aa006b7b7a33462b783cc.gz --- src/org/ibex/js/JS.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/org/ibex/js/JS.java b/src/org/ibex/js/JS.java index 7c6d76c..9bd8abc 100644 --- a/src/org/ibex/js/JS.java +++ b/src/org/ibex/js/JS.java @@ -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; -- 1.7.10.4