FigureEnumerator.java
/*
* @(#)FigureEnumerator.java
*
* Project: JHotdraw - a GUI framework for technical drawings
* http://www.jhotdraw.org
* http://jhotdraw.sourceforge.net
* Copyright: © by the original author(s) and all contributors
* License: Lesser GNU Public License (LGPL)
* http://www.opensource.org/licenses/lgpl-license.html
*/
package CH.ifa.draw.standard;
import CH.ifa.draw.framework.*;
import java.util.*;
/**
* An Enumeration for a Vector of Figures.
*
* @version <$CURRENT_VERSION$>
*/
public final class FigureEnumerator implements FigureEnumeration {
private Enumeration fEnumeration;
private static FigureEnumerator singletonEmptyEnumerator =
new FigureEnumerator(new Vector());
public FigureEnumerator(Vector v) {
fEnumeration = v.elements();
}
/**
* Returns true if the enumeration contains more elements; false
* if its empty.
*/
public boolean hasMoreElements() {
return fEnumeration.hasMoreElements();
}
/**
* Returns the next element of the enumeration. Calls to this
* method will enumerate successive elements.
* @exception NoSuchElementException If no more elements exist.
*/
public Object nextElement() {
return fEnumeration.nextElement();
}
/**
* Returns the next element of the enumeration. Calls to this
* method will enumerate successive elements.
* @exception NoSuchElementException If no more elements exist.
*/
public Figure nextFigure() {
return (Figure)fEnumeration.nextElement();
}
public static FigureEnumeration getEmptyEnumeration() {
return singletonEmptyEnumerator;
}
/* public static FigureEnumeration getClonedFigures(FigureEnumeration toDuplicate) {
Vector v = new Vector();
while (toDuplicate.hasMoreElements()) {
try {
v.addElement(toDuplicate.nextFigure().clone());
}
catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
return new FigureEnumerator(v);
}
*/
}