Package tigase.server

# Class Iq

java.lang.Object
tigase.server.Packet
tigase.server.Iq

public class Iq extends Packet
Created: Dec 31, 2009 8:43:21 PM

Author:
  Artur Hefczyc

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `ELEM_NAME`
  `static final String[]`
  `IQ_BIND_PATH`
  `static final String[]`
  `IQ_BIND_RESOURCE_PATH`
  `static final String[]`
  `IQ_CHAT_PATH`
  `static final String[]`
  `IQ_COMMAND_PATH`
  `static final String[]`
  `IQ_ERROR_PATH`
  `static final String[]`
  `IQ_PUBSUB_PATH`
  `static final String[]`
  `IQ_QUERY_PATH`
  `static final String`
  `QUERY_NAME`

  ### Fields inherited from class tigase.server.Packet

  `CLIENT_XMLNS, elem, ERROR_NS, FROM_ATT, FULL_DEBUG, ID_ATT, PERM_ATT, PRIORITY_ATT, TO_ATT, TYPE_ATT, XMLNS_ATT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Iq(Element elem)`
  `Iq(Element elem, JID stanzaFrom, JID stanzaTo)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Packet`
  `commandResult(Command.DataType cmd_type)`
  `static Packet`
  `commandResultForm(Iq packet)`
  `static Packet`
  `commandResultResult(Iq packet)`
  `static Iq`
  `createRosterPacket(String iq_type, String iq_id, JID from, JID to, JID item_jid, String item_name, String[] item_groups, String subscription, String item_type)`
  Method creates a new `Packet` instance or `Iq` instance more specificly with a roster entry content.
  `Command`
  `getCommand()`
  The method always returns NULL.
  `protected String[]`
  `getElNameErrorPath()`
  A convenience method to provide XML path as `String[]` to error element.
  `String`
  `getIQChildName()`
  `String`
  `getIQXMLNS()`
  `String`
  `getStrCommand()`
  `boolean`
  `isCommand()`
  The method checks whether the stanza enclosed by this `Packet` instance is an ad-hoc command.
  `boolean`
  `isServiceDisco()`
  A convenience method which checks whether the enclosed stanza is a service discovery query.

  ### Methods inherited from class tigase.server.Packet

  `copyElementOnly, debug, elemToString, elemToStringSecure, errorResult, getAttributeStaticStr, getAttributeStaticStr, getElemCData, getElemCDataStaticStr, getElemChild, getElemChild, getElemChildrenStaticStr, getElement, getElemName, getErrorCondition, getFrom, getPacketFrom, getPacketTo, getPermissions, getPriority, getProcessorsIds, getServerAuthorisedStanzaFrom, getSkippedProcessorsIds, getStableId, getStanzaFrom, getStanzaId, getStanzaTo, getTo, getType, getXMLNS, initVars, initVars, isElement, isRouted, isXMLNSStaticStr, notProcessedBy, okResult, okResult, packetInstance, packetInstance, packetInstance, packRouted, processedBy, setPacketFrom, setPacketTo, setPermissions, setPriority, setServerAuthorisedStanzaFrom, setStableId, setXMLNS, swapFromTo, swapFromTo, swapStanzaFromTo, swapStanzaFromTo, toString, toString, toStringFull, toStringSecure, unpackRouted, wasProcessed, wasProcessedBy, wasSkipped`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### ELEM_NAME

    public static final String ELEM_NAME
    See Also:
      - Constant Field Values

  - ### QUERY_NAME

    public static final String QUERY_NAME
    See Also:
      - Constant Field Values

  - ### IQ_QUERY_PATH

    public static final String[] IQ_QUERY_PATH

  - ### IQ_PUBSUB_PATH

    public static final String[] IQ_PUBSUB_PATH

  - ### IQ_ERROR_PATH

    public static final String[] IQ_ERROR_PATH

  - ### IQ_COMMAND_PATH

    public static final String[] IQ_COMMAND_PATH

  - ### IQ_CHAT_PATH

    public static final String[] IQ_CHAT_PATH

  - ### IQ_BIND_RESOURCE_PATH

    public static final String[] IQ_BIND_RESOURCE_PATH

  - ### IQ_BIND_PATH

    public static final String[] IQ_BIND_PATH

- ## Constructor Details

  - ### Iq

    public Iq(Element elem) throws TigaseStringprepException
    Throws:
      `TigaseStringprepException`

  - ### Iq

    public Iq(Element elem, JID stanzaFrom, JID stanzaTo)

- ## Method Details

  - ### commandResultForm

    public static Packet commandResultForm(Iq packet) throws TigaseStringprepException
    Throws:
      `TigaseStringprepException`

  - ### commandResultResult

    public static Packet commandResultResult(Iq packet) throws TigaseStringprepException
    Throws:
      `TigaseStringprepException`

  - ### createRosterPacket

    public static Iq createRosterPacket(String iq_type, String iq_id, JID from, JID to, JID item_jid, String item_name, String[] item_groups, String subscription, String item_type)
    Method creates a new `Packet` instance or `Iq` instance more specificly with a roster entry content. TODO: Remove dependency on RosterAbstract class, possibly move the method again to more proper location but it needs to be accessible from all parts of the application.
    Parameters:
      `iq_type` - is a `String` value with the stanza type: 'set', 'get', 'result'.
      `iq_id` - is a `String` value with the stanza unique id.
      `from` - is a `JID` instance with the packet source address.
      `to` - is a `JID` instance with the packet destination address.
      `item_jid` - is a `JID` instance with the roster item JID, note in most cases the jid should not have a resource part, but this method does not cut it off. This is because there are cases when we want to have a resource part in the roster item.
      `item_name` - is a `String` vakue with the roster item name.
      `item_groups` - is a `String[]` array with all groups the item belongs to.
      `subscription` - is a `String` instance with the item subscription state.
      `item_type` - is a `String` of the user item type. This is `null` in most cases as this is not part of the XMPP RFC. Some deployments needs some extra information about the roster item type though.
    Returns:
      a new `Packet` instance or `Iq` instance more specificly with a roster entry content.

  - ### commandResult

    public Packet commandResult(Command.DataType cmd_type)

  - ### getCommand

    public Command getCommand()
    Description copied from class: `Packet`
    The method always returns NULL. It is overwritten in the `Iq` class where it returns a command identifier if the `iq` stanza represents an ad-hoc command. It is provided here is a convenience so the developer does not have to cast the packet to IQ before retrieving the command id.
    Overrides:
      `getCommand` in class `Packet`
    Returns:
      the method always returns a NULL.

  - ### getIQChildName

    public String getIQChildName()

  - ### getIQXMLNS

    public String getIQXMLNS()

  - ### getStrCommand

    public String getStrCommand()

  - ### isCommand

    public boolean isCommand()
    Description copied from class: `Packet`
    The method checks whether the stanza enclosed by this `Packet` instance is an ad-hoc command. This is a generic method which in fact always returns `false`. It is overwritten in the `Iq` class where the real checking is performed. This class has been provided as a convenience method to perform the check without a need for casting the `Packet` instance to the `Iq` class.
    Overrides:
      `isCommand` in class `Packet`
    Returns:
      a `boolean` value `true` if the stanza is an ad-hoc command and `false` otherwise.

  - ### isServiceDisco

    public boolean isServiceDisco()
    Description copied from class: `Packet`
    A convenience method which checks whether the enclosed stanza is a service discovery query. This is a generic method which in fact always returns `false`. It is overwritten in the `Iq` class where the real checking is performed. This class has been provided as a convenience method to perform the check without a need for casting the `Packet` instance to the `Iq` class.
    Overrides:
      `isServiceDisco` in class `Packet`
    Returns:
      a `boolean` value `true` if the stanza is a a service discovery query and `false` otherwise.

  - ### getElNameErrorPath

    protected String[] getElNameErrorPath()
    Description copied from class: `Packet`
    A convenience method to provide XML path as `String[]` to error element. This method should be override by all classes extending this class.
    Overrides:
      `getElNameErrorPath` in class `Packet`
    Returns:
      XML path to error element.