Class Transcript

All Implemented Interfaces:
Element, IqView, NamedElement, StanzaView, TopLevelStreamElement, XmlElement, XmlLangElement

public class Transcript extends IQ
Represents the conversation transcript that occurred in a group chat room between an Agent and a user that requested assistance. The transcript contains all the Messages that were sent to the room as well as the sent presences.
  • Constructor Details

    • Transcript

      public Transcript(String sessionID)
      Creates a transcript request for the given sessionID.
      Parameters:
      sessionID - the id of the session to get the conversation transcript.
    • Transcript

      public Transcript(String sessionID, List<Stanza> packets)
      Creates a new transcript for the given sessionID and list of packets. The list of packets may include Messages and/or Presences.
      Parameters:
      sessionID - the id of the session that generated this conversation transcript.
      packets - the list of messages and presences send to the room.
  • Method Details

    • getSessionID

      public String getSessionID()
      Returns id of the session that generated this conversation transcript. The sessionID is a value generated by the server when a new request is received.
      Returns:
      id of the session that generated this conversation transcript.
    • getPackets

      public List<Stanza> getPackets()
      Returns the list of Messages and Presences that were sent to the room.
      Returns:
      the list of Messages and Presences that were sent to the room.
    • getIQChildElementBuilder

      Description copied from class: IQ
      This method must be overwritten by IQ subclasses to create their child content. It is important you don't use the builder to add the final end tag. This will be done automatically by IQ.IQChildElementXmlStringBuilder after eventual existing ExtensionElements have been added.

      For example to create an IQ with a extra attribute and an additional child element

       
       <iq to='foo@example.org' id='123'>
         <bar xmlns='example:bar' extraAttribute='blaz'>
            <extraElement>elementText</extraElement>
         </bar>
       </iq>
       
       
      the body of the getIQChildElementBuilder looks like
       
       // The builder 'xml' will already have the child element and the 'xmlns' attribute added
       // So the current builder state is "<bar xmlns='example:bar'"
       xml.attribute("extraAttribute", "blaz");
       xml.rightAngleBracket();
       xml.element("extraElement", "elementText");
       // Do not close the 'bar' attribute by calling xml.closeElement('bar')
       
       
      If your IQ only contains attributes and no child elements, i.e. it can be represented as empty element, then you can mark it as such.
       xml.attribute("myAttribute", "myAttributeValue");
       xml.setEmptyElement();
       
      If your IQ does not contain any attributes or child elements (besides ExtensionElements), consider sub-classing SimpleIQ instead.
      Specified by:
      getIQChildElementBuilder in class IQ
      Parameters:
      buf - a pre-created builder which already has the child element and the 'xmlns' attribute set.
      Returns:
      the build to create the IQ child content.