com.sybase.uep.bobclient.controls
Class PasswordInput

java.lang.Object
  extended by net.rim.device.api.ui.Field
      extended by net.rim.device.api.ui.component.TextField
          extended by net.rim.device.api.ui.component.BasicEditField
              extended by net.rim.device.api.ui.component.PasswordEditField
                  extended by com.sybase.uep.bobclient.controls.PasswordInput
All Implemented Interfaces:
Control, ITextInput, PIMControl, net.rim.device.api.ui.FieldChangeListener, net.rim.device.internal.ui.Formatter.TextRenderer

public class PasswordInput
extends net.rim.device.api.ui.component.PasswordEditField
implements Control, net.rim.device.api.ui.FieldChangeListener, ITextInput

This is the password input control

Author:
tdang

Field Summary
 
Fields inherited from class net.rim.device.api.ui.component.BasicEditField
FILTER_DEFAULT, FILTER_EMAIL, FILTER_FILENAME, FILTER_HEXADECIMAL, FILTER_INTEGER, FILTER_LOWERCASE, FILTER_NUMERIC, FILTER_PHONE, FILTER_PIN_ADDRESS, FILTER_REAL_NUMERIC, FILTER_UPPERCASE, FILTER_URL
 
Fields inherited from class net.rim.device.api.ui.component.TextField
CONSUME_INPUT, DEFAULT_MAXCHARS, JUMP_FOCUS_AT_END, NO_COMPLEX_INPUT, NO_EDIT_MODE_INPUT, NO_LEARNING, NO_NEWLINE, NO_SWITCHING_INPUT
 
Fields inherited from class net.rim.device.api.ui.Field
ACTION_INVOKE, EDITABLE, EDITABLE_MASK, FIELD_BOTTOM, FIELD_HALIGN_MASK, FIELD_HCENTER, FIELD_LEADING, FIELD_LEFT, FIELD_RIGHT, FIELD_TOP, FIELD_TRAILING, FIELD_VALIGN_MASK, FIELD_VCENTER, FOCUSABLE, FOCUSABLE_MASK, HIGHLIGHT_FOCUS, HIGHLIGHT_SELECT, NON_FOCUSABLE, NON_SPELLCHECKABLE, READONLY, SPELLCHECKABLE, SPELLCHECKABLE_MASK, STATUS_MOVE_FOCUS_HORIZONTALLY, STATUS_MOVE_FOCUS_VERTICALLY, USE_ALL_HEIGHT, USE_ALL_WIDTH, VISUAL_STATE_ACTIVE, VISUAL_STATE_DISABLED, VISUAL_STATE_DISABLED_FOCUS, VISUAL_STATE_FOCUS, VISUAL_STATE_NORMAL
 
Fields inherited from interface net.rim.device.api.ui.FieldChangeListener
PROGRAMMATIC
 
Constructor Summary
PasswordInput(java.lang.String defaultValue, int maxNumChars, long style)
          Password input constructor
 
Method Summary
protected  void drawFocus(net.rim.device.api.ui.Graphics g, boolean on)
          (non-Javadoc)
 void fieldChanged(net.rim.device.api.ui.Field field, int context)
          (non-Javadoc)
 int getColSpan()
          (non-Javadoc)
 int getControlID()
          Returns the control's ID
 TextInputController getController()
          Get the text input controller
 ICustomEventsDelegate getCustomEventsDelegate()
          Returns the control's custom events delegate
 java.lang.String getDisplayName()
          Retrieve the display name
 int getFieldIndex()
          Retrieve the edit index for this PasswordInput
 FontStyle getFontStyle()
          Retrieve this control's font style
 long getHorizontalAlignment()
          (non-Javadoc)
 LogicalType getLogicalType()
           
 java.lang.String getName()
          (non-Javadoc)
 java.lang.Object getPIMValue()
           
 int getPreferredHeight()
          (non-Javadoc)
 int getPreferredWidth()
          (non-Javadoc)
 byte[] getRawBinaryData()
          Get byte array data
 int getRowSpan()
          (non-Javadoc)
 java.lang.String getSchemaType()
           
 java.lang.String getType()
          Retrieve the type for this PasswordInput
 ValidationObject getValidationObj()
          Retrieve the validation object set on this checkbox
 java.lang.Object getValue()
          (non-Javadoc)
 long getVerticalAlignment()
          (non-Javadoc)
 boolean hasValidation()
          Check if there is a validation object assigned to this control
 boolean isRequired()
          Check if this PasswordInput is required
protected  void layout(int width, int height)
          (non-Javadoc)
protected  void makeContextMenu(net.rim.device.api.ui.ContextMenu menu)
          (non-Javadoc)
protected  boolean navigationClick(int status, int time)
          (non-Javadoc)
protected  boolean navigationMovement(int dx, int dy, int status, int time)
          (non-Javadoc)
protected  boolean navigationUnclick(int status, int time)
          (non-Javadoc)
protected  void onFocus(int direction)
          (non-Javadoc)
protected  void onUnfocus()
           
protected  void paint(net.rim.device.api.ui.Graphics g)
          (non-Javadoc)
 void paintBackground(net.rim.device.api.ui.Graphics g)
          (non-Javadoc)
 void refresh()
          (non-Javadoc)
 void refreshFooter(java.lang.String valueToBeDisplay)
          Refresh the footer field from the screen that contains the text of the button.
 void setBackgroundColor(int bgcolor)
          (non-Javadoc)
 void setBorderColor(int borderColor)
          Set the border color
 void setColSpan(int colspan)
          (non-Javadoc)
 void setControlID(int controlID)
          Sets the control's ID
 void setController(TextInputController textInputCtrller)
          Set text input controller
 void setCustomEventsDelegate(ICustomEventsDelegate delegate, int eventsFlags)
          Sets the control's custom events delegate for the given events
 void setDisplayName(java.lang.String displayName)
          Set display name
 void setEmptyMeanNull(boolean emptyMeansNull)
          Set if any empty values in the text fields should return a null value for empty.
 void setFieldIndex(int fieldIndex)
          Set the edit index
 void setFontStyle(FontStyle fontStyle)
          Set the font style for this control
 void setFooterField(FooterField field)
          Set the footer field
 void setInvalidValueMessage(int invalidValueMessageRID)
          Set invalid value message by localization resource id
 void setInvalidValueMessage(java.lang.String invalidValueMessage)
          Set invalid value message
 void setLayoutHeight(int height)
          (non-Javadoc)
 void setLayoutWidth(int width)
          (non-Javadoc)
 void setLogicalType(LogicalType logicalType)
          Set logical type
 void setName(java.lang.String name)
          Set a key name for this control
 void setNeedValidate(boolean needValidate)
          Specify need validate or not
 void setPIMValue(java.lang.Object value)
           
 void setProperty(int key, java.lang.String value)
          Set the property values for this password input
 void setRawBinaryData(byte[] data)
          Set the byte array data
 void setRequired(boolean required)
          Set if this PasswordInput is required
 void setRowSpan(int rowspan)
          (non-Javadoc)
 void setSchemaType(java.lang.String schemaType)
          Set the schema type
 void setShowBackgroundColor(boolean isShowBackgroundColor)
          Sets if background color is drawing
 void setShowBorder(boolean bol)
          Set if to show the border around the text input
 void setText(java.lang.String text)
          Set text value
 void setType(java.lang.String type)
          Set type
 void setValidationObject(ValidationObject obj)
          Set validation object
 void setValidators(java.util.Vector validators)
           
 void setVariableInput(ControlVariable variable)
          Set the control variable object for the input value
protected  boolean touchEvent(net.rim.device.api.ui.TouchEvent message)
          (non-Javadoc)
 boolean validate()
          Validates the text input value
 
Methods inherited from class net.rim.device.api.ui.component.PasswordEditField
backspace, backspace, backspace, charAt, clear, displayFieldFullMessage, getCursorPosition, getLabel, getLabelLength, getMaxSize, getText, getText, getText, getTextAbstractString, getTextLength, insert, insert, isSelectionCopyable, isSymbolScreenAllowed, keyRepeat, paste, selectionCopy, selectionDelete, setCursorPosition, setCursorPosition, setLabel, setMaxSize, setText, update, wipe
 
Methods inherited from class net.rim.device.api.ui.component.BasicEditField
getFilter, keyChar, keyControl, keyDown, moveFocus, moveFocus, setFilter, setFont
 
Methods inherited from class net.rim.device.api.ui.component.TextField
drawText, fieldChangeNotify, getAccessibleContext, getComposedTextEnd, getComposedTextStart, getDisplayLineCount, getFocusRect, getText, insert, insert, insert, insert, insert, isPasteable, isSelectable, isSelecting, isSelectionDeleteable, onUndisplay, select, setPreLayoutInternal, setSelection, toString
 
Methods inherited from class net.rim.device.api.ui.Field
drawHighlightRegion, focusAdd, focusChangeNotify, focusRemove, getBackground, getBackground, getBorder, getBorder, getBorder, getChangeListener, getContentHeight, getContentLeft, getContentRect, getContentRect, getContentTop, getContentWidth, getContextMenu, getContextMenu, getCookie, getExtent, getExtent, getFieldStyle, getFocusListener, getFont, getHeight, getIndex, getLeafFieldWithFocus, getLeft, getManager, getMargin, getMarginBottom, getMarginLeft, getMarginRight, getMarginTop, getOriginal, getPadding, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getScreen, getState, getStyle, getTop, getVisualState, getWidth, invalidate, invalidate, invalidateAll, invokeAction, isDataValid, isDirty, isEditable, isFocus, isFocusable, isMuddy, isSelectionCutable, isSpellCheckable, isStyle, isVisible, keyStatus, keyUp, makeContextMenu, onDisplay, onExposed, onMenuDismissed, onMenuDismissed, onObscured, onVisibilityChange, selectionCut, setBackground, setBackground, setBorder, setBorder, setBorder, setBorder, setBorder, setChangeListener, setCookie, setDirty, setEditable, setExtent, setFocus, setFocusListener, setFont, setMargin, setMargin, setMuddy, setNonSpellCheckable, setPadding, setPadding, setPosition, setVisualState, trackwheelClick, trackwheelUnclick, updateLayout
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.sybase.uep.bobclient.controls.ITextInput
getText
 
Methods inherited from interface net.rim.device.internal.ui.Formatter.TextRenderer
getFont
 

Constructor Detail

PasswordInput

public PasswordInput(java.lang.String defaultValue,
                     int maxNumChars,
                     long style)
Password input constructor

Parameters:
defaultValue - String default value that goes in the password input
maxNumChars - int value for the max number of characters allow for user to enter
style - long value for the input stle
Method Detail

setBackgroundColor

public void setBackgroundColor(int bgcolor)
(non-Javadoc)

Specified by:
setBackgroundColor in interface Control
Parameters:
bgcolor - int value of the color in HEX. For example: 0x00000000, 0x00FF0000, 0x00FFFFFF
See Also:
Control.setBackgroundColor(int bgcolor)

setColSpan

public void setColSpan(int colspan)
(non-Javadoc)

Specified by:
setColSpan in interface Control
Parameters:
colspan - int value of the column span
See Also:
Control.setColSpan(int colspan)

getColSpan

public int getColSpan()
(non-Javadoc)

Specified by:
getColSpan in interface Control
Returns:
int value of the column span
See Also:
Control.getColSpan()

setRowSpan

public void setRowSpan(int rowspan)
(non-Javadoc)

Specified by:
setRowSpan in interface Control
Parameters:
rowspan - int value of the row span
See Also:
Control.setRowSpan(int rowspan)

getRowSpan

public int getRowSpan()
(non-Javadoc)

Specified by:
getRowSpan in interface Control
Returns:
int value of the row span
See Also:
Control.getRowSpan()

getHorizontalAlignment

public long getHorizontalAlignment()
(non-Javadoc)

Specified by:
getHorizontalAlignment in interface Control
Returns:
long value of the horizontal alignment. Possible values could be Field.FIELD_HCENTER, Field.FIELD_RIGHT, or Field.FIELD_LEFT
See Also:
Control.getHorizontalAlignment()

getVerticalAlignment

public long getVerticalAlignment()
(non-Javadoc)

Specified by:
getVerticalAlignment in interface Control
Returns:
long value of the vertical alignment Possible values could be Field.FIELD_TOP, Field.FIELD_BOTTOM, or Field.FIELD_VCENTER
See Also:
Control.getVerticalAlignment()

setBorderColor

public void setBorderColor(int borderColor)
Set the border color

Parameters:
color - int HEX value for the border color. Examples of colors are 0x00FFFFFF, 0x00FF0000, 0x00000000

setShowBorder

public void setShowBorder(boolean bol)
Set if to show the border around the text input

Parameters:
bol - true to show border around text input, otherwise false

getFontStyle

public FontStyle getFontStyle()
Retrieve this control's font style

Returns:
FontStyle font style object
See Also:
FontStyle

setFontStyle

public void setFontStyle(FontStyle fontStyle)
Set the font style for this control

Parameters:
fontStyle - FontStyle font style object
See Also:
FontStyle

getFieldIndex

public int getFieldIndex()
Retrieve the edit index for this PasswordInput

Returns:
int valeu for the field index

getDisplayName

public java.lang.String getDisplayName()
Retrieve the display name

Returns:
String value of the display name

getType

public java.lang.String getType()
Retrieve the type for this PasswordInput

Returns:
String for the control type

getName

public java.lang.String getName()
(non-Javadoc)

Specified by:
getName in interface Control
Returns:
String value of the key name
See Also:
Control.getName()

getValidationObj

public ValidationObject getValidationObj()
Retrieve the validation object set on this checkbox

Returns:
ValidationObject validation object
See Also:
ValidationObject

hasValidation

public boolean hasValidation()
Check if there is a validation object assigned to this control

Returns:
true if there is validation object set, otherwise false

setRequired

public void setRequired(boolean required)
Set if this PasswordInput is required

Parameters:
required - true if control is required, otherwise false

isRequired

public boolean isRequired()
Check if this PasswordInput is required

Returns:
int if required, otherwise false

setLayoutWidth

public void setLayoutWidth(int width)
(non-Javadoc)

Specified by:
setLayoutWidth in interface Control
Parameters:
width - int value of the available layout width
See Also:
Control.setLayoutWidth(int width)

getPreferredWidth

public int getPreferredWidth()
(non-Javadoc)

Specified by:
getPreferredWidth in interface Control
Overrides:
getPreferredWidth in class net.rim.device.api.ui.component.PasswordEditField
Returns:
int value of the available layout width
See Also:
Control.getPreferredWidth()

setLayoutHeight

public void setLayoutHeight(int height)
(non-Javadoc)

Specified by:
setLayoutHeight in interface Control
Parameters:
height - int value of the available layout height
See Also:
Control.setLayoutHeight(int height)

getPreferredHeight

public int getPreferredHeight()
(non-Javadoc)

Specified by:
getPreferredHeight in interface Control
Overrides:
getPreferredHeight in class net.rim.device.api.ui.component.PasswordEditField
Returns:
int value of the available layout height
See Also:
Control.getPreferredHeight()

onFocus

protected void onFocus(int direction)
(non-Javadoc)

Overrides:
onFocus in class net.rim.device.api.ui.component.TextField
See Also:
Field.onFocus(int direction)

onUnfocus

protected void onUnfocus()
Overrides:
onUnfocus in class net.rim.device.api.ui.component.PasswordEditField

navigationClick

protected boolean navigationClick(int status,
                                  int time)
(non-Javadoc)

Overrides:
navigationClick in class net.rim.device.api.ui.component.TextField
See Also:
Field.navigationClick(int status, int time)

navigationUnclick

protected boolean navigationUnclick(int status,
                                    int time)
(non-Javadoc)

Overrides:
navigationUnclick in class net.rim.device.api.ui.component.TextField
See Also:
Field.navigationUnclick(int status, int time)

navigationMovement

protected boolean navigationMovement(int dx,
                                     int dy,
                                     int status,
                                     int time)
(non-Javadoc)

Overrides:
navigationMovement in class net.rim.device.api.ui.Field
See Also:
Field.navigationMovement(int dx, int dy, int status, int time)

fieldChanged

public void fieldChanged(net.rim.device.api.ui.Field field,
                         int context)
(non-Javadoc)

Specified by:
fieldChanged in interface net.rim.device.api.ui.FieldChangeListener
See Also:
FieldChangeListener.fieldChanged(Field field, int context)

touchEvent

protected boolean touchEvent(net.rim.device.api.ui.TouchEvent message)
(non-Javadoc)

Overrides:
touchEvent in class net.rim.device.api.ui.Field
See Also:
Field.touchEvent(TouchEvent message)

layout

protected void layout(int width,
                      int height)
(non-Javadoc)

Overrides:
layout in class net.rim.device.api.ui.component.BasicEditField
See Also:
Field.layout(int width, int height)

drawFocus

protected void drawFocus(net.rim.device.api.ui.Graphics g,
                         boolean on)
(non-Javadoc)

Overrides:
drawFocus in class net.rim.device.api.ui.component.BasicEditField
See Also:
Field.drawFocus(Graphics g, boolean on)

paintBackground

public void paintBackground(net.rim.device.api.ui.Graphics g)
(non-Javadoc)

Overrides:
paintBackground in class net.rim.device.api.ui.Field
See Also:
Field.paintBackground(Graphics g)

paint

protected void paint(net.rim.device.api.ui.Graphics g)
(non-Javadoc)

Overrides:
paint in class net.rim.device.api.ui.component.BasicEditField
See Also:
Field.paint(Graphics g)

refresh

public void refresh()
(non-Javadoc)

Specified by:
refresh in interface Control
See Also:
Control.refresh()

makeContextMenu

protected void makeContextMenu(net.rim.device.api.ui.ContextMenu menu)
(non-Javadoc)

Overrides:
makeContextMenu in class net.rim.device.api.ui.component.BasicEditField
See Also:
Field.makeContextMenu(ContextMenu menu)

setProperty

public void setProperty(int key,
                        java.lang.String value)
Set the property values for this password input

Parameters:
key - int int value for the key of a specific attribute
value - String value for this attribute

refreshFooter

public void refreshFooter(java.lang.String valueToBeDisplay)
Refresh the footer field from the screen that contains the text of the button.

Parameters:
valueToBeDisplay - String value for the text to be display in the footer

setFooterField

public void setFooterField(FooterField field)
Set the footer field

Parameters:
{@link - FooterField} footer field to put the text of the textinput into. This is useful for long text, so it can be displayed in the footer. null value if there is no footer.
See Also:
FooterField

setName

public void setName(java.lang.String name)
Set a key name for this control

Parameters:
name - String value for the key name for this control

setDisplayName

public void setDisplayName(java.lang.String displayName)
Set display name

Parameters:
displayName - String value for the display name

setType

public void setType(java.lang.String type)
Set type

Parameters:
type - String value for the type of the update

setValidationObject

public void setValidationObject(ValidationObject obj)
Set validation object

Parameters:
obj - ValidationObject validation object
See Also:
ValidationObject

setFieldIndex

public void setFieldIndex(int fieldIndex)
Set the edit index

Parameters:
fieldIndex - int value for the edit index

getCustomEventsDelegate

public ICustomEventsDelegate getCustomEventsDelegate()
Returns the control's custom events delegate

Returns:
the control's custom events delegate

setCustomEventsDelegate

public void setCustomEventsDelegate(ICustomEventsDelegate delegate,
                                    int eventsFlags)
Sets the control's custom events delegate for the given events

Parameters:
delegate - custom events delegate
eventsFlags - the events to set delegate to

getControlID

public int getControlID()
Returns the control's ID

Returns:
the control's Id

setControlID

public void setControlID(int controlID)
Sets the control's ID

Parameters:
controlId - control ID

setInvalidValueMessage

public void setInvalidValueMessage(java.lang.String invalidValueMessage)
Set invalid value message

Parameters:
invalidValueMessage - String value for the error message that is displayed then the value doesn't match the datatype/logical type.

setInvalidValueMessage

public void setInvalidValueMessage(int invalidValueMessageRID)
Set invalid value message by localization resource id

Parameters:
invalidValueMessageRID - int value for the localization resource id of invalid value message

setEmptyMeanNull

public void setEmptyMeanNull(boolean emptyMeansNull)
Set if any empty values in the text fields should return a null value for empty.

Parameters:
emptyMeansNull - true if empty text input means null, otherwise false

setVariableInput

public void setVariableInput(ControlVariable variable)
Set the control variable object for the input value

Parameters:
variable - ControlVariable control variable object
See Also:
ControlVariable

setValidators

public void setValidators(java.util.Vector validators)

getValue

public java.lang.Object getValue()
(non-Javadoc)

Specified by:
getValue in interface Control
Returns:
Object of the value set for this control
See Also:
Control.getValue()

validate

public boolean validate()
Validates the text input value

Specified by:
validate in interface ITextInput
Returns:
true if the validation passes, otherwise false

setNeedValidate

public void setNeedValidate(boolean needValidate)
Specify need validate or not

Specified by:
setNeedValidate in interface ITextInput

getRawBinaryData

public byte[] getRawBinaryData()
Description copied from interface: ITextInput
Get byte array data

Specified by:
getRawBinaryData in interface ITextInput
Returns:

setRawBinaryData

public void setRawBinaryData(byte[] data)
Description copied from interface: ITextInput
Set the byte array data

Specified by:
setRawBinaryData in interface ITextInput

setLogicalType

public void setLogicalType(LogicalType logicalType)
Set logical type

Specified by:
setLogicalType in interface ITextInput
Parameters:
logicalType - LogicalType logical type object
See Also:
LogicalType

setSchemaType

public void setSchemaType(java.lang.String schemaType)
Set the schema type

Specified by:
setSchemaType in interface ITextInput
Parameters:
schemaType - String value for the schema type

getLogicalType

public LogicalType getLogicalType()
Specified by:
getLogicalType in interface PIMControl

getPIMValue

public java.lang.Object getPIMValue()
Specified by:
getPIMValue in interface PIMControl

getSchemaType

public java.lang.String getSchemaType()
Specified by:
getSchemaType in interface PIMControl

setPIMValue

public void setPIMValue(java.lang.Object value)
Specified by:
setPIMValue in interface PIMControl

getController

public TextInputController getController()
Description copied from interface: ITextInput
Get the text input controller

Specified by:
getController in interface ITextInput
Returns:

setController

public void setController(TextInputController textInputCtrller)
Description copied from interface: ITextInput
Set text input controller

Specified by:
setController in interface ITextInput

setText

public void setText(java.lang.String text)
Description copied from interface: ITextInput
Set text value

Specified by:
setText in interface ITextInput
Overrides:
setText in class net.rim.device.api.ui.component.PasswordEditField

setShowBackgroundColor

public void setShowBackgroundColor(boolean isShowBackgroundColor)
Sets if background color is drawing

Parameters:
isShowBackgroundColor -