Class OOCSIAwareness

java.lang.Object
nl.tue.id.oocsi.client.behavior.OOCSISystemCommunicator<java.lang.String>
nl.tue.id.oocsi.client.behavior.OOCSIAwareness

public class OOCSIAwareness
extends OOCSISystemCommunicator<java.lang.String>
OOCSIAwareness is a system-level primitive that allows for local representations of different OOCSI clients on the same channel and the data they share on that channel. The local representation will be about several keys or all data. This realizes synchronization on data without aggregation.
Author:
matsfunk
  • Nested Class Summary

    Nested classes/interfaces inherited from class nl.tue.id.oocsi.client.behavior.OOCSISystemCommunicator

    OOCSISystemCommunicator.SystemFilter<K>
  • Field Summary

    Fields inherited from class nl.tue.id.oocsi.client.behavior.OOCSISystemCommunicator

    channelName, client, HANDLE
  • Constructor Summary

    Constructors
    Constructor Description
    OOCSIAwareness​(OOCSIClient client, java.lang.String channelName)
    create a new awareness process on the given channel for ALL data
    OOCSIAwareness​(OOCSIClient client, java.lang.String channelName, int timeout, java.lang.String... keys)
    create a new awareness process on the given channel for the specified data (as keys), a timeout is specified to "forget" nodes on the channel, unless they post data during the timeout duration
    OOCSIAwareness​(OOCSIClient client, java.lang.String channelName, java.lang.String... keys)
    create a new awareness process on the given channel for the specified data (as keys)
  • Method Summary

    Modifier and Type Method Description
    boolean containsNode​(java.lang.Object nodeName)
    check whether a node given by nodeName is represented
    java.lang.Object get​(java.lang.String nodeName, java.lang.String key)
    get data with key from node with given name
    java.lang.Double get​(java.lang.String nodeName, java.lang.String key, double defaultValue)
    get data with key from node with given name
    float get​(java.lang.String nodeName, java.lang.String key, float defaultValue)
    get data with key from node with given name
    java.lang.Integer get​(java.lang.String nodeName, java.lang.String key, int defaultValue)
    get data with key from node with given name
    java.lang.Long get​(java.lang.String nodeName, java.lang.String key, long defaultValue)
    get data with key from node with given name
    java.lang.String get​(java.lang.String nodeName, java.lang.String key, java.lang.String defaultValue)
    get data with key from node with given name
    boolean isEmpty()
    check whether nodes are locally represented
    java.util.List<java.lang.String> keys()
    retrieve all keys that will be represented from node data (configured in constructor)
    java.util.Set<java.lang.String> nodes()
    retrieve set of node names
    java.util.Map<java.lang.String,​java.lang.Object> remove​(java.lang.String key)
    remove a node from the local representation
    int size()
    retrieve the number of nodes

    Methods inherited from class nl.tue.id.oocsi.client.behavior.OOCSISystemCommunicator

    addFilter, getHandle, message, message, message, subscribe, triggerHandler, updateFilter

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OOCSIAwareness

      public OOCSIAwareness​(OOCSIClient client, java.lang.String channelName)
      create a new awareness process on the given channel for ALL data
      Parameters:
      client -
      channelName -
    • OOCSIAwareness

      public OOCSIAwareness​(OOCSIClient client, java.lang.String channelName, java.lang.String... keys)
      create a new awareness process on the given channel for the specified data (as keys)
      Parameters:
      client -
      channelName -
      keys -
    • OOCSIAwareness

      public OOCSIAwareness​(OOCSIClient client, java.lang.String channelName, int timeout, java.lang.String... keys)
      create a new awareness process on the given channel for the specified data (as keys), a timeout is specified to "forget" nodes on the channel, unless they post data during the timeout duration
      Parameters:
      client -
      channelName -
      timeout -
      keys -
  • Method Details

    • size

      public int size()
      retrieve the number of nodes
      Returns:
    • isEmpty

      public boolean isEmpty()
      check whether nodes are locally represented
      Returns:
    • containsNode

      public boolean containsNode​(java.lang.Object nodeName)
      check whether a node given by nodeName is represented
      Parameters:
      nodeName -
      Returns:
    • get

      public java.lang.Integer get​(java.lang.String nodeName, java.lang.String key, int defaultValue)
      get data with key from node with given name
      Parameters:
      nodeName -
      key -
      defaultValue -
      Returns:
    • get

      public java.lang.Long get​(java.lang.String nodeName, java.lang.String key, long defaultValue)
      get data with key from node with given name
      Parameters:
      nodeName -
      key -
      defaultValue -
      Returns:
    • get

      public java.lang.Double get​(java.lang.String nodeName, java.lang.String key, double defaultValue)
      get data with key from node with given name
      Parameters:
      nodeName -
      key -
      defaultValue -
      Returns:
    • get

      public float get​(java.lang.String nodeName, java.lang.String key, float defaultValue)
      get data with key from node with given name
      Parameters:
      nodeName -
      key -
      defaultValue -
      Returns:
    • get

      public java.lang.String get​(java.lang.String nodeName, java.lang.String key, java.lang.String defaultValue)
      get data with key from node with given name
      Parameters:
      nodeName -
      key -
      defaultValue -
      Returns:
    • get

      public java.lang.Object get​(java.lang.String nodeName, java.lang.String key)
      get data with key from node with given name
      Parameters:
      nodeName -
      key -
      Returns:
    • remove

      public java.util.Map<java.lang.String,​java.lang.Object> remove​(java.lang.String key)
      remove a node from the local representation
      Parameters:
      key -
      Returns:
    • nodes

      public java.util.Set<java.lang.String> nodes()
      retrieve set of node names
      Returns:
    • keys

      public java.util.List<java.lang.String> keys()
      retrieve all keys that will be represented from node data (configured in constructor)
      Returns: