Class 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.
    • Constructor Detail

      • IteratorLikeIterable

        public IteratorLikeIterable​(Context cx,
                                    Scriptable scope,
                                    java.lang.Object target)
    • Method Detail

      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • iterator

        public IteratorLikeIterable.Itr iterator()
        Specified by:
        iterator in interface java.lang.Iterable<java.lang.Object>