updates for 0.9.3
[debian/openrocket] / src / net / sf / openrocket / file / simplesax / NullElementHandler.java
1 package net.sf.openrocket.file.simplesax;
2
3 import java.util.HashMap;
4
5 import net.sf.openrocket.aerodynamics.Warning;
6 import net.sf.openrocket.aerodynamics.WarningSet;
7
8 import org.xml.sax.SAXException;
9
10 /**
11  * An element handler that does not accept any content in the element except whitespace
12  * text.  All subelements are ignored and an error is produced of them.  Any attributes
13  * are ignored.
14  * 
15  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
16  */
17 public class NullElementHandler extends ElementHandler {
18         public static final NullElementHandler INSTANCE = new NullElementHandler();
19
20         private static final HashMap<String, String> EMPTY_MAP = new HashMap<String,String>(); 
21         
22         private NullElementHandler() {
23         }
24
25         @Override
26         public ElementHandler openElement(String element, HashMap<String, String> attributes,
27                         WarningSet warnings) {
28                 warnings.add(Warning.fromString("Unknown element " + element + ", ignoring."));
29                 return null;
30         }
31
32         @Override
33         public void closeElement(String element, HashMap<String, String> attributes,
34                         String content, WarningSet warnings) throws SAXException {
35                 super.closeElement(element, EMPTY_MAP, content, warnings);
36         }
37
38 }