Class Forwarded<S extends org.jivesoftware.smack.packet.Stanza>

java.lang.Object
org.jivesoftware.smackx.forward.packet.Forwarded<S>
All Implemented Interfaces:
org.jivesoftware.smack.packet.Element, org.jivesoftware.smack.packet.ExtensionElement, org.jivesoftware.smack.packet.NamedElement, org.jivesoftware.smack.packet.XmlElement, org.jivesoftware.smack.packet.XmlLangElement

public class Forwarded<S extends org.jivesoftware.smack.packet.Stanza> extends Object implements org.jivesoftware.smack.packet.ExtensionElement
Stanza extension for XEP-0297: Stanza Forwarding.
See Also:
  • Field Details

  • Constructor Details

    • Forwarded

      @Deprecated public Forwarded(DelayInformation delay, S forwardedStanza)
      Deprecated.
      Creates a new Forwarded stanza extension.
      Parameters:
      delay - an optional DelayInformation timestamp of the packet.
      forwardedStanza - the stanza that is forwarded (required).
    • Forwarded

      public Forwarded(S fwdPacket)
      Creates a new Forwarded stanza extension.
      Parameters:
      fwdPacket - the stanza that is forwarded (required).
    • Forwarded

      public Forwarded(S forwardedStanza, DelayInformation delay)
      Creates a new Forwarded stanza extension.
      Parameters:
      forwardedStanza - the stanza that is forwarded (required).
      delay - an optional DelayInformation timestamp of the packet.
  • Method Details

    • getElementName

      public String getElementName()
      Specified by:
      getElementName in interface org.jivesoftware.smack.packet.NamedElement
    • getNamespace

      public String getNamespace()
      Specified by:
      getNamespace in interface org.jivesoftware.smack.packet.XmlElement
    • toXML

      public org.jivesoftware.smack.util.XmlStringBuilder toXML(org.jivesoftware.smack.packet.XmlEnvironment enclosingNamespace)
      Specified by:
      toXML in interface org.jivesoftware.smack.packet.Element
    • getForwardedStanza

      public S getForwardedStanza()
      Get the forwarded Stanza found in this extension.
      Returns:
      the Stanza (typically a message) that was forwarded.
    • getDelayInformation

      public DelayInformation getDelayInformation()
      get the timestamp of the forwarded packet.
      Returns:
      the DelayInformation representing the time when the original stanza was sent. May be null.
    • isForwarded

      public boolean isForwarded(Class<? extends org.jivesoftware.smack.packet.Stanza> stanzaClass)
      Check if this is forwarding a stanza of the provided class.
      Parameters:
      stanzaClass - the class to check for.
      Returns:
      true if this is forwarding a stanza of the provided class.
      Since:
      4.4
    • from

      public static Forwarded<?> from(org.jivesoftware.smack.packet.Stanza packet)
      Get the forwarded extension.
      Parameters:
      packet - TODO javadoc me please
      Returns:
      the Forwarded extension or null
    • extractMessagesFrom

      public static List<org.jivesoftware.smack.packet.Message> extractMessagesFrom(Collection<Forwarded<org.jivesoftware.smack.packet.Message>> forwardedCollection)
      Extract messages in a collection of forwarded elements. Note that it is required that the Forwarded in the given collection only contain Message stanzas.
      Parameters:
      forwardedCollection - the collection to extract from.
      Returns:
      a list a the extracted messages.
      Since:
      4.3.0