JabAppendix B

From WikiContent

Revision as of 14:24, 18 September 2009 by Uncopy (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search
Programming Jabber
Preface
1 - Getting started with Jabber
2 - Inside Jabber
3 - Installing the Jabber server
4 - Server Architecture and Configuration
5 - Jabber Technology Basics
6 - Jabber Namespaces
7 - User Registration and Authorization
8 - Using Messages and Presence
9 - Groupchat, : Components, and Event Models
10 - Pointers for Further Development
Appendix A
Appendix B
Colophon

The IQRPC Classes for JabberRPCResponder


This appendix contains the two IQRPC classes, IQRPC and IQRPCBuilder. They are required for the Java JabberRPCResponder script in Section 10.2.

They're essentially modified copies of two existing and equivalent classes for the jabber:iq:time namespace, IQTime and IQTimeBuilder.



The IQRPC Class



// IQRPC.java

import org.jabber.jabberbeans.*; import
org.jabber.jabberbeans.Extension.*;
public class IQRPC extends XMLData implements QueryExtension { private
String payload;
   public IQRPC(IQRPCBuilder builder) { payload=builder.getPayload();
   }
   public String getPayload() { return payload;
   }
   public void appendItem(StringBuffer retval) {
   retval.append("<query xmlns=\"jabber:iq:rpc\">");
   retval.append(payload); retval.append("</query>");
   }
}
}


The IQRPCBuilder Class


// IQRPCBuilder.java

import org.jabber.jabberbeans.*; import
org.jabber.jabberbeans.Extension.*;
public class IQRPCBuilder implements ExtensionBuilder { private String
payload;
   public IQRPCBuilder() { reset();
   }
   public void reset() { payload=null;
   }
   public String getPayload() { return payload;
   }
   public void setPayload(String value) { payload=value;
   }
   public Extension build() { return new IQRPC(this);
   }
}

Personal tools