context.arch.widget
Class WPersonNamePresence2

java.lang.Object
  |
  +--context.arch.BaseObject
        |
        +--context.arch.widget.Widget
              |
              +--context.arch.widget.WPersonNamePresence2

public class WPersonNamePresence2
extends Widget

This class is a context widget that provides information on the presence of a person in a particular location. The information is in the form of a location and a user id. It has the following callbacks: UPDATE. It supports polling and subscriptions. It uses a graphical menu to input presence info.

See Also:
Widget

Field Summary
static java.lang.String CLASSNAME
          Name of widget
static java.lang.String LOCATION
          Tag for user location
static java.lang.String USERNAME
          Tag for user id
 java.lang.String VERSION_NUMBER
          Widget version number
 
Fields inherited from class context.arch.widget.Widget
attributes, attributeTypes, callbacks, CLASS, CurrentOffset, DEFAULT_PORT, id, PUT_DATA, PUT_DATA_REPLY, QUERY, QUERY_ATTRIBUTES, QUERY_ATTRIBUTES_REPLY, QUERY_CALLBACKS, QUERY_CALLBACKS_REPLY, QUERY_REPLY, QUERY_SERVICES, QUERY_SERVICES_REPLY, QUERY_VERSION, QUERY_VERSION_REPLY, services, SPACER, storage, subscribers, TIMESTAMP, UPDATE, UPDATE_AND_QUERY, UPDATE_AND_QUERY_REPLY, VERSION, VERSION_NUMBER
 
Fields inherited from class context.arch.BaseObject
communications, EXIT_OK, handlers, ID, parser, PING, PING_REPLY, serviceHandlers
 
Constructor Summary
WPersonNamePresence2(java.lang.String location)
          Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates the graphical UI.
WPersonNamePresence2(java.lang.String location, boolean storageFlag)
          Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates the graphical UI.
WPersonNamePresence2(java.lang.String location, int port)
          Constructor that creates the widget at the given location and monitors communications on the given port and creates the graphical UI.
WPersonNamePresence2(java.lang.String location, int port, boolean storageFlag)
          Constructor that creates the widget at the given location and monitors communications on the given port and creates the graphical UI.
WPersonNamePresence2(java.lang.String location, int port, java.lang.String id, boolean storageFlag)
          Constructor that creates the widget at the given location and monitors communications on the given port and creates the graphical UI.
 
Method Summary
static void main(java.lang.String[] argv)
          Main method to create a widget with location and port specified by command line arguments
 void notify(java.lang.String event, java.lang.Object data)
          Called by the generator class when a significant event has occurred.
protected  AttributeNameValues queryGenerator()
          This method returns an AttributeNameValues object with the latest presence info
protected  Attributes setAttributes()
          This method implements the abstract method Widget.setAttributes().
protected  Callbacks setCallbacks()
          This method implements the abstract method Widget.setCallbacks().
protected  Services setServices()
          Sets the services for the widget
 void setUser(java.lang.String username)
          This method sets the name of the user who is present, and is called by the UI
 
Methods inherited from class context.arch.widget.Widget
addSubscriber, canHandle, canHandle, canHandle, canHandle, executeService, getAttributeType, getCurrentTime, getNewOffset, getNewOffsetNoDelay, isAttribute, isCallback, processCallbackReply, putData, queryAttributes, queryCallbacks, queryServices, queryWidget, removeSubscriber, retrieveData, runUserMethod, runWidgetMethod, sendToSubscribers, setAttribute, store, store, updateWidgetInformation
 
Methods inherited from class context.arch.BaseObject
askInterpreter, decodeData, encodeData, executeAsynchronousWidgetService, executeSynchronousWidgetService, getHostAddress, getId, getVersion, getVersion, getWidgetAttributes, getWidgetCallbacks, getWidgetServices, pingComponent, pollWidget, putDataInWidget, queryVersion, quit, retrieveDataFrom, retrieveDataFrom, retrieveDataFrom, retrieveDataFrom, retrieveDataFrom, retrieveDataFrom, retrieveDataFrom, returnPing, runComponentMethod, runMethod, serviceResult, setId, setVersion, subscribeTo, subscribeTo, subscribeTo, subscribeTo, unsubscribeFrom, updateAndPollWidget, userCallback, userRequest, userRequest, userRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION_NUMBER

public java.lang.String VERSION_NUMBER
Widget version number

USERNAME

public static final java.lang.String USERNAME
Tag for user id

LOCATION

public static final java.lang.String LOCATION
Tag for user location

CLASSNAME

public static final java.lang.String CLASSNAME
Name of widget
Constructor Detail

WPersonNamePresence2

public WPersonNamePresence2(java.lang.String location)
Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates the graphical UI. It also sets the id of this widget to CLASSNAME_, with storage enabled.
Parameters:
location - Location the widget is "monitoring"

WPersonNamePresence2

public WPersonNamePresence2(java.lang.String location,
                            boolean storageFlag)
Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates the graphical UI. It also sets the id of this widget to CLASSNAME_ and sets storage functionality to storageFlag.
Parameters:
location - Location the widget is "monitoring"
storageFlag - Flag to indicate whether or not to enable storage functionality

WPersonNamePresence2

public WPersonNamePresence2(java.lang.String location,
                            int port)
Constructor that creates the widget at the given location and monitors communications on the given port and creates the graphical UI. It also sets the id of this widget to CLASSNAME_, with storage enabled.
Parameters:
location - Location the widget is "monitoring"
port - Port to run the widget on

WPersonNamePresence2

public WPersonNamePresence2(java.lang.String location,
                            int port,
                            boolean storageFlag)
Constructor that creates the widget at the given location and monitors communications on the given port and creates the graphical UI. It also sets the id of this widget to CLASSNAME_ and sets the storage functionality to storageFlag.
Parameters:
location - Location the widget is "monitoring"
port - Port to run the widget on
storageFlag - Flag to indicate whether or not to enable storage

WPersonNamePresence2

public WPersonNamePresence2(java.lang.String location,
                            int port,
                            java.lang.String id,
                            boolean storageFlag)
Constructor that creates the widget at the given location and monitors communications on the given port and creates the graphical UI. It also sets the id of this widget to the given id and sets storage functionality to storageFlag
Parameters:
location - Location the widget is "monitoring"
port - Port to run the widget on
id - Widget id
storageFlag - Flag to indicate whether or not to enable storage
Method Detail

setAttributes

protected Attributes setAttributes()
This method implements the abstract method Widget.setAttributes(). It defines the attributes for the widget as: TIMESTAMP, USERNAME, and LOCATION
Overrides:
setAttributes in class Widget
Returns:
the Attributes used by this widget

setServices

protected Services setServices()
Description copied from class: Widget
Sets the services for the widget
Overrides:
setServices in class Widget

setCallbacks

protected Callbacks setCallbacks()
This method implements the abstract method Widget.setCallbacks(). It defines the callbacks for the widget as: UPDATE with the attributes TIMESTAMP, USERNAME, LOCATION
Overrides:
setCallbacks in class Widget
Returns:
the Callbacks used by this widget

notify

public void notify(java.lang.String event,
                   java.lang.Object data)
Called by the generator class when a significant event has occurred. It creates a DataObject, sends it to its subscribers and stores the data.
Overrides:
notify in class Widget
Parameters:
event - Name of the event that has occurred
data - Object containing relevant event data
See Also:
Widget.sendToSubscribers(String, AttributeNameValues), Widget.store(AttributeNameValues)

setUser

public void setUser(java.lang.String username)
This method sets the name of the user who is present, and is called by the UI
Parameters:
username - Name of the user

queryGenerator

protected AttributeNameValues queryGenerator()
This method returns an AttributeNameValues object with the latest presence info
Overrides:
queryGenerator in class Widget
Returns:
AttributeNameValues containing the latest data

main

public static void main(java.lang.String[] argv)
Main method to create a widget with location and port specified by command line arguments