Class WPhoneNumberField
- java.lang.Object
-
- com.github.bordertech.wcomponents.AbstractWComponent
-
- com.github.bordertech.wcomponents.WBeanComponent
-
- com.github.bordertech.wcomponents.AbstractInput
-
- com.github.bordertech.wcomponents.WPhoneNumberField
-
- All Implemented Interfaces:
AjaxTarget,AjaxTrigger,Autocompleteable,AutocompleteablePhone,BeanAware,BeanBound,BeanProviderBound,DataBound,Diagnosable,Disableable,Input,Labelable,Mandatable,Placeholderable,SubordinateTarget,SubordinateTrigger,WComponent,WebComponent,Serializable
public class WPhoneNumberField extends AbstractInput implements AjaxTrigger, AjaxTarget, SubordinateTrigger, SubordinateTarget, Placeholderable, AutocompleteablePhone
A WPhoneNumberField is a wcomponent used to display a telephone number field. Use the method "getText" to get the text entered into the field by the user.
A telephone number field differs from a text field in the way in which some user agents interact with it. For example, touchscreen devices may display a numeric data entry pad rather than an alphanumeric keyboard.
- Since:
- 1.0.0
- Author:
- Yiannis Paschalidis, Jonathan Austin, Mark Reeves
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWPhoneNumberField.PhoneFieldModelPhoneFieldModel holds Extrinsic state management of the field.-
Nested classes/interfaces inherited from class com.github.bordertech.wcomponents.AbstractInput
AbstractInput.InputModel
-
Nested classes/interfaces inherited from class com.github.bordertech.wcomponents.AbstractWComponent
AbstractWComponent.WComponentRef
-
-
Field Summary
-
Fields inherited from interface com.github.bordertech.wcomponents.WComponent
DEFAULT_APPLICATION_ID, DEFAULT_INTERNAL_ID, DEFAULT_NO_ID, ID_CONTEXT_SEPERATOR, ID_FRAMEWORK_ASSIGNED_SEPERATOR, ID_VALIDATION_PATTERN
-
-
Constructor Summary
Constructors Constructor Description WPhoneNumberField()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAutocompleteSection(String sectionName)Pre-pend anautocompletesection to the value of anautocompleteattribute for the current field.voidclearAutocomplete()Clear theautocompleteattribute.protected booleandoHandleRequest(Request request)Specific handle request processing for an input component is provided here.StringgetAutocomplete()intgetColumns()protected WPhoneNumberField.PhoneFieldModelgetComponentModel()Returns the effective component model for this component.intgetMaxLength()intgetMinLength()protected WPhoneNumberField.PhoneFieldModelgetOrCreateComponentModel()Retrieves the model for this component so that it can be modified.StringgetPattern()StringgetPlaceholder()Get the placeholder text, if explicitly set.StringgetRequestValue(Request request)Provide the value of the component on the Request.WSuggestionsgetSuggestions()StringgetText()Retrieves the phone field's text for a specific user.StringgetValue()Provide the value of the component returned byDataBound.getData()in the correct format.protected WPhoneNumberField.PhoneFieldModelnewComponentModel()Creates a new PhoneFieldModel holds Extrinsic state management of the field.voidsetAutocomplete(Telephone phone, PhoneFormat phoneType)Set theautocompleteattribute to an appropriate value for a particular type of phone number, in either of a full or local format.voidsetAutocompleteOff()Turnautocompleteoff for the current field.voidsetColumns(int columns)Sets the width of the input field in characters.voidsetMaxLength(int maxLength)Set the maximum number of characters that the user can enter into the phone number field.voidsetMinLength(int minLength)Set the minimum number of characters that the user can enter into the phone number field.voidsetPattern(String pattern)The pattern to validate against.voidsetPlaceholder(String placeholder)Set placeholder text which will appear in the field if it is editable and has no content.voidsetSuggestions(WSuggestions suggestions)Set theWSuggestionsfor this phone number field.voidsetText(String text)Sets the text value to be shown in the input field.protected voidvalidateComponent(List<Diagnostic> diags)Override validateComponent to perform further validation.-
Methods inherited from class com.github.bordertech.wcomponents.AbstractInput
addValidator, beforeHandleRequest, createMandatoryDiagnostic, doHandleChanged, getActionCommand, getActionObject, getActionOnChange, getDefaultSubmitButton, getDiagnostics, getValidators, getValueAsString, handleRequest, isChangedInLastRequest, isCurrentAjaxTrigger, isDisabled, isEmpty, isMandatory, isPresent, isReadOnly, setActionObject, setActionOnChange, setChangedInLastRequest, setDefaultSubmitButton, setDisabled, setMandatory, setMandatory, setReadOnly, showErrorIndicatorsForComponent, showIndicatorsForComponent, showWarningIndicatorsForComponent, toString
-
Methods inherited from class com.github.bordertech.wcomponents.WBeanComponent
addBeanToScratchMap, doUpdateBeanValue, getBean, getBeanFromScratchMap, getBeanId, getBeanProperty, getBeanProvider, getBeanScratchMap, getBeanValue, getData, isBeanInScratchMap, isChanged, isSearchAncestors, isUseRequestScopeScratchMap, removeBeanFromScratchMap, resetData, setBean, setBeanId, setBeanProperty, setBeanProvider, setData, setSearchAncestors, updateBeanValue
-
Methods inherited from class com.github.bordertech.wcomponents.AbstractWComponent
addHtmlClass, addHtmlClass, addNotify, afterPaint, assertAddSupported, beforePaint, createErrorDiagnostic, createErrorDiagnostic, forward, getAccessibleText, getAttribute, getBaseUrl, getDefaultModel, getEnvironment, getHeaders, getHtmlClass, getHtmlClasses, getId, getIdName, getInternalId, getLabel, getName, getParent, getScratchMap, getTabIndex, getTag, getTemplate, getTemplateMarkUp, getToolTip, hasNoComponentModel, hasTabIndex, initialiseComponentModel, invokeLater, invokeLaters, isDebugStructure, isDefaultState, isFlagSet, isHidden, isInitialised, isLocked, isTracking, isTrackingEnabled, isValidate, isVisible, paint, paintComponent, preparePaint, preparePaintComponent, removeAttribute, removeComponentModel, removeHtmlClass, removeHtmlClass, removeNotify, replaceWComponent, reset, serviceRequest, setAccessibleText, setAttribute, setEnvironment, setFlag, setFocussed, setHidden, setHtmlClass, setHtmlClass, setIdName, setInitialised, setLocked, setTag, setToolTip, setTrackingEnabled, setValidate, setVisible, showErrorIndicators, showWarningIndicators, tidyUpUIContext, tidyUpUIContextForTree, validate, writeReplace
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.bordertech.wcomponents.autocomplete.Autocompleteable
isAutocompleteOff
-
Methods inherited from interface com.github.bordertech.wcomponents.autocomplete.AutocompleteablePhone
setFullPhoneAutocomplete, setFullPhoneAutocomplete, setLocalPhoneAutocomplete, setLocalPhoneAutocomplete
-
Methods inherited from interface com.github.bordertech.wcomponents.BeanAware
getBean, getBeanProperty, getBeanValue, setBeanProperty
-
Methods inherited from interface com.github.bordertech.wcomponents.BeanBound
isSearchAncestors, setBean
-
Methods inherited from interface com.github.bordertech.wcomponents.BeanProviderBound
getBeanId, setBeanId, setBeanProvider
-
Methods inherited from interface com.github.bordertech.wcomponents.WComponent
addHtmlClass, addHtmlClass, forward, getAccessibleText, getAttribute, getBaseUrl, getEnvironment, getHeaders, getHtmlClass, getHtmlClasses, getId, getIdName, getInternalId, getLabel, getName, getParent, getTabIndex, getTag, getToolTip, handleRequest, hasTabIndex, invokeLater, isDefaultState, isHidden, isInitialised, isLocked, isTracking, isTrackingEnabled, isValidate, isVisible, paint, preparePaint, removeAttribute, removeHtmlClass, removeHtmlClass, reset, serviceRequest, setAccessibleText, setAttribute, setEnvironment, setFocussed, setHtmlClass, setHtmlClass, setIdName, setInitialised, setLocked, setTag, setToolTip, setTrackingEnabled, setValidate, setVisible, showErrorIndicators, showWarningIndicators, tidyUpUIContextForTree, validate
-
-
-
-
Method Detail
-
doHandleRequest
protected boolean doHandleRequest(Request request)
Specific handle request processing for an input component is provided here.Input components are required to determine if the component has changed in the request, set the component data to the new value (if changed) and return the changed flag.
- Specified by:
doHandleRequestin classAbstractInput- Parameters:
request- the request being responded to.- Returns:
- true if the input component has changed, otherwise return false
-
getRequestValue
public String getRequestValue(Request request)
Provide the value of the component on the Request.If the component is not on the request, the components current value will be provided.
- Specified by:
getRequestValuein interfaceInput- Parameters:
request- the request being responded to.- Returns:
- the value of this component on the Request, or its current state if it is not on the request.
-
getValue
public String getValue()
Provide the value of the component returned byDataBound.getData()in the correct format.If required, this method can convert the data into the correct type and also do any validation before the value is used.
- Specified by:
getValuein interfaceInput- Overrides:
getValuein classAbstractInput- Returns:
- the value of the component returned by
DataBound.getData()in the correct format.
-
getText
public String getText()
Retrieves the phone field's text for a specific user.- Returns:
- the phone field's text for the given context.
-
setText
public void setText(String text)
Sets the text value to be shown in the input field.- Parameters:
text- the text to display.
-
getColumns
public int getColumns()
- Returns:
- the width of the input field in characters.
-
setColumns
public void setColumns(int columns)
Sets the width of the input field in characters.- Parameters:
columns- the number of characters to display.
-
getMinLength
public int getMinLength()
- Returns:
- the minimum number of characters that the user can enter into the phone number field.
-
setMinLength
public final void setMinLength(int minLength)
Set the minimum number of characters that the user can enter into the phone number field.Setting the minimum number of characters will not make a field mandatory as the validation is only applied once the user has entered some text. Use
AbstractInput.setMandatory(boolean)to make a field mandatory, which can be used in combination with setMinLength.- Parameters:
minLength- the minimum number of characters to allow.
-
getMaxLength
public int getMaxLength()
- Returns:
- the maximum number of characters that the user can enter into the phone number field.
-
setMaxLength
public final void setMaxLength(int maxLength)
Set the maximum number of characters that the user can enter into the phone number field.- Parameters:
maxLength- the maximum number of characters to allow.
-
setPattern
public final void setPattern(String pattern)
The pattern to validate against.The pattern must be supported natively by your target user agent (e.g. browser).
It is expected the
WLabelfor this component describes the required format of the component.- Parameters:
pattern- the pattern to validate against.
-
getPattern
public String getPattern()
- Returns:
- the pattern to validate against.
-
getAutocomplete
public String getAutocomplete()
- Specified by:
getAutocompletein interfaceAutocompleteable- Returns:
- the value of the
autocompleteattribute applied to the current field.
-
setAutocomplete
public void setAutocomplete(Telephone phone, PhoneFormat phoneType)
Description copied from interface:AutocompleteablePhoneSet theautocompleteattribute to an appropriate value for a particular type of phone number, in either of a full or local format.- Specified by:
setAutocompletein interfaceAutocompleteablePhone- Parameters:
phone- the telephone auto-fill variant, being full (including international prefix) or local (without international prefix)phoneType- the type of phone to which the number belongs, for example "mobile" or "fax"
-
setAutocompleteOff
public void setAutocompleteOff()
Description copied from interface:AutocompleteableTurnautocompleteoff for the current field.- Specified by:
setAutocompleteOffin interfaceAutocompleteable
-
addAutocompleteSection
public void addAutocompleteSection(String sectionName)
Description copied from interface:AutocompleteablePre-pend anautocompletesection to the value of anautocompleteattribute for the current field.- Specified by:
addAutocompleteSectionin interfaceAutocompleteable- Parameters:
sectionName- the name of the section being the part which would replace the asterisk in the formsection-*
-
clearAutocomplete
public void clearAutocomplete()
Description copied from interface:AutocompleteableClear theautocompleteattribute.- Specified by:
clearAutocompletein interfaceAutocompleteable
-
validateComponent
protected void validateComponent(List<Diagnostic> diags)
Override validateComponent to perform further validation.Override WComponent's validatorComponent in order to use the validators which have been added to this input field. Subclasses may still override this method, but it is suggested to call super.validateComponent to ensure that the validators are still used.
- Overrides:
validateComponentin classAbstractInput- Parameters:
diags- the list into which any validation diagnostics are added.
-
getSuggestions
public WSuggestions getSuggestions()
- Returns:
- the
WSuggestionsfor this phone number field.
-
setSuggestions
public final void setSuggestions(WSuggestions suggestions)
Set theWSuggestionsfor this phone number field.- Parameters:
suggestions- theWSuggestionsfor this phone number field
-
setPlaceholder
public void setPlaceholder(String placeholder)
Set placeholder text which will appear in the field if it is editable and has no content.- Specified by:
setPlaceholderin interfacePlaceholderable- Parameters:
placeholder- The text to set as the placeholder.
-
getPlaceholder
public String getPlaceholder()
Get the placeholder text, if explicitly set.- Specified by:
getPlaceholderin interfacePlaceholderable- Returns:
- The placeholder text, if set.
-
newComponentModel
protected WPhoneNumberField.PhoneFieldModel newComponentModel()
Creates a new PhoneFieldModel holds Extrinsic state management of the field.- Overrides:
newComponentModelin classAbstractInput- Returns:
- a new PhoneFieldModel
-
getComponentModel
protected WPhoneNumberField.PhoneFieldModel getComponentModel()
Returns the effective component model for this component. Subclass may override this method to narrow the return type to their specific model type.- Overrides:
getComponentModelin classAbstractInput- Returns:
- the effective component model
-
getOrCreateComponentModel
protected WPhoneNumberField.PhoneFieldModel getOrCreateComponentModel()
Retrieves the model for this component so that it can be modified. If this method is called during request processing, and a session specific model does not yet exist, then a new model is created. Subclasses may override this method to narrow the return type to their specific model type.- Overrides:
getOrCreateComponentModelin classAbstractInput- Returns:
- the model for this component
-
-