context.arch.widget
Class WPersonNameInOut

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

public class WPersonNameInOut
extends WPersonNamePresence

This class is a context widget that provides information on the in/out status of a person in a particular location. The information is in the form of a location, user name and in/out status. 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, WPersonNamePresence, 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 IN
          Tag to indicate in
static java.lang.String INOUT
          Tag to indicate in/out status
static java.lang.String OUT
          Tag to indicate out
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.WPersonNamePresence
CLASSNAME, DEFAULT_PORT, MOBILE_SMARTBOARD1, USERNAME, 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
WPersonNameInOut(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.
WPersonNameInOut(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.
WPersonNameInOut(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.
WPersonNameInOut(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.
WPersonNameInOut(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().
 
Methods inherited from class context.arch.widget.WPersonNamePresence
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

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

INOUT

public static final java.lang.String INOUT
Tag to indicate in/out status

OUT

public static final java.lang.String OUT
Tag to indicate out

IN

public static final java.lang.String IN
Tag to indicate in
Constructor Detail

WPersonNameInOut

public WPersonNameInOut(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

WPersonNameInOut

public WPersonNameInOut(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

WPersonNameInOut

public WPersonNameInOut(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

WPersonNameInOut

public WPersonNameInOut(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

WPersonNameInOut

public WPersonNameInOut(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 WPersonNamePresence
Returns:
the Attributes 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 WPersonNamePresence, basically doing the same thing, except it also determines whether the person's status is in or out.
Overrides:
IButtonData2Attributes in class WPersonNamePresence
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