net.rim.device.api.ui.text
Class TextFilter

java.lang.Object
  |
  +--net.rim.device.api.ui.text.TextFilter
Direct Known Subclasses:
EmailAddressTextFilter, HexadecimalTextFilter, IPTextFilter, LowercaseTextFilter, NumericTextFilter, PhoneTextFilter, UppercaseTextFilter, URLTextFilter

public abstract class TextFilter
extends Object

Defines fundamental functionality for a text filtering object.

A filter has two funtions: first, it can validate whether a character or string is valid, and second it can map characters onto ones more likely to be valid.


Field Summary
static int DEFAULT
          Default filter type.
static int EMAIL
          Email address filter type.
static int HEXADECIMAL
          Hexadecimal filter type.
static int INTEGER
          Integer filter type.
static int LOWERCASE
          Lower case filter type.
static int NUMERIC
          Numeric filter type.
static int PHONE
          Phone number filter type.
static int PIN_ADDRESS
          PIN address filter type.
static int SIM_PHONE
          PIN address filter type.
static byte STYLE_SHIFT
           
static int UPPERCASE
          Upper case filter type.
static int URL
          URL filter type.
 
Constructor Summary
protected TextFilter()
          Constructs a new TextFilter instance.
 
Method Summary
abstract  char convert(char character, int status)
          Retrieves filtered version of provided character.
static TextFilter get(int type)
          Retrieve a filter of provided type.
 boolean validate(AbstractString text)
          Determines if provided string contains valid characters.
abstract  boolean validate(char character)
          Validates character for use with this filter.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT

public static final int DEFAULT
Default filter type.

NUMERIC

public static final int NUMERIC
Numeric filter type.

UPPERCASE

public static final int UPPERCASE
Upper case filter type.

LOWERCASE

public static final int LOWERCASE
Lower case filter type.

HEXADECIMAL

public static final int HEXADECIMAL
Hexadecimal filter type.

INTEGER

public static final int INTEGER
Integer filter type.

PHONE

public static final int PHONE
Phone number filter type.

URL

public static final int URL
URL filter type.

EMAIL

public static final int EMAIL
Email address filter type.

PIN_ADDRESS

public static final int PIN_ADDRESS
PIN address filter type.
Since:
JDE 4.0.0

SIM_PHONE

public static final int SIM_PHONE
PIN address filter type.
Since:
JDE 4.0.0

STYLE_SHIFT

public static final byte STYLE_SHIFT
Since:
JDE 4.0.0
Constructor Detail

TextFilter

protected TextFilter()
Constructs a new TextFilter instance.
Method Detail

convert

public abstract char convert(char character,
                             int status)
Retrieves filtered version of provided character.

This method may not return a character valid for this filter; however, it may return 0 to indicate that the provided character is not valid.

For example, an UppercaseTextFilter would convert any lower case character to its upper case equivalent. However, if passed a number it could either leave the number unchanged to be filtered by validate(char), or convert it to \u0000.

Parameters:
character - Character to convert.
status - Indicates how the character was generated: some filters use this to affect the conversion performed.
Returns:
Filtered version of provided character.
Since:
JDE 4.0.0

get

public static final TextFilter get(int type)
Retrieve a filter of provided type.

Factory method that produces a text filter of your specified type.

Parameters:
type - Type of filter you want.
Returns:
Text filter object of your specified type, or null if you specify either DEFAULT for type, or an invalid type.
Since:
JDE 4.0.0

validate

public abstract boolean validate(char character)
Validates character for use with this filter.

This only considers if it is in the correct set of characters.

Parameters:
character - Character to test.
Returns:
True if this character would pass through this filter unaltered; otherwise, false.
Since:
JDE 4.0.0

validate

public boolean validate(AbstractString text)
Determines if provided string contains valid characters.

The default implementation of this method returns true if each character is valid within the field (determined by invoking validate(char). This is useful for upper case or lower case filters, for example, but filters that rely on character position must override this method.

Parameters:
text - String to test.
Returns:
True if each character in the string passes a validity check; otherwise, false.
Since:
JDE 4.0.0


Copyright 1999-2004 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.