KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > DelayExtensionProvider


1 import org.jivesoftware.smack.provider.PacketExtensionProvider;
2 import org.jivesoftware.smack.packet.PacketExtension;
3 import org.jivesoftware.smack.provider.ProviderManager;
4
5 /** Packet extension provider for Delayed Delivery jabber:x:delay.
6 * See <a HREF="http://www.jabber.org/jeps/jep-0091.html">JEP 91</a>
7 * for more info.
8 * @see DelayExtension*/

9 public final class DelayExtensionProvider implements PacketExtensionProvider{
10     
11
12     public DelayExtensionProvider(){
13         //do nowt
14
}
15     
16     /** Installs the provider.*/
17     public static void install(){
18         ProviderManager.addExtensionProvider("x","jabber:x:delay",new DelayExtensionProvider());
19     }
20     
21     public PacketExtension parseExtension(org.xmlpull.v1.XmlPullParser parser) throws Exception JavaDoc{
22         DelayExtension result=new DelayExtension();
23         int c=parser.getAttributeCount();
24         String JavaDoc name;
25         String JavaDoc value;
26         for(int i=0;i<c;i++){
27             value=parser.getAttributeValue(i);
28             name=parser.getAttributeName(i);
29             if(name.equals("stamp")){
30                 result.setStamp(value);
31             }
32             if(name.equals("from")){
33                 result.setFrom(value);
34             }
35         }
36         int event=parser.getEventType();
37         while (!(event==parser.END_TAG && parser.getName().equals("x"))){
38             if(event==parser.TEXT){
39                 result.setContent(parser.getText());
40             }
41             event=parser.next();
42         }
43         return result;
44     }
45     
46 }
Popular Tags