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 and Description
    --- | ---
    `static String` | `ELEM_NAME`
    `static String[]` | `IQ_BIND_PATH`
    `static String[]` | `IQ_BIND_RESOURCE_PATH`
    `static String[]` | `IQ_CHAT_PATH`
    `static String[]` | `IQ_COMMAND_PATH`
    `static String[]` | `IQ_ERROR_PATH`
    `static String[]` | `IQ_PUBSUB_PATH`
    `static String[]` | `IQ_QUERY_PATH`
    `static 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 and Description
    `Iq(Element elem)`
    `Iq(Element elem, JID stanzaFrom, JID stanzaTo)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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, getSkippedProcessorsIds, getStanzaFrom, getStanzaId, getStanzaTo, getTo, getType, getXMLNS, initVars, initVars, isElement, isRouted, isXMLNSStaticStr, notProcessedBy, okResult, okResult, packetInstance, packetInstance, packetInstance, packRouted, processedBy, setPacketFrom, setPacketTo, setPermissions, setPriority, 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 Detail

    - #### 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 Detail

    - #### Iq

          public Iq(Element elem)
             throws TigaseStringprepException

      Throws:
        `TigaseStringprepException`

    - #### Iq

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

  - ### Method Detail

    - #### 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.

Copyright © 2004–2021 "Tigase, Inc.". All rights reserved.