org.python.core.PySequenceIter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jython-standalone Show documentation
Show all versions of jython-standalone Show documentation
Jython is an implementation of the high-level, dynamic, object-oriented
language Python written in 100% Pure Java, and seamlessly integrated with
the Java platform. It thus allows you to run Python on any Java platform.
/* Copyright (c) Jython Developers */
package org.python.core;
/**
* General sequence iterator.
*/
public class PySequenceIter extends PyIterator {
private PyObject seq;
private int index = 0;
public PySequenceIter(PyObject seq) {
this.seq = seq;
}
public PyObject __iternext__() {
if (seq == null) {
return null;
}
PyObject result;
try {
result = seq.__finditem__(index++);
} catch (PyException exc) {
if (exc.match(Py.StopIteration)) {
seq = null;
return null;
}
throw exc;
}
if (result == null) {
seq = null;
}
return result;
}
}