Package org.mozilla.javascript
Class IteratorLikeIterable
- java.lang.Object
-
- org.mozilla.javascript.IteratorLikeIterable
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Iterable<java.lang.Object>
public class IteratorLikeIterable extends java.lang.Object implements java.lang.Iterable<java.lang.Object>, java.io.Closeable
This is a class that makes it easier to iterate over "iterator-like" objects as defined in the ECMAScript spec. The caller is responsible for retrieving an object that implements the "iterator" pattern. This class will follow that pattern and throw appropriate JavaScript exceptions. The pattern that the target class should follow is: * It must have a function property called "next" * The function must return an object with a boolean value called "done". * If "done" is true, then the returned object should also contain a "value" property. * If it has a function property called "return" then it will be called when the caller is done iterating.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
IteratorLikeIterable.Itr
-
Field Summary
Fields Modifier and Type Field Description private boolean
closed
private Context
cx
private Scriptable
iterator
private Callable
next
private Callable
returnFunc
private Scriptable
scope
-
Constructor Summary
Constructors Constructor Description IteratorLikeIterable(Context cx, Scriptable scope, java.lang.Object target)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
IteratorLikeIterable.Itr
iterator()
-
-
-
Field Detail
-
cx
private final Context cx
-
scope
private final Scriptable scope
-
next
private final Callable next
-
returnFunc
private final Callable returnFunc
-
iterator
private final Scriptable iterator
-
closed
private boolean closed
-
-
Constructor Detail
-
IteratorLikeIterable
public IteratorLikeIterable(Context cx, Scriptable scope, java.lang.Object target)
-
-
Method Detail
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
iterator
public IteratorLikeIterable.Itr iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Object>
-
-