summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/data/CircularIterator.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/data/CircularIterator.java')
-rw-r--r--base/src/main/java/bjc/utils/data/CircularIterator.java79
1 files changed, 0 insertions, 79 deletions
diff --git a/base/src/main/java/bjc/utils/data/CircularIterator.java b/base/src/main/java/bjc/utils/data/CircularIterator.java
deleted file mode 100644
index 9af4d87..0000000
--- a/base/src/main/java/bjc/utils/data/CircularIterator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package bjc.utils.data;
-
-import java.util.Iterator;
-
-/**
- * An iterator that repeats elements from a provided iterable.
- *
- * @author EVE
- *
- * @param <E>
- * The type of the iterable.
- */
-public class CircularIterator<E> implements Iterator<E> {
- /* The iterable, and our current iterator into it. */
- private Iterable<E> source;
- private Iterator<E> curr;
-
- /* Our current element. */
- private E curElm;
-
- /*
- * Should we actually get new iterators, or just repeat the last
- * element?
- */
- private boolean doCircle;
-
- /**
- * Create a new circular iterator.
- *
- * @param src
- * The iterable to iterate from.
- *
- * @param circ
- * Should we actually do circular iteration, or just
- * repeat the terminal element?
- */
- public CircularIterator(final Iterable<E> src, final boolean circ) {
- source = src;
- curr = source.iterator();
-
- doCircle = circ;
- }
-
- /**
- * Create a new circular iterator that does actual circular iteration.
- *
- * @param src
- * The iterable to iterate from.
- */
- public CircularIterator(final Iterable<E> src) {
- this(src, true);
- }
-
- @Override
- public boolean hasNext() {
- /* We always have something. */
- return true;
- }
-
- @Override
- public E next() {
- if (!curr.hasNext()) {
- if (!doCircle) {
- return curElm;
- }
-
- curr = source.iterator();
- }
-
- curElm = curr.next();
-
- return curElm;
- }
-
- @Override
- public void remove() {
- curr.remove();
- }
-}