package net.sf.openrocket.file.simplesax;
-import java.util.ArrayDeque;
-import java.util.Deque;
import java.util.HashMap;
import net.sf.openrocket.aerodynamics.Warning;
import net.sf.openrocket.aerodynamics.WarningSet;
+import net.sf.openrocket.util.SimpleStack;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
/**
* The actual SAX handler class. Contains the necessary methods for parsing the SAX source.
- * Delegates the actual content parsing to {@link AbstractElementHandler} objects.
+ * Delegates the actual content parsing to {@link ElementHandler} objects.
*/
class DelegatorHandler extends DefaultHandler {
private final WarningSet warnings;
- private final Deque<ElementHandler> handlerStack = new ArrayDeque<ElementHandler>();
- private final Deque<StringBuilder> elementData = new ArrayDeque<StringBuilder>();
- private final Deque<HashMap<String, String>> elementAttributes = new ArrayDeque<HashMap<String, String>>();
+ private final SimpleStack<ElementHandler> handlerStack = new SimpleStack<ElementHandler>();
+ private final SimpleStack<StringBuilder> elementData = new SimpleStack<StringBuilder>();
+ private final SimpleStack<HashMap<String, String>> elementAttributes = new SimpleStack<HashMap<String, String>>();
// Ignore all elements as long as ignore > 0
private int ignore = 0;
- public DelegatorHandler(AbstractElementHandler initialHandler, WarningSet warnings) {
+ public DelegatorHandler(ElementHandler initialHandler, WarningSet warnings) {
this.warnings = warnings;
handlerStack.add(initialHandler);
elementData.add(new StringBuilder()); // Just in case