FileDocCategorySizeDatePackage
KeyboardInputMode.javaAPI DocphoneME MR2 API (J2ME)10499Wed May 02 18:00:20 BST 2007com.sun.midp.chameleon.input

KeyboardInputMode

public class KeyboardInputMode extends Object implements InputMode
An InputMode instance which processes the numeric 0-9 keys as their literal numeric values.

Fields Summary
protected int
lastKey
A holder for the keyCode which was last processed
protected InputModeMediator
mediator
The InputModeMediator for the current input session
private static final boolean[]
isMap
input subset x constraint map
Constructors Summary
Methods Summary
public voidbeginInput(InputModeMediator mediator, java.lang.String inputSubset, int constraints)
This method will be called before any input keys are passed to this InputMode to allow the InputMode to perform any needed initialization. A reference to the InputModeMediator which is currently managing the relationship between this InputMode and the input session is passed in. This reference can be used by this InputMode to commit text input as well as end the input session with this InputMode. The reference is only valid until this InputMode's endInput() method is called.

param
constraints text input constraints. The semantics of the constraints value are defined in the TextField API.
param
mediator the InputModeMediator which is negotiating the relationship between this InputMode and the input session
param
inputSubset current input subset

        validateState(false);
        this.mediator = mediator;
    
public voidendInput()
Mark the end of this InputMode's processing. The only possible call to this InputMode after a call to endInput() is a call to beginInput() to begin a new input session.

        validateState(true);
        this.mediator = null;
    
public java.lang.StringgetCommandName()
Returns the command name which will represent this InputMode in the input menu

return
the locale-appropriate name to represent this InputMode to the user

        return getName();
    
public javax.microedition.lcdui.DisplayablegetDisplayable()
By default the regular input method has no specific displayable representation so it returns null.

return
null by default

        return null;
    
public boolean[][]getIsConstraintsMap()
Returns the map specifying this input mode is proper one for the particular pair of input subset and constraint. The form of the map is |ANY|EMAILADDR|NUMERIC|PHONENUMBER|URL|DECIMAL| --------------------------------------------------------------------- IS_FULLWIDTH_DIGITS |t|f| t|f | t|f | t|f |t|f| t|f | IS_FULLWIDTH_LATIN |t|f| t|f | t|f | t|f |t|f| t|f | IS_HALFWIDTH_KATAKANA |t|f| t|f | t|f | t|f |t|f| t|f | IS_HANJA |t|f| t|f | t|f | t|f |t|f| t|f | IS_KANJI |t|f| t|f | t|f | t|f |t|f| t|f | IS_LATIN |t|f| t|f | t|f | t|f |t|f| t|f | IS_LATIN_DIGITS |t|f| t|f | t|f | t|f |t|f| t|f | IS_SIMPLIFIED_HANZI |t|f| t|f | t|f | t|f |t|f| t|f | IS_TRADITIONAL_HANZI |t|f| t|f | t|f | t|f |t|f| t|f | MIDP_UPPERCASE_LATIN |t|f| t|f | t|f | t|f |t|f| t|f | MIDP_LOWERCASE_LATIN |t|f| t|f | t|f | t|f |t|f| t|f | NULL |t|f| t|f | t|f | t|f |t|f| t|f |

return
input subset x constraint map

    
                                                                                                                                                                                                                                                                                                                                                                                                                                        
       
        return isMap;
    
public java.lang.String[]getMatchList()
Gets the possible string matches

return
returns the set of options.

        return new String[0];
    
public java.lang.StringgetName()
Returns the display name which will represent this InputMode to the user, such as in a selection list or the softbutton bar.

return
the locale-appropriate name to represent this InputMode to the user

        return Resource.getString(ResourceConstants.LCDUI_TF_KEYBOARD);
    
public java.lang.StringgetNextMatch()
Return the next possible match for the key input processed thus far by this InputMode. A call to this method should be preceeded by a check of hasMoreMatches(). If the InputMode has more available matches for the given input, this method will return them one by one.

return
a String representing the next available match to the key input thus far

        return null;
    
public chargetPendingChar()
return the pending char used to bypass the asynchronous commit mechanism e.g. to immediately commit a char before moving the cursor

return
return the pending char

        return 0;
    
public booleanhasDisplayable()
Returns true if input mode is using its own displayable, false ifinput mode does not require the speial displayable for its representation. By default - false

return
true if input mode is using its own displayable, otherwise false

        return false;
    
public booleanhasMoreMatches()
True, if after processing a key, there is more than one possible match to the input. If this method returns true, the getNextMatch() method can be called to return the value.

return
true if after processing a key, there is more than the one possible match to the given input

        return false;
    
public intprocessKey(int keyCode, boolean longPress)
Process the given key code as input. This method will return true if the key was processed successfully, false otherwise.

param
keyCode the keycode of the key which was input
param
longPress return true if it's long key press otherwise false
return
true if the key was processed by this InputMode, false otherwise.

        int ret = KEYCODE_NONE;
        validateState(true);
        // if the key is printable one 
        if (mediator != null &&
            !longPress &&
            keyCode >= ' " && keyCode < 127) {
            mediator.commit("" + (char)keyCode);
        }
        return ret;
    
public booleansupportsConstraints(int constraints)
This method is called to determine if this InputMode supports the given text input constraints. The semantics of the constraints value are defined in the javax.microedition.lcdui.TextField API. If this InputMode returns false, this InputMode must not be used to process key input for the selected text component.

param
constraints text input constraints. The semantics of the constraints value are defined in the TextField API.
return
true if this InputMode supports the given text component constraints, as defined in the MIDP TextField API

    
                                                                                                     
        
        return true;
    
protected voidvalidateState(boolean activeOperation)
This method will validate the state of this InputMode. If this is a check for an "active" operation, the TextInputMediator must be non-null or else this method will throw an IllegalStateException. If this is a check for an "inactive" operation, then the TextInputMediator should be null.

param
activeOperation true if any operation is active otherwise false.

        if (activeOperation && this.mediator == null) {
            throw new IllegalStateException(
            "Illegal operation on an input session already in progress");
        } else if (!activeOperation && this.mediator != null) {
            throw new IllegalStateException(
            "Illegal operation on an input session which is not in progress");
        }