org.python.core
Class PyGenerator

java.lang.Object
  extended by org.python.core.PyObject
      extended by org.python.core.PyIterator
          extended by org.python.core.PyGenerator
All Implemented Interfaces:
Serializable, Iterable<Object>

public class PyGenerator
extends PyIterator

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
 
Field Summary
static PyType TYPE
           
 
Fields inherited from class org.python.core.PyIterator
__doc__next
 
Constructor Summary
PyGenerator(PyFrame frame, PyObject closure)
           
 
Method Summary
 PyObject __iter__()
          Return an iterator that is used to iterate the element of this sequence.
 PyObject __iternext__()
          Return the next element of the sequence that this is an iterator for.
 PyObject __iternext__(ThreadState state)
           
 PyObject close()
           
 PyObject next()
          The exposed next method.
 PyObject send(PyObject value)
           
 PyObject throw$(PyObject type, PyObject value, PyObject tb)
           
 
Methods inherited from class org.python.core.PyIterator
iterator
 
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError, setDict, setType, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE

public static final PyType TYPE
Constructor Detail

PyGenerator

public PyGenerator(PyFrame frame,
                   PyObject closure)
Method Detail

send

public PyObject send(PyObject value)

throw$

public PyObject throw$(PyObject type,
                       PyObject value,
                       PyObject tb)

close

public PyObject close()

next

public PyObject next()
Description copied from class: PyIterator
The exposed next method. Note that exposed derivable subclasses of PyIterator should override next to call doNext(custom___iternext__), as __iternext__ is overridden by the Derived classes.

Overrides:
next in class PyIterator
Returns:
a PyObject result

__iter__

public PyObject __iter__()
Description copied from class: PyObject
Return an iterator that is used to iterate the element of this sequence. From version 2.2, this method is the primary protocol for looping over sequences.

If a PyObject subclass should support iteration based in the __finditem__() method, it must supply an implementation of __iter__() like this:

 public PyObject __iter__() {
     return new PySequenceIter(this);
 }
 
When iterating over a python sequence from java code, it should be done with code like this:
 for (PyObject item : seq.asIterable()) {
     // Do somting with item
 }
 

Overrides:
__iter__ in class PyIterator

__iternext__

public PyObject __iternext__()
Description copied from class: PyObject
Return the next element of the sequence that this is an iterator for. Returns null when the end of the sequence is reached.

Specified by:
__iternext__ in class PyIterator

__iternext__

public PyObject __iternext__(ThreadState state)


Jython homepage