com.sun.im.service
Class PresenceHelper

java.lang.Object
  extended bycom.sun.im.service.PresenceHelper

public class PresenceHelper
extends java.lang.Object

Presence Document parser. This class can be used to parse the xml from a presence request and generate a Presence object from it. Conversely, it can be used to generate an XML presence document from a Presence object.

Handling of custom PIDF extensions

When parsing a PIDF doc, the attributes and elements defined in urn:ietf:params:xml:ns:cpim-pidf aka PIDF and and urn:sun:icp:xml:ns:cpim-pidf aka ICP's proprietary PIDF extension are extracted and used to populate the presentity object and its presence tuple(s).

The presence document may contains fragments defined in other extensions. These fragments are stored as XML blobs. three flavors of custom PIDF extensions are supported:

Application MAY NOT rely on the ordering between various sub-elements within any element. In other words, if an application decides to parse a presence document to obtain a presentity, and then serializes the presentity back to XML, the resulting XML is not guaranteed to be equal to the original document. In particular, the ordering of sub-elements within a given element may not be preserved.

Version:
Author:
Sun Microsystems, Inc.

Field Summary
static java.lang.String ATTRIBUTE_ENTITY
           
static java.lang.String ATTRIBUTE_ID
           
static java.lang.String ATTRIBUTE_LANG
           
static java.lang.String ATTRIBUTE_PRIORITY
           
static java.lang.String ELEMENT_BASIC
           
static java.lang.String ELEMENT_CONTACT
           
static java.lang.String ELEMENT_NOTE
           
static java.lang.String ELEMENT_PRESENCE
           
static java.lang.String ELEMENT_STATUS
           
static java.lang.String ELEMENT_TIMESTAMP
           
static java.lang.String ELEMENT_TUPLE
           
static java.lang.String ELEMENT_XSTATUS
           
static java.lang.String ICP_XMLNS
           
static java.lang.String PIDF_XMLNS
           
static java.lang.String XMLNS_ICP_URI
           
static java.lang.String XMLNS_PIDF_URI
           
 
Constructor Summary
PresenceHelper(java.io.InputStream in)
          Constructor used to parse XML presence information stream into a Presence object.
PresenceHelper(Presence p)
          Constructor used generate serialized presence information from a presentity object
PresenceHelper(java.lang.String pi)
          Constructor used to parse XML presence information string into a Presence object.
 
Method Summary
 void addTuple(PresenceTuple t)
           
 java.io.InputStream getInputStream()
           
 Presence getPresence()
           
 java.util.Collection getTuples()
           
static void main(java.lang.String[] arg)
          for testing
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ELEMENT_PRESENCE

public static final java.lang.String ELEMENT_PRESENCE
See Also:
Constant Field Values

ELEMENT_TUPLE

public static final java.lang.String ELEMENT_TUPLE
See Also:
Constant Field Values

ELEMENT_NOTE

public static final java.lang.String ELEMENT_NOTE
See Also:
Constant Field Values

ELEMENT_STATUS

public static final java.lang.String ELEMENT_STATUS
See Also:
Constant Field Values

ELEMENT_CONTACT

public static final java.lang.String ELEMENT_CONTACT
See Also:
Constant Field Values

ELEMENT_BASIC

public static final java.lang.String ELEMENT_BASIC
See Also:
Constant Field Values

ELEMENT_XSTATUS

public static final java.lang.String ELEMENT_XSTATUS
See Also:
Constant Field Values

ELEMENT_TIMESTAMP

public static final java.lang.String ELEMENT_TIMESTAMP
See Also:
Constant Field Values

ATTRIBUTE_ENTITY

public static final java.lang.String ATTRIBUTE_ENTITY
See Also:
Constant Field Values

ATTRIBUTE_ID

public static final java.lang.String ATTRIBUTE_ID
See Also:
Constant Field Values

ATTRIBUTE_LANG

public static final java.lang.String ATTRIBUTE_LANG
See Also:
Constant Field Values

ATTRIBUTE_PRIORITY

public static final java.lang.String ATTRIBUTE_PRIORITY
See Also:
Constant Field Values

XMLNS_PIDF_URI

public static final java.lang.String XMLNS_PIDF_URI
See Also:
Constant Field Values

XMLNS_ICP_URI

public static final java.lang.String XMLNS_ICP_URI
See Also:
Constant Field Values

PIDF_XMLNS

public static final java.lang.String PIDF_XMLNS
See Also:
Constant Field Values

ICP_XMLNS

public static final java.lang.String ICP_XMLNS
See Also:
Constant Field Values
Constructor Detail

PresenceHelper

public PresenceHelper(Presence p)
               throws com.sun.im.service.util.XMLProcessingException
Constructor used generate serialized presence information from a presentity object

Parameters:
p - the presentity object

PresenceHelper

public PresenceHelper(java.io.InputStream in)
               throws com.sun.im.service.util.XMLProcessingException,
                      java.io.IOException
Constructor used to parse XML presence information stream into a Presence object.

Parameters:
in - presence information's input stream

PresenceHelper

public PresenceHelper(java.lang.String pi)
               throws com.sun.im.service.util.XMLProcessingException
Constructor used to parse XML presence information string into a Presence object.

Parameters:
pi - presence information in XML format
Method Detail

getPresence

public Presence getPresence()

getTuples

public java.util.Collection getTuples()

addTuple

public void addTuple(PresenceTuple t)

toString

public java.lang.String toString()

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Throws:
java.io.IOException

main

public static void main(java.lang.String[] arg)
                 throws java.lang.Exception
for testing

Parameters:
arg - array of arguments. Only the first argument is used. It is used to specify the name of a file containing an XML presence document.
Throws:
java.lang.Exception