org.python.modules.itertools

## Class cycle

- java.lang.Object
- - org.python.core.PyObject
  - - org.python.core.PyIterator
    - - org.python.modules.itertools.cycle

All Implemented Interfaces:
  java.io.Serializable, java.lang.Iterable<java.lang.Object>, Traverseproc

Direct Known Subclasses:
  cycleDerived

    public class cycle
    extends PyIterator

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.python.core.PyObject

`PyObject.ConversionException`

### Field Summary

Fields
`static java.lang.String` `cycle_doc`
`static PyType` `TYPE`

### Fields inherited from class org.python.core.PyIterator

`__doc__next`

### Fields inherited from class org.python.core.PyObject

`gcMonitorGlobal`

### Constructor Summary

Constructors
Constructor and Description
`cycle()`
`cycle(PyObject sequence)` Creates an iterator that iterates over an iterable, saving the values for each iteration.
`cycle(PyType subType)`

### Method Summary

All Methods Instance Methods Concrete Methods
`PyObject` `__iternext__()` Return the next element of the sequence that this is an iterator for.
`PyObject` `next()` The exposed next method.
`boolean` `refersDirectlyTo(PyObject ob)` Optional operation.
`int` `traverse(Visitproc visit, java.lang.Object arg)` Traverses all directly contained `PyObject`s.

### Methods inherited from class org.python.core.PyIterator

`__iter__, __tojava__, 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__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __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__, __truediv__, __trunc__, __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, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType, toString`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Field Detail

#### TYPE

    public static final PyType TYPE

#### cycle_doc

    public static final java.lang.String cycle_doc

See Also:
  Constant Field Values

### Constructor Detail

#### cycle

    public cycle()

#### cycle

    public cycle(PyType subType)

#### cycle

    public cycle(PyObject sequence)

Creates an iterator that iterates over an iterable, saving the values for each iteration. When the iterable is exhausted continues to iterate over the saved values indefinitely.

### Method Detail

#### __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`

#### 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

#### traverse

    public int traverse(Visitproc visit,
                        java.lang.Object arg)

Description copied from interface: `Traverseproc`
Traverses all directly contained `PyObject`s. Like in CPython, `arg` must be passed unmodified to `visit` as its second parameter. If `Visitproc.visit(PyObject, Object)` returns nonzero, this return value must be returned immediately by traverse. `Visitproc.visit(PyObject, Object)` must not be called with a `null` PyObject-argument.

Specified by:
  `traverse` in interface `Traverseproc`
Overrides:
  `traverse` in class `PyIterator`

#### refersDirectlyTo

    public boolean refersDirectlyTo(PyObject ob)

Description copied from interface: `Traverseproc`
Optional operation. Should only be implemented if it is more efficient than calling `Traverseproc.traverse(Visitproc, Object)` with a visitproc that just watches out for `ob`. Must return `false` if `ob` is `null`.

Specified by:
  `refersDirectlyTo` in interface `Traverseproc`
Overrides:
  `refersDirectlyTo` in class `PyIterator`