package enumeration;
/**
 * Kyle Wayne Kelly
 * Represents an enumeration of values.
 */
public class ROYGBIVEnumeration implements Enumeration {
    
    /**
     * Fills a Vector of objects.
     */
    public ROYGBIVEnumeration() {
        list = new LinkedList();
        list.add(new ConstantColor(ConstantColor.RED));
        list.add(new ConstantColor(ConstantColor.ORANGE));
        list.add(new ConstantColor(ConstantColor.YELLOW));
        list.add(new ConstantColor(ConstantColor.GREEN));
        list.add(new ConstantColor(ConstantColor.BLUE));
        list.add(new ConstantColor(ConstantColor.INDIGO));
        list.add(new ConstantColor(ConstantColor.VIOLET));
    }
    
    /**
     * Moves to the next object.
     */
    public void next() {
        list.next();
    }

    /**
     * Moves to the previous object.
     */
    public void previous() {
        list.previous();
    }

    /**
     * Returns the current enumerated object.
     */
    public Object current() {
        return list.current();
    }

    private List list;

    public static void main(String args[]) {
        ROYGBIVEnumeration roygbiv = new ROYGBIVEnumeration();
        System.out.println(roygbiv.current());
        roygbiv.next();
        System.out.println(roygbiv.current());
        roygbiv.next();
        System.out.println(roygbiv.current());
        roygbiv.next();
        System.out.println(roygbiv.current());
        roygbiv.next();
        System.out.println(roygbiv.current());
        roygbiv.next();
        System.out.println(roygbiv.current());
        roygbiv.next();
        System.out.println(roygbiv.current());
        roygbiv.next();
    }

}
