source: 3thparty/jmessenger/src/nu/fw/jeti/jabber/handlers/PacketHandler.java @ 3952

Revision 3952, 1.6 KB checked in by alexandrecorreia, 13 years ago (diff)

Ticket #1710 - Adicao do codigo fonte java do componente jmessenger(jabberit_messenger)

  • Property svn:executable set to *
Line 
1package nu.fw.jeti.jabber.handlers;
2
3import nu.fw.jeti.backend.Connect;
4import nu.fw.jeti.jabber.elements.*;
5import org.xml.sax.Attributes;
6import nu.fw.jeti.jabber.*;
7import nu.fw.jeti.util.I18N;
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 abstract class PacketHandler extends BaseHandler
18{
19        protected PacketBuilder builder;
20
21        public PacketHandler() {}
22       
23        public PacketHandler(PacketBuilder builder)
24    {
25                this.builder = builder;
26    }
27
28        public void startHandling(Attributes attr)
29        {
30                builder.reset();
31                builder.setTo(JID.jidFromString(attr.getValue("to")));
32                builder.setFrom(JID.jidFromString(attr.getValue("from")));
33                builder.setId(attr.getValue("id"));
34        }
35
36        public void startElement(String name,Attributes attr)
37        {
38                if(name.equals("error"))
39                {
40                        builder.setErrorType(attr.getValue("type"));
41                        String code = attr.getValue("code");
42                        try
43                        {
44                                builder.errorCode = Integer.parseInt(code);
45                        }catch(NumberFormatException e){nu.fw.jeti.util.Log.notParsedXML(I18N.gettext("main.error.Illegal_errorcode") + " " +  code);}
46                }
47        }
48
49        public void endElement(String name)
50        {
51                if(name.equals("error"))
52                {
53                        builder.errorDescription = getText();
54                        clearCurrentChars();
55                }
56        }
57
58        public void addExtension(Extension extension)
59        {
60                builder.addExtension(extension);
61        }
62
63        public Packet build() throws InstantiationException
64        {
65                if(builder.from==null) builder.from = Connect.getMyJID();
66                Packet p = builder.build();
67                builder.reset();
68            return p;
69        }
70}
71
72/*
73 * Overrides for emacs
74 * Local variables:
75 * tab-width: 4
76 * End:
77 */
Note: See TracBrowser for help on using the repository browser.