From 6ea2b6868eb496f39bbbfb2d13662cb397d4d799 Mon Sep 17 00:00:00 2001 From: bjculkin Date: Fri, 17 Mar 2017 09:57:54 -0400 Subject: More toString/hashCode/equals --- .../main/java/bjc/utils/data/CircularIterator.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java b/BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java index 7131114..1dffbc1 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java @@ -2,14 +2,42 @@ package bjc.utils.data; import java.util.Iterator; +/** + * An iterator that repeats elements from a provided iterable. + * + * @author EVE + * + * @param + * The type of the iterable. + */ public class CircularIterator implements Iterator { + /* + * The iterable, and our current iterator into it. + */ private Iterable source; private Iterator 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(Iterable src, boolean circ) { source = src; curr = source.iterator(); @@ -17,6 +45,12 @@ public class CircularIterator implements Iterator { doCircle = circ; } + /** + * Create a new circular iterator that does actual circular iteration. + * + * @param src + * The iterable to iterate from. + */ public CircularIterator(Iterable src) { this(src, true); } -- cgit v1.2.3