ICEfaces ACE Components 3.3.0
Java API Documentation

org.icefaces.ace.component.autocompleteentry
Class AutoCompleteEntryBase

java.lang.Object
  extended by javax.faces.component.UIComponent
      extended by javax.faces.component.UIComponentBase
          extended by javax.faces.component.UIOutput
              extended by javax.faces.component.UIInput
                  extended by javax.faces.component.html.HtmlInputText
                      extended by org.icefaces.ace.component.autocompleteentry.AutoCompleteEntryBase
All Implemented Interfaces:
java.util.EventListener, javax.faces.component.behavior.ClientBehaviorHolder, javax.faces.component.EditableValueHolder, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.component.ValueHolder, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder, IceClientBehaviorHolder, IAutoCompleteEntry
Direct Known Subclasses:
AutoCompleteEntry

public class AutoCompleteEntryBase
extends javax.faces.component.html.HtmlInputText
implements IAutoCompleteEntry, IceClientBehaviorHolder

AutoCompleteEntry is a text input component that presents possible valid options as the user types. The options can be a list of SelectItem's specified in a child tag. It is also possible to specify a list of arbitrary data objects (i.e. POJOs) through the listValue attribute. In this case, a facet named "row" should be nested inside this component. This allows for more flexible rendering of each row, making it possible to render other components or HTML for each row and to display different properties of the data object.

For more information, see the AutoCompleteEntry Wiki Documentation.


Nested Class Summary
protected static class AutoCompleteEntryBase.PropertyKeys
           
 
Field Summary
static java.lang.String COMPONENT_TYPE
           
static java.lang.String RENDERER_TYPE
           
 
Fields inherited from class javax.faces.component.UIInput
COMPONENT_FAMILY, CONVERSION_MESSAGE_ID, REQUIRED_MESSAGE_ID, UPDATE_MESSAGE_ID, VALIDATE_EMPTY_FIELDS_PARAM_NAME
 
Fields inherited from class javax.faces.component.UIComponent
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
 
Constructor Summary
AutoCompleteEntryBase()
           
 
Method Summary
 void addClientBehavior(java.lang.String eventName, javax.faces.component.behavior.ClientBehavior behavior)
           
 java.lang.String getDefaultEventName()
           
 java.lang.String getDefaultExecute(java.lang.String event)
           
 java.lang.String getDefaultRender(java.lang.String event)
           
 int getDelay()
          Return the value of the delay property.
 java.lang.String getDirection()
          Return the value of the direction property.
 java.util.Collection<java.lang.String> getEventNames()
           
 java.lang.String getFamily()
           
 java.lang.Object getFilterBy()
          Return the value of the filterBy property.
 java.lang.String getFilterMatchMode()
          Return the value of the filterMatchMode property.
 int getHeight()
          Return the value of the height property.
 java.lang.String getHideEffect()
          Return the value of the hideEffect property.
 int getHideEffectLength()
          Return the value of the hideEffectLength property.
 java.lang.String getIndicatorPosition()
          Return the value of the indicatorPosition property.
 java.util.List getItemList()
          Return the value of the itemList property.
 java.lang.String getLabelPosition()
          Return the value of the labelPosition property.
 java.util.List getListValue()
          Return the value of the listValue property.
 java.lang.String getListVar()
          Return the value of the listVar property.
 int getMinChars()
          Return the value of the minChars property.
 java.lang.String getOptionalIndicator()
          Return the value of the optionalIndicator property.
 java.lang.String getRequiredIndicator()
          Return the value of the requiredIndicator property.
 int getRows()
          Return the value of the rows property.
 java.lang.String getShowEffect()
          Return the value of the showEffect property.
 int getShowEffectLength()
          Return the value of the showEffectLength property.
 java.lang.String getText()
          Return the value of the text property.
 javax.el.MethodExpression getTextChangeListener()
          Return the value of the textChangeListener property.
 int getWidth()
          Return the value of the width property.
 boolean isCaseSensitive()
          Return the value of the caseSensitive property.
 boolean isClientSide()
          Return the value of the clientSide property.
 java.lang.Boolean isPopulateList()
          Return the value of the populateList property.
 void setCaseSensitive(boolean caseSensitive)
          Set the value of the caseSensitive property.
 void setClientSide(boolean clientSide)
          Set the value of the clientSide property.
 void setDelay(int delay)
          Set the value of the delay property.
 void setDirection(java.lang.String direction)
          Set the value of the direction property.
 void setFilterBy(java.lang.Object filterBy)
          Set the value of the filterBy property.
 void setFilterMatchMode(java.lang.String filterMatchMode)
          Set the value of the filterMatchMode property.
 void setHeight(int height)
          Set the value of the height property.
 void setHideEffect(java.lang.String hideEffect)
          Set the value of the hideEffect property.
 void setHideEffectLength(int hideEffectLength)
          Set the value of the hideEffectLength property.
 void setIndicatorPosition(java.lang.String indicatorPosition)
          Set the value of the indicatorPosition property.
 void setItemList(java.util.List itemList)
          Set the value of the itemList property.
 void setLabelPosition(java.lang.String labelPosition)
          Set the value of the labelPosition property.
 void setListValue(java.util.List listValue)
          Set the value of the listValue property.
 void setListVar(java.lang.String listVar)
          Set the value of the listVar property.
 void setMinChars(int minChars)
          Set the value of the minChars property.
 void setOptionalIndicator(java.lang.String optionalIndicator)
          Set the value of the optionalIndicator property.
 void setPopulateList(java.lang.Boolean populateList)
          Set the value of the populateList property.
 void setRequiredIndicator(java.lang.String requiredIndicator)
          Set the value of the requiredIndicator property.
 void setRows(int rows)
          Set the value of the rows property.
 void setShowEffect(java.lang.String showEffect)
          Set the value of the showEffect property.
 void setShowEffectLength(int showEffectLength)
          Set the value of the showEffectLength property.
 void setText(java.lang.String text)
          Set the value of the text property.
 void setTextChangeListener(javax.el.MethodExpression textChangeListener)
          Set the value of the textChangeListener property.
 void setWidth(int width)
          Set the value of the width property.
 
Methods inherited from class javax.faces.component.html.HtmlInputText
getAccesskey, getAlt, getAutocomplete, getDir, getLabel, getLang, getMaxlength, getOnblur, getOnchange, getOnclick, getOndblclick, getOnfocus, getOnkeydown, getOnkeypress, getOnkeyup, getOnmousedown, getOnmousemove, getOnmouseout, getOnmouseover, getOnmouseup, getOnselect, getSize, getStyle, getStyleClass, getTabindex, getTitle, isDisabled, isReadonly, setAccesskey, setAlt, setAutocomplete, setDir, setDisabled, setLabel, setLang, setMaxlength, setOnblur, setOnchange, setOnclick, setOndblclick, setOnfocus, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setOnselect, setReadonly, setSize, setStyle, setStyleClass, setTabindex, setTitle
 
Methods inherited from class javax.faces.component.UIInput
addValidator, addValueChangeListener, clearInitialState, compareValues, decode, getConvertedValue, getConverterMessage, getRequiredMessage, getSubmittedValue, getValidator, getValidatorMessage, getValidators, getValueChangeListener, getValueChangeListeners, isEmpty, isImmediate, isLocalValueSet, isRequired, isValid, markInitialState, processDecodes, processUpdates, processValidators, removeValidator, removeValueChangeListener, resetValue, restoreState, saveState, setConverterMessage, setImmediate, setLocalValueSet, setRequired, setRequiredMessage, setSubmittedValue, setValid, setValidator, setValidatorMessage, setValue, setValueChangeListener, updateModel, validate, validateValue
 
Methods inherited from class javax.faces.component.UIOutput
getConverter, getLocalValue, getValue, setConverter
 
Methods inherited from class javax.faces.component.UIComponentBase
addFacesListener, broadcast, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
 
Methods inherited from class javax.faces.component.UIComponent
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.faces.component.behavior.ClientBehaviorHolder
getClientBehaviors
 
Methods inherited from interface javax.faces.component.ValueHolder
getConverter, getLocalValue, getValue, setConverter
 

Field Detail

COMPONENT_TYPE

public static final java.lang.String COMPONENT_TYPE
See Also:
Constant Field Values

RENDERER_TYPE

public static final java.lang.String RENDERER_TYPE
See Also:
Constant Field Values
Constructor Detail

AutoCompleteEntryBase

public AutoCompleteEntryBase()
Method Detail

getFamily

public java.lang.String getFamily()
Overrides:
getFamily in class javax.faces.component.UIInput

setCaseSensitive

public void setCaseSensitive(boolean caseSensitive)

Set the value of the caseSensitive property.

Contents: Boolean value that indicates whether the filtering should be case sensitive or not.

Specified by:
setCaseSensitive in interface IAutoCompleteEntry

isCaseSensitive

public boolean isCaseSensitive()

Return the value of the caseSensitive property.

Contents: Boolean value that indicates whether the filtering should be case sensitive or not. Default = 'false'.

Specified by:
isCaseSensitive in interface IAutoCompleteEntry

setClientSide

public void setClientSide(boolean clientSide)

Set the value of the clientSide property.

Contents: Boolean value that indicates whether the autocomplete functionality should be done on the client or on the server. Client-side mode can be faster, as no round trips to the server need to be made. However, if the list of possible results is too large, the browser might become slower, since the entire list has to be stored in the client as HTML nodes. It is recommended not to use lists of more than 1000 items when using the client-side mode.

Specified by:
setClientSide in interface IAutoCompleteEntry

isClientSide

public boolean isClientSide()

Return the value of the clientSide property.

Contents: Boolean value that indicates whether the autocomplete functionality should be done on the client or on the server. Client-side mode can be faster, as no round trips to the server need to be made. However, if the list of possible results is too large, the browser might become slower, since the entire list has to be stored in the client as HTML nodes. It is recommended not to use lists of more than 1000 items when using the client-side mode. Default = 'false'.

Specified by:
isClientSide in interface IAutoCompleteEntry

setDelay

public void setDelay(int delay)

Set the value of the delay property.

Contents: Delay in milliseconds for showing the list of possible matches after typing a character.

Specified by:
setDelay in interface IAutoCompleteEntry

getDelay

public int getDelay()

Return the value of the delay property.

Contents: Delay in milliseconds for showing the list of possible matches after typing a character. Default = '400'.

Specified by:
getDelay in interface IAutoCompleteEntry

setDirection

public void setDirection(java.lang.String direction)

Set the value of the direction property.

Contents: Direction in which to show the list of possible matches. Possible values are "up", "down", and "auto".

Specified by:
setDirection in interface IAutoCompleteEntry

getDirection

public java.lang.String getDirection()

Return the value of the direction property.

Contents: Direction in which to show the list of possible matches. Possible values are "up", "down", and "auto".

Specified by:
getDirection in interface IAutoCompleteEntry

setFilterBy

public void setFilterBy(java.lang.Object filterBy)

Set the value of the filterBy property.

Contents: ValueExpression that specifies the property of the data object to use for filtering values. This only applies when listvar is used and the rendering is done by means of a facet.

Specified by:
setFilterBy in interface IAutoCompleteEntry

getFilterBy

public java.lang.Object getFilterBy()

Return the value of the filterBy property.

Contents: ValueExpression that specifies the property of the data object to use for filtering values. This only applies when listvar is used and the rendering is done by means of a facet.

Specified by:
getFilterBy in interface IAutoCompleteEntry

setFilterMatchMode

public void setFilterMatchMode(java.lang.String filterMatchMode)

Set the value of the filterMatchMode property.

Contents: Defines the method of filter comparison used, default is "startsWith". Types available include: "contains", "exact", "startsWith", "endsWith" and "none". Typically, "none" will be used in cases where more complex, custom filtering is needed or when option values need to be loaded lazily (e.g. from a data base).

Specified by:
setFilterMatchMode in interface IAutoCompleteEntry

getFilterMatchMode

public java.lang.String getFilterMatchMode()

Return the value of the filterMatchMode property.

Contents: Defines the method of filter comparison used, default is "startsWith". Types available include: "contains", "exact", "startsWith", "endsWith" and "none". Typically, "none" will be used in cases where more complex, custom filtering is needed or when option values need to be loaded lazily (e.g. from a data base). Default = 'startsWith'.

Specified by:
getFilterMatchMode in interface IAutoCompleteEntry

setHeight

public void setHeight(int height)

Set the value of the height property.

Contents: Maximum height in pixels of the list of possible matches (if 0, then the size is automatically adjusted to show all possible matches).

Specified by:
setHeight in interface IAutoCompleteEntry

getHeight

public int getHeight()

Return the value of the height property.

Contents: Maximum height in pixels of the list of possible matches (if 0, then the size is automatically adjusted to show all possible matches).

Specified by:
getHeight in interface IAutoCompleteEntry

setHideEffect

public void setHideEffect(java.lang.String hideEffect)

Set the value of the hideEffect property.

Contents: Effect to use when hiding the list. Possible values are 'blind', 'bounce', 'clip', 'drop', 'explode', 'fade', 'fold', 'puff', 'pulsate', 'scale', and 'slide'.

Specified by:
setHideEffect in interface IAutoCompleteEntry

getHideEffect

public java.lang.String getHideEffect()

Return the value of the hideEffect property.

Contents: Effect to use when hiding the list. Possible values are 'blind', 'bounce', 'clip', 'drop', 'explode', 'fade', 'fold', 'puff', 'pulsate', 'scale', and 'slide'. Default = 'fade'.

Specified by:
getHideEffect in interface IAutoCompleteEntry

setHideEffectLength

public void setHideEffectLength(int hideEffectLength)

Set the value of the hideEffectLength property.

Contents: Length of time in milliseconds the hide effect will last for.

Specified by:
setHideEffectLength in interface IAutoCompleteEntry

getHideEffectLength

public int getHideEffectLength()

Return the value of the hideEffectLength property.

Contents: Length of time in milliseconds the hide effect will last for. Default = '150'.

Specified by:
getHideEffectLength in interface IAutoCompleteEntry

setIndicatorPosition

public void setIndicatorPosition(java.lang.String indicatorPosition)

Set the value of the indicatorPosition property.

Contents: Position of input-required or input-optional indicator relative to input field or label. Supported values are "left/right/top/bottom/labelLeft/labelRight/none". Default is "labelRight" if labelPosition is "inField", "right" otherwise.

Specified by:
setIndicatorPosition in interface IAutoCompleteEntry

getIndicatorPosition

public java.lang.String getIndicatorPosition()

Return the value of the indicatorPosition property.

Contents: Position of input-required or input-optional indicator relative to input field or label. Supported values are "left/right/top/bottom/labelLeft/labelRight/none". Default is "labelRight" if labelPosition is "inField", "right" otherwise.

Specified by:
getIndicatorPosition in interface IAutoCompleteEntry

setLabelPosition

public void setLabelPosition(java.lang.String labelPosition)

Set the value of the labelPosition property.

Contents: Position of label relative to input field. Supported values are "left/right/top/bottom/inField/none". Default is "none".

Specified by:
setLabelPosition in interface IAutoCompleteEntry

getLabelPosition

public java.lang.String getLabelPosition()

Return the value of the labelPosition property.

Contents: Position of label relative to input field. Supported values are "left/right/top/bottom/inField/none". Default is "none".

Specified by:
getLabelPosition in interface IAutoCompleteEntry

setListValue

public void setListValue(java.util.List listValue)

Set the value of the listValue property.

Contents: When rendering via a facet, this attribute specifies the list of data objects that contains all possible options.

Specified by:
setListValue in interface IAutoCompleteEntry

getListValue

public java.util.List getListValue()

Return the value of the listValue property.

Contents: When rendering via a facet, this attribute specifies the list of data objects that contains all possible options.

Specified by:
getListValue in interface IAutoCompleteEntry

setListVar

public void setListVar(java.lang.String listVar)

Set the value of the listVar property.

Contents: Variable name to use for referencing each data object in the list when rendering via a facet.

Specified by:
setListVar in interface IAutoCompleteEntry

getListVar

public java.lang.String getListVar()

Return the value of the listVar property.

Contents: Variable name to use for referencing each data object in the list when rendering via a facet.

Specified by:
getListVar in interface IAutoCompleteEntry

setMinChars

public void setMinChars(int minChars)

Set the value of the minChars property.

Contents: Minimum number of characters that must be in the text field before submitting and before producing the list of possible matches.

Specified by:
setMinChars in interface IAutoCompleteEntry

getMinChars

public int getMinChars()

Return the value of the minChars property.

Contents: Minimum number of characters that must be in the text field before submitting and before producing the list of possible matches. Default = '0'.

Specified by:
getMinChars in interface IAutoCompleteEntry

setOptionalIndicator

public void setOptionalIndicator(java.lang.String optionalIndicator)

Set the value of the optionalIndicator property.

Contents: Indicator indicating that the user is NOT required to provide a submitted value for this input component.

Specified by:
setOptionalIndicator in interface IAutoCompleteEntry

getOptionalIndicator

public java.lang.String getOptionalIndicator()

Return the value of the optionalIndicator property.

Contents: Indicator indicating that the user is NOT required to provide a submitted value for this input component.

Specified by:
getOptionalIndicator in interface IAutoCompleteEntry

setRequiredIndicator

public void setRequiredIndicator(java.lang.String requiredIndicator)

Set the value of the requiredIndicator property.

Contents: Indicator indicating that the user is required to provide a submitted value for this input component.

Specified by:
setRequiredIndicator in interface IAutoCompleteEntry

getRequiredIndicator

public java.lang.String getRequiredIndicator()

Return the value of the requiredIndicator property.

Contents: Indicator indicating that the user is required to provide a submitted value for this input component.

Specified by:
getRequiredIndicator in interface IAutoCompleteEntry

setRows

public void setRows(int rows)

Set the value of the rows property.

Contents: The maximum number of possible options to show to the user.

Specified by:
setRows in interface IAutoCompleteEntry

getRows

public int getRows()

Return the value of the rows property.

Contents: The maximum number of possible options to show to the user. Default = '10'.

Specified by:
getRows in interface IAutoCompleteEntry

setShowEffect

public void setShowEffect(java.lang.String showEffect)

Set the value of the showEffect property.

Contents: Effect to use when showing the list. Possible values are 'blind', 'bounce', 'clip', 'drop', 'explode', 'fade', 'fold', 'puff', 'pulsate', 'scale', 'slide', and 'shake'.

Specified by:
setShowEffect in interface IAutoCompleteEntry

getShowEffect

public java.lang.String getShowEffect()

Return the value of the showEffect property.

Contents: Effect to use when showing the list. Possible values are 'blind', 'bounce', 'clip', 'drop', 'explode', 'fade', 'fold', 'puff', 'pulsate', 'scale', 'slide', and 'shake'. Default = 'fade'.

Specified by:
getShowEffect in interface IAutoCompleteEntry

setShowEffectLength

public void setShowEffectLength(int showEffectLength)

Set the value of the showEffectLength property.

Contents: Length of time in milliseconds the show effect will last for.

Specified by:
setShowEffectLength in interface IAutoCompleteEntry

getShowEffectLength

public int getShowEffectLength()

Return the value of the showEffectLength property.

Contents: Length of time in milliseconds the show effect will last for. Default = '150'.

Specified by:
getShowEffectLength in interface IAutoCompleteEntry

setTextChangeListener

public void setTextChangeListener(javax.el.MethodExpression textChangeListener)

Set the value of the textChangeListener property.

Contents: MethodExpression representing a text change listener method that will be notified when the text of the input field changes after the user types new characters or removes them. This is different from a value change event in that in this case the user has not yet given a definite input and is just typing strings to to obtain lists of possible values. The value change event differs in that it only fires once the user has selected a value from the list or has pressed 'enter' on the input field. The expression must evaluate to a public method that takes a org.icefaces.ace.event.TextChageEvent parameter, with a return type of void.

Specified by:
setTextChangeListener in interface IAutoCompleteEntry

getTextChangeListener

public javax.el.MethodExpression getTextChangeListener()

Return the value of the textChangeListener property.

Contents: MethodExpression representing a text change listener method that will be notified when the text of the input field changes after the user types new characters or removes them. This is different from a value change event in that in this case the user has not yet given a definite input and is just typing strings to to obtain lists of possible values. The value change event differs in that it only fires once the user has selected a value from the list or has pressed 'enter' on the input field. The expression must evaluate to a public method that takes a org.icefaces.ace.event.TextChageEvent parameter, with a return type of void.

Specified by:
getTextChangeListener in interface IAutoCompleteEntry

setWidth

public void setWidth(int width)

Set the value of the width property.

Contents: The width of the text input field, in pixels.

Specified by:
setWidth in interface IAutoCompleteEntry

getWidth

public int getWidth()

Return the value of the width property.

Contents: The width of the text input field, in pixels. Default = '150'.

Specified by:
getWidth in interface IAutoCompleteEntry

setItemList

public void setItemList(java.util.List itemList)

Set the value of the itemList property.

Specified by:
setItemList in interface IAutoCompleteEntry

getItemList

public java.util.List getItemList()

Return the value of the itemList property.

Specified by:
getItemList in interface IAutoCompleteEntry

setPopulateList

public void setPopulateList(java.lang.Boolean populateList)

Set the value of the populateList property.

Specified by:
setPopulateList in interface IAutoCompleteEntry

isPopulateList

public java.lang.Boolean isPopulateList()

Return the value of the populateList property.

Specified by:
isPopulateList in interface IAutoCompleteEntry

setText

public void setText(java.lang.String text)

Set the value of the text property.

Specified by:
setText in interface IAutoCompleteEntry

getText

public java.lang.String getText()

Return the value of the text property.

Specified by:
getText in interface IAutoCompleteEntry

getEventNames

public java.util.Collection<java.lang.String> getEventNames()
Specified by:
getEventNames in interface javax.faces.component.behavior.ClientBehaviorHolder
Overrides:
getEventNames in class javax.faces.component.html.HtmlInputText

getDefaultEventName

public java.lang.String getDefaultEventName()
Specified by:
getDefaultEventName in interface javax.faces.component.behavior.ClientBehaviorHolder
Overrides:
getDefaultEventName in class javax.faces.component.html.HtmlInputText

getDefaultRender

public java.lang.String getDefaultRender(java.lang.String event)
Specified by:
getDefaultRender in interface IceClientBehaviorHolder

getDefaultExecute

public java.lang.String getDefaultExecute(java.lang.String event)
Specified by:
getDefaultExecute in interface IceClientBehaviorHolder

addClientBehavior

public void addClientBehavior(java.lang.String eventName,
                              javax.faces.component.behavior.ClientBehavior behavior)
Specified by:
addClientBehavior in interface javax.faces.component.behavior.ClientBehaviorHolder
Overrides:
addClientBehavior in class javax.faces.component.UIComponentBase

ICEfaces ACE Components 3.3.0
Java API Documentation

Copyright 2013 ICEsoft Technologies Canada Corp., All Rights Reserved.