Some progress toward implementing store(Analysis).
[cfb.git] / prod / net / jaekl / cfb / xml / messages / BugPattern.java
1 package net.jaekl.cfb.xml.messages;
2
3 import net.jaekl.qd.xml.MissingAttributeException;
4 import net.jaekl.qd.xml.ParseResult;
5 import net.jaekl.qd.xml.XmlParseException;
6
7 import org.xml.sax.Attributes;
8
9 public class BugPattern extends ParseResult {
10         static final String TYPE = "type";
11         static final String SHORT = "ShortDescription";
12         static final String LONG = "LongDescription";
13         static final String DETAILS = "Details";
14
15         static final String TAG = "BugPattern";
16         static final String[] INTERNAL = { SHORT, LONG, DETAILS };
17         static final Object[][] EXTERNAL = {  };
18         
19         String m_type;
20         String m_short;
21         String m_long;
22         String m_details;
23         long m_id;
24         
25         public BugPattern() 
26         {
27                 super(TAG, INTERNAL, EXTERNAL);
28                 m_type = m_short = m_long = m_details = "";
29         }
30         
31         public String getType() { return m_type; }
32         public String getShort() { return m_short; }
33         public String getLong() { return m_long; }
34         public String getDetails() { return m_details; }
35
36         public void setId(long id) { m_id = id; }
37         public long getId() { return m_id; }
38         
39         @Override
40         public void endContents(String uri, String localName, String qName, String chars) throws XmlParseException 
41         {
42                 if (SHORT.equals(localName)) {
43                         m_short = chars;
44                 }
45                 else if (LONG.equals(localName)) {
46                         m_long = chars;
47                 }
48                 else if (DETAILS.equals(localName)) {
49                         m_details = chars;
50                 }
51         }
52
53         @Override
54         public void endExternal(String uri, String localName, String qName) throws XmlParseException 
55         {
56                 // nothing to do
57         }
58
59         // Called once for this tag itself
60         @Override
61         public void handleMainAttributes(Attributes attr) throws MissingAttributeException {
62                 m_type = this.getRequiredAttr(TAG, attr, TYPE);
63         }
64 }