ControlBeans
Class CRelay

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--ControlBeans.CRelay

public class CRelay
extends javax.swing.JComponent
implements ComponentInterface

This class implements an invisible control component that can relay values between non-control components and the communicator. It does so by letting non-control components listen to relay events. When the component receives a relay event, it can fetch the value by invoking getIntValue, getDoubleValue or getStringValue. The non-control component can also send values to the communicator by invoking the corresponding set-methods.
It has been implemented as a Javabean, meaning that it is well suited to use within visual programming tools such as NetBeans or JBuilder.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 
Fields inherited from interface ControlBeans.ComponentInterface
DEFAULT_ID
 
Constructor Summary
CRelay()
          Constructs a new CRelay.
 
Method Summary
 void addComponentListener(ComponentListener l)
          Registers a ComponentListener.
 void addRelayListener(RelayListener l)
          Registers a RelayListener.
 double getDoubleValue()
          Gets the last received double value.
 int getIntValue()
          Gets the last received integer value.
 boolean getIsReceiver()
          Gets whether or not this component will send values.
 boolean getIsSender()
          Gets whether or not this component will receive values.
 boolean getReceiveDoubleAsInt()
          Gets whether or not this component will convert received double values to integer values before alerting the component connected to it.
 boolean getReceiveIntAsDouble()
          Gets whether or not this component will convert received integer values to double values before alerting the component connected to it.
 boolean getSendDoubleAsInt()
          Gets whether or not this component will convert received double values to integer values before passing them on to the communicator.
 boolean getSendIntAsDouble()
          Gets whether or not this component will convert received integer values to double values before passing them on to the communicator.
 java.lang.String getStringValue()
          Gets the last received string value.
 int getTag()
          Gets the tag of this component.
 int[] getTags()
          The communicator uses this method to get all the tags used by this component.
 void putValue(double value, int aTag, double time, int ID)
          Sets the value of this component.
 void putValue(int value, int aTag, double time, int ID)
          Sets the value of this component.
 void putValue(java.lang.String value, int aTag, double time, int ID)
          Sets the value of this component.
 void registerCommunicator(AbstractCommunicator c, int ID)
          The communicator uses this method to alert this component of its presence.
 void removeComponentListener(ComponentListener l)
          Deregisters the ComponentListener.
 void removeRelayListener(RelayListener l)
          Deregisters the RelayListener.
 void requestValues()
          Called by the communicator to make this component send its value(s).
 void setDoubleValue(double value)
          Sends a double value to the communicator.
 void setIntValue(int value)
          Sends an integer value to the communicator.
 void setIsReceiver(boolean value)
          Sets whether or not this component should send values.
 void setIsSender(boolean value)
          Sets whether or not this component should receive values.
 void setReceiveDoubleAsInt(boolean value)
          Sets whether or not this component should convert received double values to integer values before alerting the component connected to it.
 void setReceiveIntAsDouble(boolean value)
          Sets whether or not this component should convert received integer values to double values before alerting the component connected to it.
 void setSendDoubleAsInt(boolean value)
          Sets whether or not this component should convert received double values to integer values before passing them on to the communicator.
 void setSendIntAsDouble(boolean value)
          Sets whether or not this component should convert received integer values to double values before passing them on to the communicator.
 void setStringValue(java.lang.String value)
          Sends a string value to the communicator.
 void setTag(int value)
          Sets the tag of this component.
 
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, getAccessibleContext, 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, getUIClassID, getWidth, getVisibleRect, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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
 

Constructor Detail

CRelay

public CRelay()
Constructs a new CRelay.
Method Detail

getIsSender

public boolean getIsSender()
Gets whether or not this component will receive values.
Specified by:
getIsSender in interface ComponentInterface
Returns:
true if this component will receive values to the communicator; false otherwise.

setIsSender

public void setIsSender(boolean value)
Sets whether or not this component should receive values.
Specified by:
setIsSender in interface ComponentInterface
Parameters:
value - true if this component should receive values from the communicator; false otherwise.

getIsReceiver

public boolean getIsReceiver()
Gets whether or not this component will send values.
Specified by:
getIsReceiver in interface ComponentInterface
Returns:
true if this component will send values to the communicator; false otherwise.

setIsReceiver

public void setIsReceiver(boolean value)
Sets whether or not this component should send values.
Specified by:
setIsReceiver in interface ComponentInterface
Parameters:
value - true if this component should send values to the communicator; false otherwise.

getReceiveDoubleAsInt

public boolean getReceiveDoubleAsInt()
Gets whether or not this component will convert received double values to integer values before alerting the component connected to it.
Returns:
true if this component will convert double values to integer values; false otherwise.

setReceiveDoubleAsInt

public void setReceiveDoubleAsInt(boolean value)
Sets whether or not this component should convert received double values to integer values before alerting the component connected to it.
Parameters:
value - true if this component should convert double values to integer values; false otherwise.

getReceiveIntAsDouble

public boolean getReceiveIntAsDouble()
Gets whether or not this component will convert received integer values to double values before alerting the component connected to it.
Returns:
true if this component will convert integer values to double values; false otherwise.

setReceiveIntAsDouble

public void setReceiveIntAsDouble(boolean value)
Sets whether or not this component should convert received integer values to double values before alerting the component connected to it.
Parameters:
value - true if this component should convert integer values to double values; false otherwise.

getSendDoubleAsInt

public boolean getSendDoubleAsInt()
Gets whether or not this component will convert received double values to integer values before passing them on to the communicator.
Returns:
true if this component will convert double values to integer values; false otherwise.

setSendDoubleAsInt

public void setSendDoubleAsInt(boolean value)
Sets whether or not this component should convert received double values to integer values before passing them on to the communicator.
Parameters:
value - true if this component should convert double values to integer values; false otherwise.

getSendIntAsDouble

public boolean getSendIntAsDouble()
Gets whether or not this component will convert received integer values to double values before passing them on to the communicator.
Returns:
true if this component will convert integer values to double values; false otherwise.

setSendIntAsDouble

public void setSendIntAsDouble(boolean value)
Sets whether or not this component should convert received integer values to double values before passing them on to the communicator.
Parameters:
value - true if this component should convert integer values to double values; false otherwise.

getTag

public int getTag()
Gets the tag of this component. The tag is used to group different components within the communicator.
Returns:
the tag of this component

setTag

public void setTag(int value)
Sets the tag of this component. The tag is used to group different components within the communicator.
Parameters:
value - the tag of this component

getIntValue

public int getIntValue()
Gets the last received integer value. Typically invoked by a non-control component in order for it to recieve this value.
Returns:
the last integer value to be relayed through this component

setIntValue

public void setIntValue(int value)
Sends an integer value to the communicator. Typically invoked by a non-control component in order for it to send its value to the communicator. The value is also stored. Before sending, this component checks to see if a conversion from integer to double has been requested.
Parameters:
value - the integer value to be relayed to the communicator
See Also:
getSendIntAsDouble(), setSendIntAsDouble(boolean)

getDoubleValue

public double getDoubleValue()
Gets the last received double value. Typically invoked by a non-control component in order for it to recieve this value.
Returns:
the last double value to be relayed through this component

setDoubleValue

public void setDoubleValue(double value)
Sends a double value to the communicator. Typically invoked by a non-control component in order for it to send its value to the communicator. The value is also stored. Before sending, this component checks to see if a conversion from double to integer has been requested.
Parameters:
value - the double value to be relayed to the communicator
See Also:
getSendDoubleAsInt(), setSendDoubleAsInt(boolean)

getStringValue

public java.lang.String getStringValue()
Gets the last received string value. Typically invoked by a non-control component in order for it to recieve this value.
Returns:
the last string value to be relayed through this component

setStringValue

public void setStringValue(java.lang.String value)
Sends a string value to the communicator. Typically invoked by a non-control component in order for it to send its value to the communicator. The value is also stored.
Parameters:
value - the string value to be relayed to the communicator

addComponentListener

public void addComponentListener(ComponentListener l)
Registers a ComponentListener. By doing so the ComponentListener can receive component events from this component.
NOTE: This component can only hold one ComponentListener.
Specified by:
addComponentListener in interface ComponentInterface
Parameters:
l - the ComponentListener to register.

removeComponentListener

public void removeComponentListener(ComponentListener l)
Deregisters the ComponentListener.
Specified by:
removeComponentListener in interface ComponentInterface
Parameters:
l - the ComponentListener to remove.

registerCommunicator

public void registerCommunicator(AbstractCommunicator c,
                                 int ID)
The communicator uses this method to alert this component of its presence.
NOTE: This method is invoked by AbstractCommunicator and should therefore never be called directly by the user.
Specified by:
registerCommunicator in interface ComponentInterface
Parameters:
c - the communicator in question
ID - the ID number assigned to this component and is stored in myID
See Also:
putValue(int, int, double, int), putValue(double, int, double, int), putValue(java.lang.String, int, double, int)

getTags

public int[] getTags()
The communicator uses this method to get all the tags used by this component.
NOTE: This method is invoked by AbstractCommunicator and should therefore never be called directly by the user.
Specified by:
getTags in interface ComponentInterface
Returns:
all tags used by this component

putValue

public void putValue(int value,
                     int aTag,
                     double time,
                     int ID)
Sets the value of this component.
Specified by:
putValue in interface ComponentInterface
Parameters:
value - the value to be set
aTag - the tag of the component
time - a time tag for the value
ID - the ID of the component
See Also:
registerCommunicator(ControlBeans.AbstractCommunicator, int)

putValue

public void putValue(double value,
                     int aTag,
                     double time,
                     int ID)
Sets the value of this component.
Specified by:
putValue in interface ComponentInterface
Parameters:
value - the value to be set
aTag - the tag of the component
time - a time tag for the value
ID - the ID of the component
See Also:
registerCommunicator(ControlBeans.AbstractCommunicator, int)

putValue

public void putValue(java.lang.String value,
                     int aTag,
                     double time,
                     int ID)
Sets the value of this component.
Specified by:
putValue in interface ComponentInterface
Parameters:
value - the value to be set
aTag - the tag of the component
time - a time tag for the value
ID - the ID of the component
See Also:
registerCommunicator(ControlBeans.AbstractCommunicator, int)

requestValues

public void requestValues()
Called by the communicator to make this component send its value(s). This can be used for initialization.
Specified by:
requestValues in interface ComponentInterface

addRelayListener

public void addRelayListener(RelayListener l)
Registers a RelayListener. By doing so the RelayListener can receive relay events from this component.
NOTE: This component can only hold one RelayListener.
Parameters:
l - the RelayListener to register.

removeRelayListener

public void removeRelayListener(RelayListener l)
Deregisters the RelayListener.
Parameters:
l - the RelayListener to remove.