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

Revision 3102, 1.7 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;
2import nu.fw.jeti.jabber.elements.RosterBuilder;
3import nu.fw.jeti.jabber.elements.RosterItemBuilder;
4import org.xml.sax.Attributes;
5import nu.fw.jeti.jabber.elements.Extension;
6import nu.fw.jeti.jabber.JID;
7
8/**
9 * <p>Title: im</p>
10 * <p>Description: </p>
11 * <p>Copyright: Copyright (c) 2001</p>
12 * <p>Company: </p>
13 * @author E.S. de Boer
14 * @version 1.0
15 */
16
17public class RosterHandler extends ExtensionHandler
18{
19        private RosterBuilder builder;
20        private RosterItemBuilder itemBuilder;
21
22    public RosterHandler()
23    {
24                builder = new RosterBuilder();
25                itemBuilder = new RosterItemBuilder();
26    }
27
28        public void startHandling(Attributes attr)
29        {
30            builder.reset();
31        }
32
33        public void startElement(String name,Attributes attr)
34        {
35                if(name.equals("item"))
36                {
37                        itemBuilder.reset();
38                        //jid not checked because you can't delete it then?
39                        itemBuilder.jid = JID.jidFromString(attr.getValue("jid"));
40                        itemBuilder.subscription =attr.getValue("subscription");
41                        itemBuilder.name = attr.getValue("name");
42                        itemBuilder.ask = attr.getValue("ask");
43                }
44                else if (!name.equals("group")) nu.fw.jeti.util.Log.notParsedXML("roster " + name);
45        }
46
47        public void endElement(String name)
48        {
49                if(name.equals("item"))
50                {
51                        try{
52                        builder.addItem(itemBuilder.build());
53                        }catch (InstantiationException e) {nu.fw.jeti.util.Log.xmlParseException(e);}
54                }
55                else if (name.equals("group")) itemBuilder.addGroup(getText());
56                else nu.fw.jeti.util.Log.notParsedXML("Roster " + name + " " + getText());
57                clearCurrentChars();
58        }
59       
60        public Extension build()
61        {
62                Extension e = builder.build();
63                builder.reset();
64            return e;
65        }
66}
67
68/*
69 * Overrides for emacs
70 * Local variables:
71 * tab-width: 4
72 * End:
73 */
Note: See TracBrowser for help on using the repository browser.