ControlBeans
Class AbstractCommunicator

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--ControlBeans.AbstractCommunicator
Direct Known Subclasses:
TCPIPCommunicator

public abstract class AbstractCommunicator
extends javax.swing.JPanel
implements ComponentListener

This class is the class from which all communicator classes should be inherited. AbstractCommuncator contains the methods and mechanisms needed to allow components to register with it and have values passed on to them. It is also prepared to allow custom communication with other classes, thus passing values to and from the components which have registered.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
static double CURRENT_TIME
          Constant used by classes invoking putValue.
protected static int myID
          The ID of the AbstractCommunicator.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary
AbstractCommunicator()
          Constructs a new AbstractCommunicator.
 
Method Summary
 void putValue(double value, int aTag, double time, int ID)
          This method is invoked by components that wish to send double values through this communicator.
 void putValue(int value, int aTag, double time, int ID)
          This method is invoked by components that wish to send integer values through this communicator.
 void putValue(java.lang.String value, int aTag, double time, int ID)
          This method is invoked by components that wish to send string values through this communicator.
 void registerComponentEvent(ComponentEvent e)
          Inherited from ComponentListener.
 void requestValues()
          Sends a request to all components to make them send their value(s).
protected abstract  void sendValue(double value, int aTag, double time)
          This method should be implemented by subclasses that wish to communicate with other classes.
protected abstract  void sendValue(int value, int aTag, double time)
          This method should be implemented by subclasses that wish to communicate with other classes.
protected abstract  void sendValue(java.lang.String value, int aTag, double time)
          This method should be implemented by subclasses that wish to communicate with other classes.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getWidth, getVisibleRect, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setCursor, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myID

protected static final int myID
The ID of the AbstractCommunicator.

CURRENT_TIME

public static final double CURRENT_TIME
Constant used by classes invoking putValue. If a value being passed has time set to this constant, this communicator will change the time to the number of milliseconds passed since the creation of it.
Constructor Detail

AbstractCommunicator

public AbstractCommunicator()
Constructs a new AbstractCommunicator.
Method Detail

registerComponentEvent

public void registerComponentEvent(ComponentEvent e)
Inherited from ComponentListener. This method receives a component that wishes to register with this communicator. The component is stored within it and a reply is sent to the component, thus alerting the component of the communicators presence.
Specified by:
registerComponentEvent in interface ComponentListener
Parameters:
e - the event itself.

putValue

public final void putValue(int value,
                           int aTag,
                           double time,
                           int ID)
This method is invoked by components that wish to send integer values through this communicator.
If time corresponds to AbstractCommunicator.CURRENT_TIME, time will be set to the number of milliseconds passed since the creation of this communicator.
If ID does not correspond to AbstractCommunicator.myID, this method will invoke sendValue().
Subclasses that wish to send values to the components registered with this communicator should also invoke this method with ID set to AbstractCommuncator.myID (thus preventing the invokation of sendValue()).
Parameters:
value - the value to be transmitted
aTag - the tag of components to receive the value
time - a time tag for the value
ID - the ID-number of component which sent the value

putValue

public final void putValue(double value,
                           int aTag,
                           double time,
                           int ID)
This method is invoked by components that wish to send double values through this communicator.
If time corresponds to AbstractCommunicator.CURRENT_TIME, time will be set to the number of milliseconds passed since the creation of this communicator.
If ID does not correspond to AbstractCommunicator.myID, this method will invoke sendValue().
Subclasses that wish to send values to the components registered with this communicator should also invoke this method with ID set to AbstractCommuncator.myID (thus preventing the invokation of sendValue()).
Parameters:
value - the value to be transmitted
aTag - the tag of components to receive the value
time - a time tag for the value
ID - the ID-number of component which sent the value

putValue

public final void putValue(java.lang.String value,
                           int aTag,
                           double time,
                           int ID)
This method is invoked by components that wish to send string values through this communicator.
If time corresponds to AbstractCommunicator.CURRENT_TIME, time will be set to the number of milliseconds passed since the creation of this communicator.
If ID does not correspond to AbstractCommunicator.myID, this method will invoke sendValue().
Subclasses that wish to send values to the components registered with this communicator should also invoke this method with ID set to AbstractCommuncator.myID (thus preventing the invokation of sendValue()).
Parameters:
value - the value to be transmitted
aTag - the tag of components to receive the value
time - a time tag for the value
ID - the ID-number of component which sent the value

requestValues

public final void requestValues()
Sends a request to all components to make them send their value(s).

sendValue

protected abstract void sendValue(int value,
                                  int aTag,
                                  double time)
This method should be implemented by subclasses that wish to communicate with other classes. This method will be invoked by putValue if ID does not correspont to AbstractCommuncator.myID. The method putValue is in turn invoked by a component when it wishes to send a value.
Parameters:
value - the value to be transmitted
aTag - the tag of components to receive the value
time - a time tag for the value

sendValue

protected abstract void sendValue(double value,
                                  int aTag,
                                  double time)
This method should be implemented by subclasses that wish to communicate with other classes. This method will be invoked by putValue if ID does not correspont to AbstractCommuncator.myID. The method putValue is in turn invoked by a component when it wishes to send a value.
Parameters:
value - the value to be transmitted
aTag - the tag of components to receive the value
time - a time tag for the value

sendValue

protected abstract void sendValue(java.lang.String value,
                                  int aTag,
                                  double time)
This method should be implemented by subclasses that wish to communicate with other classes. This method will be invoked by putValue if ID does not correspont to AbstractCommuncator.myID. The method putValue is in turn invoked by a component when it wishes to send a value.
Parameters:
value - the value to be transmitted
aTag - the tag of components to receive the value
time - a time tag for the value