EchoPoint API - 3.0.0b5
App Webcontainer

echopoint
Class RegexTextField

java.lang.Object
  extended by nextapp.echo.app.Component
      extended by nextapp.echo.app.text.TextComponent
          extended by nextapp.echo.app.TextField
              extended by echopoint.internal.TextField
                  extended by echopoint.RegexTextField
All Implemented Interfaces:
Serializable, RenderIdSupport
Direct Known Subclasses:
IntegerTextField, NumberTextField

public class RegexTextField
extends TextField

A text field that enforces a user supplied regular expression on a key press. Allows creation of serial number field, character only field etc.

The following shows sample use of this class.

  import nextapp.echo.app.TextField;
  import echopoint.RegexTextField;

    ...
    // Create a field that allow real numbers with two digit fractional part
    final TextField tf = new RegexTextField( "^[\\d]+[.]{0,1}[\\d]{1,2}$" );
 

Note: It is recommended that you test the regular expression using a simple test html page in your browser of choice before you set it for the component. This is to ensure that the expression you specify is valid and behaves the way you want it to work.

 <html>
   <head>
     <title>RegExp Test</title>
     <script type='text/javascript'>
       function check( event )
       {
         event = (event) ? event : window.event;
         var charCode = (event.which) ? event.which : event.keyCode;
         var status = true;

         if ( charCode <= 31 )
         {
           status = true;
           return status;
         }

         var regexString = "^[A-Z]{1,1}[a-z]*$";
         var regex = new RegExp( regexString );
         var input = document.getElementById( 'textField' );
         var value = input.value + String.fromCharCode( charCode );
         status = regex.test( value );

         return status;
       }
     </script>
   </head>
   <body>
     <input id='textField' type='text' onkeypress='return check(event)' />
   </body>
 </html>
 

Version:
$Id: RegexTextField.java 258 2009-12-07 16:18:24Z sptrakesh $
Author:
Rakesh 2009-03-08
See Also:
Serialized Form

Field Summary
static String PROPERTY_REGEX
          The regular expression to specify.
 
Fields inherited from class echopoint.internal.TextField
PROPERTY_DEFAULT_TEXT
 
Fields inherited from class nextapp.echo.app.text.TextComponent
ACTION_LISTENERS_CHANGED_PROPERTY, DOCUMENT_CHANGED_PROPERTY, INPUT_ACTION, PROPERTY_ACTION_COMMAND, PROPERTY_ALIGNMENT, PROPERTY_BACKGROUND_IMAGE, PROPERTY_BORDER, PROPERTY_DISABLED_BACKGROUND, PROPERTY_DISABLED_BACKGROUND_IMAGE, PROPERTY_DISABLED_BORDER, PROPERTY_DISABLED_FONT, PROPERTY_DISABLED_FOREGROUND, PROPERTY_EDITABLE, PROPERTY_HEIGHT, PROPERTY_HORIZONTAL_SCROLL, PROPERTY_INSETS, PROPERTY_MAXIMUM_LENGTH, PROPERTY_TOOL_TIP_TEXT, PROPERTY_VERTICAL_SCROLL, PROPERTY_WIDTH, TEXT_CHANGED_PROPERTY
 
Fields inherited from class nextapp.echo.app.Component
CHILD_VISIBLE_CHANGED_PROPERTY, CHILDREN_CHANGED_PROPERTY, ENABLED_CHANGED_PROPERTY, FOCUS_NEXT_ID_CHANGED_PROPERTY, FOCUS_PREVIOUS_ID_CHANGED_PROPERTY, LAYOUT_DIRECTION_CHANGED_PROPERTY, LOCALE_CHANGED_PROPERTY, PROPERTY_BACKGROUND, PROPERTY_FONT, PROPERTY_FOREGROUND, PROPERTY_LAYOUT_DATA, STYLE_CHANGED_PROPERTY, STYLE_NAME_CHANGED_PROPERTY, VISIBLE_CHANGED_PROPERTY
 
Constructor Summary
RegexTextField()
          Default constructor.
RegexTextField(String regex)
          Create a new text field with the specified regex pattern.
 
Method Summary
 String getRegex()
          Return the regular expression in use for the field (PROPERTY_REGEX).
 void setRegex(String regex)
          Set the regular expression pattern (PROPERTY_REGEX) to use to restrict input into this * field.
 
Methods inherited from class echopoint.internal.TextField
getDefaultText, setDefaultText
 
Methods inherited from class nextapp.echo.app.text.TextComponent
addActionListener, getActionCommand, getAlignment, getBackgroundImage, getBorder, getDisabledBackground, getDisabledBackgroundImage, getDisabledBorder, getDisabledFont, getDisabledForeground, getDocument, getHeight, getHorizontalScroll, getInsets, getMaximumLength, getText, getToolTipText, getVerticalScroll, getWidth, hasActionListeners, isEditable, isValidChild, processInput, removeActionListener, setActionCommand, setAlignment, setBackgroundImage, setBorder, setDisabledBackground, setDisabledBackgroundImage, setDisabledBorder, setDisabledFont, setDisabledForeground, setDocument, setEditable, setHeight, setHorizontalScroll, setInsets, setMaximumLength, setText, setToolTipText, setVerticalScroll, setWidth
 
Methods inherited from class nextapp.echo.app.Component
add, add, addPropertyChangeListener, addPropertyChangeListener, dispose, firePropertyChange, get, getApplicationInstance, getBackground, getComponent, getComponent, getComponentCount, getComponents, getEventListenerList, getFocusNextId, getFocusPreviousId, getFont, getForeground, getId, getIndex, getLayoutData, getLayoutDirection, getLocale, getLocalStyle, getParent, getRenderId, getRenderIndexedProperty, getRenderIndexedProperty, getRenderLocale, getRenderProperty, getRenderProperty, getStyle, getStyleName, getVisibleComponent, getVisibleComponentCount, getVisibleComponents, hasEventListenerList, indexOf, init, isAncestorOf, isEnabled, isFocusTraversalParticipant, isRegistered, isRenderEnabled, isRenderVisible, isValidParent, isVisible, remove, remove, removeAll, removePropertyChangeListener, removePropertyChangeListener, set, setBackground, setComponents, setEnabled, setFocusNextId, setFocusPreviousId, setFocusTraversalParticipant, setFont, setForeground, setId, setIndex, setLayoutData, setLayoutDirection, setLocale, setRenderId, setStyle, setStyleName, setVisible, validate, verifyInput, visibleIndexOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_REGEX

public static final String PROPERTY_REGEX
The regular expression to specify. Note that the string value is used to create a new RegExp JavaScript object and hence the expression must be escaped as you would when compiling a Java regex pattern. This property may also be styled.

See Also:
Constant Field Values
Constructor Detail

RegexTextField

public RegexTextField()
Default constructor. Not particularly useful.


RegexTextField

public RegexTextField(String regex)
Create a new text field with the specified regex pattern.

Parameters:
regex - The regular expression to use.
Method Detail

getRegex

public String getRegex()
Return the regular expression in use for the field (PROPERTY_REGEX).

Returns:
The regular expression in use.

setRegex

public void setRegex(String regex)
Set the regular expression pattern (PROPERTY_REGEX) to use to restrict input into this * field. This value may also be styled.

Parameters:
regex - The regular expression to use.

EchoPoint API - 3.0.0b5
App Webcontainer