public class SingletonIterator extends java.lang.Object implements java.util.Iterator, ResettableIterator
SingletonIterator
is an Iterator
over a single
object instance.Modifier and Type | Field and Description |
---|---|
private boolean |
beforeFirst
Is the cursor before the first element
|
private java.lang.Object |
object
The object
|
private boolean |
removeAllowed
Whether remove is allowed
|
private boolean |
removed
Has the element been removed
|
Constructor and Description |
---|
SingletonIterator(java.lang.Object object)
Constructs a new
SingletonIterator where remove
is a permitted operation. |
SingletonIterator(java.lang.Object object,
boolean removeAllowed)
Constructs a new
SingletonIterator optionally choosing if
remove is a permitted operation. |
Modifier and Type | Method and Description |
---|---|
boolean |
hasNext()
Is another object available from the iterator?
|
java.lang.Object |
next()
Get the next object from the iterator.
|
void |
remove()
Remove the object from this iterator.
|
void |
reset()
Reset the iterator to the start.
|
private final boolean removeAllowed
private boolean beforeFirst
private boolean removed
private java.lang.Object object
public SingletonIterator(java.lang.Object object)
SingletonIterator
where remove
is a permitted operation.object
- the single object to return from the iteratorpublic SingletonIterator(java.lang.Object object, boolean removeAllowed)
SingletonIterator
optionally choosing if
remove
is a permitted operation.object
- the single object to return from the iteratorremoveAllowed
- true if remove is allowedpublic boolean hasNext()
This returns true if the single object hasn't been returned yet.
hasNext
in interface java.util.Iterator
public java.lang.Object next()
This returns the single object if it hasn't been returned yet.
next
in interface java.util.Iterator
java.util.NoSuchElementException
- if the single object has already
been returnedpublic void remove()
remove
in interface java.util.Iterator
java.lang.IllegalStateException
- if the next method has not
yet been called, or the remove method has already
been called after the last call to the next
method.java.lang.UnsupportedOperationException
- if remove is not supportedpublic void reset()
reset
in interface ResettableIterator