org.openswing.swing.client
Class CodLookupControl

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.openswing.swing.client.BaseInputControl
                      extended byorg.openswing.swing.client.CodLookupControl
All Implemented Interfaces:
javax.accessibility.Accessible, AutoCompletitionInputControl, CodBoxContainer, java.awt.image.ImageObserver, InputControl, LookupParent, java.awt.MenuContainer, java.io.Serializable

public class CodLookupControl
extends BaseInputControl
implements CodBoxContainer, InputControl, LookupParent, AutoCompletitionInputControl

Title: OpenSwing Framework

Description: Lookup input Control used to digit a code. A code can be an alphanumeric or a numeric value. When focus is lost from this control, a code validation is executed (only if the specified code is changed). It contains also a lookup button, i.e. a button which allows to view a lookup grid of codes: the user can select a code from the lookup grid and this code will be set in the code input field. It optionally contains also a "+" button, used to call a controller class, related to the code registry, i.e. the registry that allows to insert/update/delete codes referred by the lookup.

Copyright: Copyright (C) 2006 Mauro Carniel

This file is part of OpenSwing Framework. This library is free software; you can redistribute it and/or modify it under the terms of the (LGPL) Lesser General Public License as published by the Free Software Foundation; GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author may be contacted at: maurocarniel@tin.it

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CodLookupControl()
          Costructor.
 
Method Summary
 void addActionListener(java.awt.event.ActionListener listener)
          Adds the specified action listener to receive action events from this textfield.
 void addFocusListener(java.awt.event.FocusListener listener)
          Adds the specified focus listener to receive focus events from this component when this component gains input focus.
 void addNotify()
          Check if Form has been setted.
 long getAutoCompletitionWaitTime()
           
 javax.swing.JComponent getBindingComponent()
           
 CodBox getCodBox()
           
 int getColumns()
           
 java.lang.String getControllerClassName()
           
 java.lang.String getControllerMethodName()
           
 java.lang.Object getLookupCodeParentValue()
           
 LookupController getLookupController()
           
 int getMaxCharacters()
           
 java.awt.ComponentOrientation getTextOrientation()
           
 java.lang.Object getValue()
           
 ValueObject getValueObject()
           
 boolean isAllowOnlyNumbers()
           
 boolean isCodBoxVisible()
           
 boolean isEnableCodBox()
           
 boolean isEnabled()
           
 boolean isLookupButtonVisible()
           
 void removeActionListener(java.awt.event.ActionListener listener)
          Removes the specified action listener so that it no longer receives action events from this textfield.
 void removeFocusListener(java.awt.event.FocusListener listener)
          Removes the specified focus listener so that it no longer receives focus events from this component.
 void setAllowOnlyNumbers(boolean allowOnlyNumbers)
          Define if the cod box allows numeric values only.
 void setAutoCompletitionWaitTime(long autoCompletitionWaitTime)
          Wait time before showing code auto completition feature for this lookup control.
 void setCodBoxVisible(boolean codBoxVisible)
          Set code input field visibility.
 void setColumns(int columns)
          Set code input field columns.
 void setControllerClassName(java.lang.String controllerClassName)
          Set the class name of the controller that must be invoked by pressing the "+" button.
 void setControllerMethodName(java.lang.String controllerMethodName)
          Set the method name defined in ClientFacade class, related to the controller that must be invoked by pressing the "+" button.
 void setEnableCodBox(boolean enableCodBox)
          Set if code field is editable.
 void setEnabled(boolean enabled)
          Callback called when the code input field abilitation is changed.
 void setLookupButtonVisible(boolean lookupButtonVisible)
          Set lookup button visibility.
 void setLookupController(LookupController controller)
          Set lookup controller.
 void setMaxCharacters(int maxCharacters)
          Set the maximum code length.
 void setTextOrientation(java.awt.ComponentOrientation o)
          Set the component orientation: from left to right or from right to left.
 void setValue(java.lang.Object code)
          Select the combo item related to the specified code.
 void setValue(java.lang.String attributeName, java.lang.Object value)
          Method called by LookupController to update parent v.o.
 void validateCode(java.lang.String code)
          Method that listen validation code event fired by the code input field: it validates the code.
 
Methods inherited from class org.openswing.swing.client.BaseInputControl
addValueChangedListener, getAttributeName, getFont, getLinkLabel, getTextAlignment, getToolTipText, getValueChangeListeners, isCanCopy, isChanged, isEnabledOnEdit, isEnabledOnInsert, isRequired, removeValueChangedListener, requestFocus, setAttributeName, setCanCopy, setChanged, setEnabledOnEdit, setEnabledOnInsert, setFont, setLinkLabel, setRequired, setTextAlignment, setToolTipText
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openswing.swing.client.InputControl
addValueChangedListener, getAttributeName, getLinkLabel, getValueChangeListeners, isCanCopy, isChanged, isEnabledOnEdit, isEnabledOnInsert, isRequired, removeValueChangedListener, setAttributeName, setCanCopy, setChanged, setEnabledOnEdit, setEnabledOnInsert, setLinkLabel
 
Methods inherited from interface org.openswing.swing.client.AutoCompletitionInputControl
addAncestorListener, getHeight, getLocationOnScreen, getWidth
 

Constructor Detail

CodLookupControl

public CodLookupControl()
Costructor.

Method Detail

getBindingComponent

public javax.swing.JComponent getBindingComponent()
Overrides:
getBindingComponent in class BaseInputControl
Returns:
code input field

getValue

public final java.lang.Object getValue()
Specified by:
getValue in interface InputControl
Overrides:
getValue in class BaseInputControl
Returns:
code value

setValue

public final void setValue(java.lang.Object code)
Select the combo item related to the specified code.

Specified by:
setValue in interface InputControl
Overrides:
setValue in class BaseInputControl
Parameters:
code - used to retrieve the corresponding item and to select that item in the combo

getMaxCharacters

public final int getMaxCharacters()
Returns:
maximum code length

setMaxCharacters

public final void setMaxCharacters(int maxCharacters)
Set the maximum code length.

Parameters:
maxCharacters - maximum code length

isCodBoxVisible

public final boolean isCodBoxVisible()
Returns:
code input field visibility

setCodBoxVisible

public final void setCodBoxVisible(boolean codBoxVisible)
Set code input field visibility.

Parameters:
codBoxVisible - code input field visibility

getColumns

public final int getColumns()
Returns:
code input field columns

setColumns

public final void setColumns(int columns)
Set code input field columns.

Parameters:
columns - code input field columns

getLookupController

public final LookupController getLookupController()
Returns:
lookup controller

validateCode

public final void validateCode(java.lang.String code)
                        throws RestoreFocusOnInvalidCodeException
Method that listen validation code event fired by the code input field: it validates the code.

Specified by:
validateCode in interface CodBoxContainer
Parameters:
code - code to validate
Throws:
RestoreFocusOnInvalidCodeException

setEnabled

public final void setEnabled(boolean enabled)
Description copied from interface: CodBoxContainer
Callback called when the code input field abilitation is changed.

Specified by:
setEnabled in interface CodBoxContainer
Overrides:
setEnabled in class BaseInputControl

isEnabled

public final boolean isEnabled()
Specified by:
isEnabled in interface InputControl
Overrides:
isEnabled in class BaseInputControl
Returns:
current input control abilitation

getCodBox

public final CodBox getCodBox()
Returns:
code input field

setLookupController

public final void setLookupController(LookupController controller)
Set lookup controller. This method calls also addLookupListener method. This method calls also setForm methos of the LookupController.

Parameters:
controller - lookup controller.

addNotify

public final void addNotify()
Check if Form has been setted.


addFocusListener

public final void addFocusListener(java.awt.event.FocusListener listener)
Adds the specified focus listener to receive focus events from this component when this component gains input focus. If listener l is null, no exception is thrown and no action is performed.

Specified by:
addFocusListener in interface InputControl
Since:
JDK1.1
See Also:
FocusEvent, FocusListener, removeFocusListener(java.awt.event.FocusListener), Component.getFocusListeners()

removeFocusListener

public final void removeFocusListener(java.awt.event.FocusListener listener)
Removes the specified focus listener so that it no longer receives focus events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener l is null, no exception is thrown and no action is performed.

Specified by:
removeFocusListener in interface InputControl
Since:
JDK1.1
See Also:
FocusEvent, FocusListener, addFocusListener(java.awt.event.FocusListener), Component.getFocusListeners()

addActionListener

public final void addActionListener(java.awt.event.ActionListener listener)
Adds the specified action listener to receive action events from this textfield.


removeActionListener

public final void removeActionListener(java.awt.event.ActionListener listener)
Removes the specified action listener so that it no longer receives action events from this textfield.


isAllowOnlyNumbers

public final boolean isAllowOnlyNumbers()
Returns:
define if the cod box allows numeric values only

setAllowOnlyNumbers

public final void setAllowOnlyNumbers(boolean allowOnlyNumbers)
Define if the cod box allows numeric values only.

Parameters:
allowOnlyNumbers - define if the cod box allows numeric values only

setEnableCodBox

public void setEnableCodBox(boolean enableCodBox)
Set if code field is editable.

Parameters:
enableCodBox - code field is editable

isEnableCodBox

public boolean isEnableCodBox()
Returns:
code field is editable

setValue

public void setValue(java.lang.String attributeName,
                     java.lang.Object value)
Method called by LookupController to update parent v.o.

Specified by:
setValue in interface LookupParent
Parameters:
attributeName - attribute name in the parent v.o. that must be updated
value - updated value

getValueObject

public ValueObject getValueObject()
Specified by:
getValueObject in interface LookupParent
Returns:
parent value object

getLookupCodeParentValue

public java.lang.Object getLookupCodeParentValue()
Specified by:
getLookupCodeParentValue in interface LookupParent
Returns:
attribute name in the parent value object related to lookup code

getControllerClassName

public final java.lang.String getControllerClassName()
Returns:
class name of the controller that must be invoked by pressing the "+" button

getControllerMethodName

public final java.lang.String getControllerMethodName()
Returns:
method name defined in ClientFacade class, related to the controller that must be invoked by pressing the "+" button

setControllerClassName

public final void setControllerClassName(java.lang.String controllerClassName)
Set the class name of the controller that must be invoked by pressing the "+" button.

Parameters:
controllerClassName - class name of the controller that must be invoked by pressing the "+" button

setControllerMethodName

public final void setControllerMethodName(java.lang.String controllerMethodName)
Set the method name defined in ClientFacade class, related to the controller that must be invoked by pressing the "+" button.

Parameters:
controllerMethodName - method name defined in ClientFacade class, related to the controller that must be invoked by pressing the "+" button

getAutoCompletitionWaitTime

public final long getAutoCompletitionWaitTime()
Returns:
wait time (expressed in ms) before showing code auto completition feature for lookup controls; -1, to do not enable auto completition

setAutoCompletitionWaitTime

public final void setAutoCompletitionWaitTime(long autoCompletitionWaitTime)
Wait time before showing code auto completition feature for this lookup control.

Parameters:
autoCompletitionWaitTime - wait time (expressed in ms) before showing code auto completition feature for this lookup control; default value: -1 to do not enable auto completition

isLookupButtonVisible

public final boolean isLookupButtonVisible()
Returns:
lookup button visibility

setLookupButtonVisible

public final void setLookupButtonVisible(boolean lookupButtonVisible)
Set lookup button visibility.


setTextOrientation

public final void setTextOrientation(java.awt.ComponentOrientation o)
Set the component orientation: from left to right or from right to left.

Parameters:
o - component orientation

getTextOrientation

public final java.awt.ComponentOrientation getTextOrientation()
Returns:
component orientation