Package tigase.sys

## Interface OnlineJidsReporter

- All Known Subinterfaces:
    `ClusteringStrategyIfc<E>`
  All Known Implementing Classes:
    `DefaultClusteringStrategy`, `DefaultClusteringStrategyAbstract`, `SessionManager`, `SessionManagerClustered`, `SMNonCachingAllNodes`

      public interface OnlineJidsReporter

  Created: Apr 19, 2009 12:15:07 AM
  Author:
    Artur Hefczyc

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `containsJid​(BareJID jid)` | The method checks whether the given JID is known to the installation, either user connected to local machine or any of the cluster nodes.
    `boolean` | `containsJidLocally​(BareJID jid)` | The method checks whether the given JID is known to local cluster node as connected user.
    `boolean` | `containsJidLocally​(JID jid)` | The method checks whether the given JID is known to local cluster node as connected user.
    `JID[]` | `getConnectionIdsForJid​(BareJID jid)` | Retrieve all connection IDs (CIDs) for the given user.
    `boolean` | `hasCompleteJidsInfo()` | Method checks whether the clustering strategy has a complete JIDs info.

- - ### Method Detail

    - #### hasCompleteJidsInfo

          boolean hasCompleteJidsInfo()

      Method checks whether the clustering strategy has a complete JIDs info. That is whether the strategy knows about all users connected to all nodes. Some strategies may choose not to share this information among nodes, hence the methods returns false. Other may synchronize this information and can provide it to further optimize cluster traffic.
      Returns:
        a true boolean value if the strategy has a complete information about all users connected to all cluster nodes.

    - #### containsJid

          boolean containsJid​(BareJID jid)

      The method checks whether the given JID is known to the installation, either user connected to local machine or any of the cluster nodes. False result does not mean the user is not connected. It means the method does not know anything about the JID. Some clustering strategies may not cache online users information.
      Parameters:
        `jid` - a user's JID for whom we query information.
      Returns:
        true if the user is known as online to the installation, false if the method does not know.

    - #### containsJidLocally

          boolean containsJidLocally​(BareJID jid)

      The method checks whether the given JID is known to local cluster node as connected user. False result means that given JID is not connected to local cluster node but it may be connected to other cluster node. Result of this method should be independent of used clustering strategy.
      Parameters:
        `jid` - a user's JID for whom we query information
      Returns:
        true if user is known as connected to local cluster node, false if it is not connected to local node

    - #### containsJidLocally

          boolean containsJidLocally​(JID jid)

      The method checks whether the given JID is known to local cluster node as connected user. False result means that given JID is not connected to local cluster node but it may be connected to other cluster node. Result of this method should be independent of used clustering strategy.
      Parameters:
        `jid` - a user's JID for whom we query information
      Returns:
        true if user is known as connected to local cluster node, false if it is not connected to local node

    - #### getConnectionIdsForJid

          JID[] getConnectionIdsForJid​(BareJID jid)

      Retrieve all connection IDs (CIDs) for the given user.
      Parameters:
        `jid` - id of the user for which we want to retrieve the list.
      Returns:
        an array of `JID` containing all Connection IDs (CIDs) for the given user.