com.izforge.izpack.panels
Class TextInputField

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.izforge.izpack.panels.TextInputField
All Implemented Interfaces:
ProcessingClient, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class TextInputField
extends javax.swing.JComponent
implements ProcessingClient

This class is a wrapper for JTextField to allow field validation. Based on RuleInputField.

Author:
Piotr Skowronek
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JTextField field
          This composite can only contain one component ie JTextField
private  boolean hasParams
          Do we have parameters for validator?
private static long serialVersionUID
           
private  Validator validationService
          Holds an instance of the Validator if one was specified and available
private  java.util.Map<java.lang.String,java.lang.String> validatorParams
          Validator parameters.
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TextInputField(java.lang.String set, int size, java.lang.String validator)
          Constructs a text input field.
TextInputField(java.lang.String set, int size, java.lang.String validator, java.util.Map<java.lang.String,java.lang.String> validatorParams)
          Constructs a text input field.
 
Method Summary
 java.lang.String getFieldContents(int index)
          Returns the contents of the field indicated by index.
 int getNumFields()
          Returns the number of sub-fields.
 java.lang.String getText()
          Returns the field contents, assembled acording to the encryption and separator rules.
 java.util.Map<java.lang.String,java.lang.String> getValidatorParams()
          Returns the validator parameters, if any.
 boolean hasParams()
           
 void setText(java.lang.String value)
           
 boolean validateContents()
          This method validates the field content.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

validatorParams

private java.util.Map<java.lang.String,java.lang.String> validatorParams
Validator parameters.


validationService

private Validator validationService
Holds an instance of the Validator if one was specified and available


field

private javax.swing.JTextField field
This composite can only contain one component ie JTextField


hasParams

private boolean hasParams
Do we have parameters for validator?

Constructor Detail

TextInputField

public TextInputField(java.lang.String set,
                      int size,
                      java.lang.String validator,
                      java.util.Map<java.lang.String,java.lang.String> validatorParams)
Constructs a text input field.

Parameters:
set - A default value for field.
size - The size of the field.
validator - A string that specifies a class to perform validation services. The string must completely identify the class, so that it can be instantiated. The class must implement the RuleValidator interface. If an attempt to instantiate this class fails, no validation will be performed.
validatorParams - validator parameters.

TextInputField

public TextInputField(java.lang.String set,
                      int size,
                      java.lang.String validator)
Constructs a text input field.

Parameters:
set - A default value for field.
size - The size of the field.
validator - A string that specifies a class to perform validation services. The string must completely identify the class, so that it can be instantiated. The class must implement the RuleValidator interface. If an attempt to instantiate this class fails, no validation will be performed.
Method Detail

getValidatorParams

public java.util.Map<java.lang.String,java.lang.String> getValidatorParams()
Returns the validator parameters, if any. The caller should check for the existence of validator parameters via the hasParams() method prior to invoking this method.

Specified by:
getValidatorParams in interface ProcessingClient
Returns:
a java.util.Map containing the validator parameters.

getText

public java.lang.String getText()
Returns the field contents, assembled acording to the encryption and separator rules.

Specified by:
getText in interface ProcessingClient
Returns:
the field contents

setText

public void setText(java.lang.String value)

getFieldContents

public java.lang.String getFieldContents(int index)
Description copied from interface: ProcessingClient
Returns the contents of the field indicated by index.

Specified by:
getFieldContents in interface ProcessingClient
Parameters:
index - the index of the sub-field from which the contents is requested.
Returns:
the contents of the indicated sub-field.

getNumFields

public int getNumFields()
Description copied from interface: ProcessingClient
Returns the number of sub-fields.

Specified by:
getNumFields in interface ProcessingClient
Returns:
the number of sub-fields

validateContents

public boolean validateContents()
This method validates the field content. Validating is performed through a user supplied service class that provides the validation rules.

Returns:
true if the validation passes or no implementation of a validation rule exists. Otherwise false is returned.

hasParams

public boolean hasParams()
Specified by:
hasParams in interface ProcessingClient
Returns:
true if this instance has any parameters to pass to the Validator instance.