context.arch.widget
Class WTemperature

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

public class WTemperature
extends Widget

This class is a context widget that provides information on the temperature in a particular location. The information is in the form of a location, temperature, and units (Celsius or Fahrenheit). It has the following callbacks: UPDATE. It supports polling and subscriptions.

See Also:
Widget, TemperatureSensor

Field Summary
static java.lang.String CLASSNAME
          Name of widget
static int DEFAULT_PORT
          The default port this widget runs on is 5100
static java.lang.String LOCATION
          Tag for user location
protected  TemperatureSensor temp
           
static java.lang.String TEMPERATURE
          Tag for temperature
static java.lang.String UNITS
          Tag for temperature units
 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
WTemperature(java.lang.String location)
          Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the TemperatureSensor generator.
WTemperature(java.lang.String location, boolean storageFlag)
          Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the TemperatureSensor generator.
WTemperature(java.lang.String location, int port)
          Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the TemperatureSensor generator.
WTemperature(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 an instance of the TemperatureSensor generator.
WTemperature(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 an instance of the TemperatureSensor generator.
 
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 empty AttributeNameValues object.
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()
          This method implements the abstract method Widget.setServices().
protected  AttributeNameValues TemperatureData2Attributes(TemperatureData data)
          This method converts the TemperatureData object to an AttributeNameValues object.
 
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

TEMPERATURE

public static final java.lang.String TEMPERATURE
Tag for temperature

UNITS

public static final java.lang.String UNITS
Tag for temperature units

LOCATION

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

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 5100

temp

protected TemperatureSensor temp
Constructor Detail

WTemperature

public WTemperature(java.lang.String location)
Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the TemperatureSensor generator. It also sets the id of this widget to CLASSNAME_ with storage enabled.
Parameters:
location - Location the widget is "monitoring"
See Also:
TemperatureSensor

WTemperature

public WTemperature(java.lang.String location,
                    boolean storageFlag)
Constructor that creates the widget at the given location and monitors communications on the DEFAULT_PORT and creates an instance of the TemperatureSensor generator. 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
See Also:
TemperatureSensor

WTemperature

public WTemperature(java.lang.String location,
                    int port)
Constructor that creates the widget at the given location and monitors communications on the given port and creates an instance of the TemperatureSensor generator. 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
See Also:
TemperatureSensor

WTemperature

public WTemperature(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 an instance of the TemperatureSensor generator. It also sets the id of this widget to CLASSNAME_ with storage functionality set 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 functionality
See Also:
TemperatureSensor

WTemperature

public WTemperature(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 an instance of the TemperatureSensor generator. It also sets the id of this widget to CLASSNAME_ with storage functionality set 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 functionality
See Also:
TemperatureSensor
Method Detail

setAttributes

protected Attributes setAttributes()
This method implements the abstract method Widget.setAttributes(). It defines the attributes for the widget as: TIMESTAMP, TEMPERATURE, UNITS, and LOCATION
Overrides:
setAttributes in class Widget
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, TEMPERATURE, UNITS, LOCATION
Overrides:
setCallbacks in class Widget
Returns:
the Callbacks used by this widget

setServices

protected Services setServices()
This method implements the abstract method Widget.setServices(). It currently has no services and returns an empty Services object.
Overrides:
setServices in class Widget
Returns:
the Services provided by this widget

queryGenerator

protected AttributeNameValues queryGenerator()
This method returns an empty AttributeNameValues object. The temperature sensor can not be polled.
Overrides:
queryGenerator in class Widget
Returns:
empty AttributeNameValues

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)

TemperatureData2Attributes

protected AttributeNameValues TemperatureData2Attributes(TemperatureData data)
This method converts the TemperatureData object to an AttributeNameValues object.
Parameters:
data - TemperatureData object to be converted
Returns:
AttributeNameValues object containing the data in the TemperatureData 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