context.arch.widget
Class WPersonNamePresence

java.lang.Object
  |
  +--context.arch.BaseObject
        |
        +--context.arch.widget.Widget
              |
              +--context.arch.widget.WPersonPresence
                    |
                    +--context.arch.widget.WPersonNamePresence
Direct Known Subclasses:
WPersonNameInOut, WPNPSonic

public class WPersonNamePresence
extends WPersonPresence

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. Currently it only uses the IButton as a means of providing presence. It handles only a single IButton instance.

See Also:
Widget, PositionIButton

Field Summary
static java.lang.String CLASSNAME
          Name of widget
static int DEFAULT_PORT
          The default port this widget runs on is 5200
static java.lang.String MOBILE_SMARTBOARD1
          Tag to indicate the location is Mobile SMARTBoard #1
static java.lang.String USERNAME
          Tag to indicate user name
 java.lang.String VERSION_NUMBER
          Widget version number
 
Fields inherited from class context.arch.widget.WPersonPresence
ANIND_OFFICE, CLASSNAME, COMMON_AREA, DANIEL_OFFICE, DEFAULT_PORT, FCL, GREGORY_OFFICE, ibutton, LOCATION, USERID, 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
WPersonNamePresence(java.lang.String location, int port, java.lang.String ihost, int iport)
          Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the IButton position generator.
WPersonNamePresence(java.lang.String location, int port, java.lang.String ihost, int iport, boolean storageFlag)
          Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the IButton position generator.
WPersonNamePresence(java.lang.String location, int port, java.lang.String ihost, int iport, java.lang.String id, boolean storageFlag)
          Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the IButton position generator.
WPersonNamePresence(java.lang.String location, java.lang.String ihost, int iport)
          Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the IButton position generator.
WPersonNamePresence(java.lang.String location, java.lang.String ihost, int iport, boolean storageFlag)
          Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the IButton position generator.
 
Method Summary
protected  AttributeNameValues IButtonData2Attributes(IButtonData data)
          This method converts the IButtonData object to an AttributeNameValues object.
static void main(java.lang.String[] argv)
          Main method to create a widget with location and port specified by command line arguments
protected  Attributes setAttributes()
          This method implements the abstract method Widget.setAttributes().
protected  Callbacks setCallbacks()
          This method implements the abstract method Widget.setCallbacks().
 
Methods inherited from class context.arch.widget.WPersonPresence
notify, queryGenerator, setServices
 
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

CLASSNAME

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

MOBILE_SMARTBOARD1

public static final java.lang.String MOBILE_SMARTBOARD1
Tag to indicate the location is Mobile SMARTBoard #1

DEFAULT_PORT

public static final int DEFAULT_PORT
The default port this widget runs on is 5200

USERNAME

public static final java.lang.String USERNAME
Tag to indicate user name
Constructor Detail

WPersonNamePresence

public WPersonNamePresence(java.lang.String location,
                           java.lang.String ihost,
                           int iport)
Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the IButton position generator. It also sets the id of this widget to CLASSNAME_ and enables storage.
Parameters:
location - Location the widget is "monitoring"
ihost - Hostname/ip the IIButton2Name is running on
iport - Port the IIButton2Name is running on
See Also:
PositionIButton

WPersonNamePresence

public WPersonNamePresence(java.lang.String location,
                           java.lang.String ihost,
                           int iport,
                           boolean storageFlag)
Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the IButton position generator. It also sets the id of this widget to CLASSNAME_ and sets storage functionality to storageFlag
Parameters:
location - Location the widget is "monitoring"
ihost - Hostname/ip the IIButton2Name is running on
iport - Port the IIButton2Name is running on
storageFlag - Flag to indicate whether storage is enabled or not
See Also:
PositionIButton

WPersonNamePresence

public WPersonNamePresence(java.lang.String location,
                           int port,
                           java.lang.String ihost,
                           int iport)
Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the IButton position generator. It also sets the id of this widget to CLASSNAME_ and enables storage
Parameters:
location - Location the widget is "monitoring"
port - Port to run the widget on
ihost - Hostname/ip the IIButton2Name is running on
iport - Port the IIButton2Name is running on
See Also:
PositionIButton

WPersonNamePresence

public WPersonNamePresence(java.lang.String location,
                           int port,
                           java.lang.String ihost,
                           int iport,
                           boolean storageFlag)
Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the IButton position generator. It also sets the id of this widget to CLASSNAME_ and sets storage functionality to storageFlag
Parameters:
location - Location the widget is "monitoring"
port - Port to run the widget on
ihost - Hostname/ip the IIButton2Name is running on
iport - Port the IIButton2Name is running on
storageFlag - Flag to indicate whether storage is enabled or not
See Also:
PositionIButton

WPersonNamePresence

public WPersonNamePresence(java.lang.String location,
                           int port,
                           java.lang.String ihost,
                           int iport,
                           java.lang.String id,
                           boolean storageFlag)
Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the IButton position generator. It also sets the id of this widget to CLASSNAME_, and sets storage functionality to storageFlag.
Parameters:
location - Location the widget is "monitoring"
port - Port to run the widget on
ihost - Hostname/ip the IIButton2Name is running on
iport - Port the IIButton2Name is running on
id - Widget id
storageFlag - Flag to indicate whether storage is enabled or not
See Also:
PositionIButton
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 WPersonPresence
Returns:
the Attributes used by this 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 WPersonPresence
Returns:
the Callbacks used by this widget

IButtonData2Attributes

protected AttributeNameValues IButtonData2Attributes(IButtonData data)
This method converts the IButtonData object to an AttributeNameValues object. It overrides the method in WPersonPresence, basically doing the same thing, except it also uses an interpreter to convert the USERID to a USERNAME
Overrides:
IButtonData2Attributes in class WPersonPresence
Parameters:
data - IButtonData object to be converted
Returns:
AttributeNameValues object containing the data in the IButtonData object

main

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