source: branches/2.2/jabberit_messenger/java_source/src/nu/fw/jeti/jabber/handlers/IQRegisterHandler.java @ 3102

Revision 3102, 1.2 KB checked in by amuller, 14 years ago (diff)

Ticket #986 - Efetuado merge para o Branch 2.2( atualizacao do modulo)

  • Property svn:executable set to *
Line 
1package nu.fw.jeti.jabber.handlers;
2
3import nu.fw.jeti.jabber.elements.Extension;
4import nu.fw.jeti.jabber.elements.IQRegister;
5import nu.fw.jeti.jabber.elements.XData;
6
7import org.xml.sax.Attributes;
8import java.util.LinkedHashMap;
9import java.util.Map;
10
11/**
12 * @author E.S. de Boer
13 * @version 1.0
14 */
15
16public class IQRegisterHandler extends ExtensionHandler
17{
18        private boolean remove=false;
19        private Map fields;
20        private XData xdata;//xdata
21
22        public void startHandling(Attributes attr)
23        {
24                reset();
25        }
26
27        private void reset()
28        {
29                remove=false;
30                fields =null;
31                xdata = null;
32        }
33
34        public void endElement(String name)
35        {//parse everything
36                if("remove".equals(name)) remove =true;
37                else
38                {
39                        if(fields == null) fields = new LinkedHashMap(14);
40                        fields.put(name,getText());
41                }
42                //else util.Log.notParsedXML("iq:auth " + name + getText());
43                clearCurrentChars();
44        }
45       
46        public void addExtension(Extension extension)
47        {
48                if(extension instanceof XData) xdata = (XData) extension;
49        }
50
51        public Extension build()
52        {
53                Extension e = null;
54                if(xdata != null)
55                {
56                        e = new IQRegister(remove,fields,xdata);
57                }
58                else e = new IQRegister(remove,fields);
59                reset();
60                return e;
61        }
62}
63/*
64 * Overrides for emacs
65 * Local variables:
66 * tab-width: 4
67 * End:
68 */
Note: See TracBrowser for help on using the repository browser.