Class DefaultPrivateData

  • All Implemented Interfaces:
    PrivateData

    public class DefaultPrivateData
    extends java.lang.Object
    implements PrivateData
    Default implementation of the PrivateData interface. Unless a PrivateDataProvider is registered with the PrivateDataManager class, instances of this class will be returned when getting private data.

    This class provides a very simple representation of an XML sub-document. Each element is a key in a Map with its CDATA being the value. For example, given the following XML sub-document:

     <foo xmlns="http://bar.com">
         <color>blue</color>
         <food>pizza</food>
     </foo>
    In this case, getValue("color") would return "blue", and getValue("food") would return "pizza". This parsing mechanism mechanism is very simplistic and will not work as desired in all cases (for example, if some of the elements have attributes. In those cases, a custom PrivateDataProvider should be used.
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultPrivateData​(java.lang.String elementName, java.lang.String namespace)
      Creates a new generic private data object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getElementName()
      Returns the XML element name of the private data sub-packet root element.
      java.util.Set<java.lang.String> getNames()
      Returns a Set of the names that can be used to get values of the private data.
      java.lang.String getNamespace()
      Returns the XML namespace of the private data sub-packet root element.
      java.lang.String getValue​(java.lang.String name)
      Returns a value given a name.
      void setValue​(java.lang.String name, java.lang.String value)
      Sets a value given the name.
      java.lang.String toXML()
      Returns the XML reppresentation of the PrivateData.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultPrivateData

        public DefaultPrivateData​(java.lang.String elementName,
                                  java.lang.String namespace)
        Creates a new generic private data object.
        Parameters:
        elementName - the name of the element of the XML sub-document.
        namespace - the namespace of the element.
    • Method Detail

      • getElementName

        public java.lang.String getElementName()
        Returns the XML element name of the private data sub-packet root element.
        Specified by:
        getElementName in interface PrivateData
        Returns:
        the XML element name of the stanza extension.
      • getNamespace

        public java.lang.String getNamespace()
        Returns the XML namespace of the private data sub-packet root element.
        Specified by:
        getNamespace in interface PrivateData
        Returns:
        the XML namespace of the stanza extension.
      • toXML

        public java.lang.String toXML()
        Description copied from interface: PrivateData
        Returns the XML reppresentation of the PrivateData.
        Specified by:
        toXML in interface PrivateData
        Returns:
        the private data as XML.
      • getNames

        public java.util.Set<java.lang.String> getNames()
        Returns a Set of the names that can be used to get values of the private data.
        Returns:
        a Set of the names.
      • getValue

        public java.lang.String getValue​(java.lang.String name)
        Returns a value given a name.
        Parameters:
        name - the name.
        Returns:
        the value.
      • setValue

        public void setValue​(java.lang.String name,
                             java.lang.String value)
        Sets a value given the name.
        Parameters:
        name - the name.
        value - the value.