package com.wrox.algorithms.iteration;

public final class EmptyIterator implements Iterator {
    /** pojedyncza, publicznie dostêpna instancja iteratora */
    public static final EmptyIterator INSTANCE = new EmptyIterator();

    private EmptyIterator() {
        // tu nie ma nic do roboty
    }

    public void first() {
        // tu nie ma nic do roboty
    }

    public void last() {
        // tu nie ma nic do roboty
    }

    public boolean isDone() {
        // iterator jest zawsze wyczerpany!
        return true;
    }

    public void next() {
        // tu nie ma nic do roboty
    }

    public void previous() {
        // tu nie ma nic do roboty
    }

    public Object current() throws IteratorOutOfBoundsException {
        throw new IteratorOutOfBoundsException();
    }
}
