com.echomine.jabber.msg
Class OOBIQMessage

java.lang.Object
  extended by com.echomine.jabber.JabberMessage
      extended by com.echomine.jabber.JabberJDOMMessage
          extended by com.echomine.jabber.AbstractJabberMessage
              extended by com.echomine.jabber.JabberIQMessage
                  extended by com.echomine.jabber.msg.OOBIQMessage
All Implemented Interfaces:
JabberCode, JabberMessageParsable

public class OOBIQMessage
extends JabberIQMessage
implements JabberCode

Submits and parses a Out-Of-Band (OOB) IQ message. The message will return the URL to download a file from. The OOB URL does not necessarily have to be http based. However, if it is not, then you may or may not be able to handle the protocol. That is up to you to either accept or reject the OOB request.

Current Implementation: JEP-0066 Version 1.0

Since:
0.8a4

Field Summary
 
Fields inherited from class com.echomine.jabber.JabberIQMessage
TYPE_GET, TYPE_RESULT, TYPE_SET
 
Fields inherited from class com.echomine.jabber.AbstractJabberMessage
TYPE_ERROR
 
Fields inherited from class com.echomine.jabber.JabberMessage
messageID
 
Fields inherited from interface com.echomine.jabber.JabberCode
MSG_CHAT, MSG_INIT, MSG_IQ, MSG_IQ_AGENTS, MSG_IQ_AUTH, MSG_IQ_BROWSE, MSG_IQ_DISCO_INFO, MSG_IQ_DISCO_ITEMS, MSG_IQ_GATEWAY, MSG_IQ_LAST, MSG_IQ_OOB, MSG_IQ_PRIVATE, MSG_IQ_REGISTER, MSG_IQ_ROSTER, MSG_IQ_SEARCH, MSG_IQ_TIME, MSG_IQ_VACATION, MSG_IQ_VCARD, MSG_IQ_VERSION, MSG_IQ_XMLRPC, MSG_PRESENCE, MSG_UNKNOWN, MSG_X_DATA, MSG_X_DELAY, MSG_X_EVENT, MSG_X_EXPIRE, MSG_X_OOB, MSG_X_PGP_ENCRYPTED, MSG_X_PGP_SIGNED, MSG_X_ROSTER, PARSER_CHAT, PARSER_IQ, PARSER_IQ_AGENTS, PARSER_IQ_AUTH, PARSER_IQ_BROWSE, PARSER_IQ_DISCO_INFO, PARSER_IQ_DISCO_ITEMS, PARSER_IQ_GATEWAY, PARSER_IQ_LAST, PARSER_IQ_OOB, PARSER_IQ_PRIVATE, PARSER_IQ_REGISTER, PARSER_IQ_ROSTER, PARSER_IQ_SEARCH, PARSER_IQ_TIME, PARSER_IQ_VACATION, PARSER_IQ_VCARD, PARSER_IQ_VERSION, PARSER_IQ_XMLRPC, PARSER_PRESENCE, PARSER_X_DATA, PARSER_X_DELAY, PARSER_X_EVENT, PARSER_X_EXPIRE, PARSER_X_OOB, PARSER_X_PGP_ENCRYPTED, PARSER_X_PGP_SIGNED, PARSER_X_ROSTER, XMLNS_CHAT, XMLNS_ERROR_STANZA, XMLNS_ERROR_STREAM, XMLNS_IQ, XMLNS_IQ_AGENTS, XMLNS_IQ_AUTH, XMLNS_IQ_BROWSE, XMLNS_IQ_DISCO_INFO, XMLNS_IQ_DISCO_ITEMS, XMLNS_IQ_GATEWAY, XMLNS_IQ_LAST, XMLNS_IQ_OOB, XMLNS_IQ_PRIVATE, XMLNS_IQ_REGISTER, XMLNS_IQ_ROSTER, XMLNS_IQ_SEARCH, XMLNS_IQ_TIME, XMLNS_IQ_VACATION, XMLNS_IQ_VCARD, XMLNS_IQ_VERSION, XMLNS_IQ_XMLRPC, XMLNS_PRESENCE, XMLNS_STREAM, XMLNS_X_DATA, XMLNS_X_DELAY, XMLNS_X_EVENT, XMLNS_X_EXPIRE, XMLNS_X_OOB, XMLNS_X_PGP_ENCRYPTED, XMLNS_X_PGP_SIGNED, XMLNS_X_ROSTER
 
Constructor Summary
OOBIQMessage()
          defaults to iq type set to initiate a request
OOBIQMessage(java.lang.String type)
          this constructor is for messages with type.
 
Method Summary
static OOBIQMessage createNotAcceptableErrorMessage(JID to, java.lang.String msgId)
          convenience method to create a OOBIQMessage that sends back a Not Acceptable Error Message to the originator of the OOBIQRequest.
static OOBIQMessage createNotFoundErrorMessage(JID to, java.lang.String msgId)
          creates a request to notify the remote client that the resource at the URL was not found or cannot be retrieved.
static OOBIQMessage createSendUrlMessage(JID to, java.lang.String url, java.lang.String desc)
          creates a request to notify the remote client to download a file.
static OOBIQMessage createSuccessMessage(JID to, java.lang.String msgId)
          Creates a success message to send to the remote user notifying that file has been successfully transferred
 java.lang.String encode()
          The default encoding will serialize the DOM Tree.
 java.lang.String getDescription()
           
 int getMessageType()
          the default message type is unknown.
 java.lang.String getUrl()
           
 JabberMessage parse(JabberMessageParser parser, Element msgTree)
          parses the message.
 void setDescription(java.lang.String description)
          sets the description attached to the url
 void setUrl(java.lang.String url)
          sets the URL for the file to be downloaded
 
Methods inherited from class com.echomine.jabber.AbstractJabberMessage
getErrorMessage, getFrom, getTo, getType, isError, setErrorMessage, setFrom, setTo, setType
 
Methods inherited from class com.echomine.jabber.JabberJDOMMessage
getDOM, getXMLOutputter, setMessageID, toString
 
Methods inherited from class com.echomine.jabber.JabberMessage
getMessageID, getReplyMessage, getTimeout, getXMessage, getXMessages, interrupt, isReplyRequired, isSendXMessages, isSynchronized, replyReceived, setReplyRequired, setSendXMessages, setSynchronized, setTimeout, setXMessage, setXMessages
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OOBIQMessage

public OOBIQMessage(java.lang.String type)
this constructor is for messages with type.


OOBIQMessage

public OOBIQMessage()
defaults to iq type set to initiate a request

Method Detail

parse

public JabberMessage parse(JabberMessageParser parser,
                           Element msgTree)
                    throws ParseException
Description copied from class: AbstractJabberMessage
parses the message. The parser is really not used

Specified by:
parse in interface JabberMessageParsable
Overrides:
parse in class AbstractJabberMessage
Throws:
ParseException

getUrl

public java.lang.String getUrl()
Returns:
the URL associated with the OOB

getDescription

public java.lang.String getDescription()
Returns:
description associated with the OOB

setUrl

public void setUrl(java.lang.String url)
sets the URL for the file to be downloaded


setDescription

public void setDescription(java.lang.String description)
sets the description attached to the url


getMessageType

public int getMessageType()
Description copied from class: JabberJDOMMessage
the default message type is unknown. It doesn't mean that there is no type. It just means that there is no known message parser for this particular object.

Overrides:
getMessageType in class JabberIQMessage
Returns:
the message type
See Also:
JabberCode

encode

public java.lang.String encode()
                        throws ParseException
Description copied from class: JabberJDOMMessage
The default encoding will serialize the DOM Tree. If there are X Messages, it will also get included one level below the main "root" element. By one level below, it means that the X Messages will be put as children of the DOM Tree's main element. If this is not a desired behavior, you will need to override and encode your own message.

Overrides:
encode in class JabberJDOMMessage
Throws:
ParseException - if something went wrong during encoding

createSuccessMessage

public static OOBIQMessage createSuccessMessage(JID to,
                                                java.lang.String msgId)
Creates a success message to send to the remote user notifying that file has been successfully transferred

Parameters:
to - the recipient jid to send the message to
msgId - the message ID of the original request message

createSendUrlMessage

public static OOBIQMessage createSendUrlMessage(JID to,
                                                java.lang.String url,
                                                java.lang.String desc)
creates a request to notify the remote client to download a file. This request will require a reply as to whether or not the transfer was success, fail, rejected, etc.

Parameters:
to - the recipient jid to send the message to
url - the url of the file to be transferred
desc - an optional description attached with the url. Null if none.

createNotFoundErrorMessage

public static OOBIQMessage createNotFoundErrorMessage(JID to,
                                                      java.lang.String msgId)
creates a request to notify the remote client that the resource at the URL was not found or cannot be retrieved.

Parameters:
to - the recipient jid to send the message to
msgId - the message id of the original request

createNotAcceptableErrorMessage

public static OOBIQMessage createNotAcceptableErrorMessage(JID to,
                                                           java.lang.String msgId)
convenience method to create a OOBIQMessage that sends back a Not Acceptable Error Message to the originator of the OOBIQRequest.

Parameters:
to - the recipient JID to receive this message
msgId - the message thread ID associated with the first OOB request
Returns:
the OOBIQmessage instance


Copyright © 2001-2005 Echomine. All Rights Reserved.