Class AbstractListSelectControl<V>
- Type Parameters:
V
- The type of values to select.
- All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable
,com.globalmentor.beans.PropertyConstrainable
,com.globalmentor.model.MutableValued<V>
,com.globalmentor.model.Valued<V>
,io.clogr.Clogged
,Component
,CompositeComponent
,Control
,InputFocusableComponent
,ListSelectControl<V>
,SelectControl<V>
,ValueControl<V>
,ValuedComponent<V>
,ListListenable<V>
,Displayable
,Enableable
,InfoModel
,LabelModel
,ListSelectModel<V>
,Model
,SelectModel<V>
,PresentationModel
,ValueModel<V>
,DepictedObject
,Iterable<V>
,Collection<V>
,List<V>
- Direct Known Subclasses:
BooleanValueControlSelectControl
,ListControl
,TabControl
ValueModel.VALUE_PROPERTY
or the ValueModel.VALIDATOR_PROPERTY
is fired. This implementation does not yet fully support elements that appear more than once in
the model.- Author:
- Garret Wilson
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A list select value representation strategy that creates a component by converting the value to a info model.static class
A default list select value representation strategy that creates aLabel
.protected static class
An encapsulation of a component for a tree node along with other metadata, such as whether the component was editable when created.Nested classes/interfaces inherited from class io.guise.framework.component.AbstractCompositeStateComponent
AbstractCompositeStateComponent.ComponentState
Nested classes/interfaces inherited from class io.guise.framework.component.AbstractComponent
AbstractComponent.AbstractFlyoverFrameStrategy<S extends Component>, AbstractComponent.AbstractFlyoverStrategy<S extends Component>, AbstractComponent.DefaultFlyoverStrategy<S extends Component>
Nested classes/interfaces inherited from interface io.guise.framework.component.Component
Component.FlyoverStrategy<S extends Component>
Nested classes/interfaces inherited from interface io.guise.framework.component.Control
Control.Status
Nested classes/interfaces inherited from interface io.guise.framework.component.ListSelectControl
ListSelectControl.ValueRepresentationStrategy<VV>
-
Field Summary
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
Fields inherited from interface io.guise.framework.component.Component
BOOKMARK_ENABLED_PROPERTY, CONSTRAINTS_PROPERTY, DRAG_ENABLED_PROPERTY, DROP_ENABLED_PROPERTY, FLYOVER_ENABLED_PROPERTY, FLYOVER_STRATEGY_PROPERTY, INPUT_STRATEGY_PROPERTY, NAME_PROPERTY, NOTIFICATION_PROPERTY, ORIENTATION_PROPERTY, THEME_APPLIED_PROPERTY, VALID_PROPERTY
Fields inherited from interface io.guise.framework.component.Control
STATUS_PROPERTY
Fields inherited from interface io.guise.framework.model.Displayable
DISPLAYED_PROPERTY
Fields inherited from interface io.guise.framework.model.Enableable
ENABLED_PROPERTY
Fields inherited from interface io.guise.framework.model.InfoModel
DESCRIPTION_CONTENT_TYPE_PROPERTY, DESCRIPTION_PROPERTY, INFO_CONTENT_TYPE_PROPERTY, INFO_PROPERTY
Fields inherited from interface io.guise.framework.model.LabelModel
GLYPH_URI_PROPERTY, LABEL_CONTENT_TYPE_PROPERTY, LABEL_PROPERTY
Fields inherited from interface io.guise.framework.model.ui.PresentationModel
BACKGROUND_COLOR_PROPERTY, BORDER_LINE_FAR_COLOR_PROPERTY, BORDER_LINE_FAR_EXTENT_PROPERTY, BORDER_LINE_FAR_STYLE_PROPERTY, BORDER_LINE_NEAR_COLOR_PROPERTY, BORDER_LINE_NEAR_EXTENT_PROPERTY, BORDER_LINE_NEAR_STYLE_PROPERTY, BORDER_PAGE_FAR_COLOR_PROPERTY, BORDER_PAGE_FAR_EXTENT_PROPERTY, BORDER_PAGE_FAR_STYLE_PROPERTY, BORDER_PAGE_NEAR_COLOR_PROPERTY, BORDER_PAGE_NEAR_EXTENT_PROPERTY, BORDER_PAGE_NEAR_STYLE_PROPERTY, CORNER_LINE_FAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_FAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CURSOR_PROPERTY, FONT_FAMILIES_PROPERTY, FONT_SIZE_PROPERTY, FONT_STYLE_PROPERTY, FONT_WEIGHT_BOLD, FONT_WEIGHT_NORMAL, FONT_WEIGHT_PROPERTY, LABEL_FONT_FAMILIES_PROPERTY, LABEL_FONT_SIZE_PROPERTY, LABEL_FONT_STYLE_PROPERTY, LABEL_FONT_WEIGHT_PROPERTY, LABEL_TEXT_COLOR_PROPERTY, LINE_EXTENT_PROPERTY, MARGIN_LINE_FAR_EXTENT_PROPERTY, MARGIN_LINE_NEAR_EXTENT_PROPERTY, MARGIN_PAGE_FAR_EXTENT_PROPERTY, MARGIN_PAGE_NEAR_EXTENT_PROPERTY, OPACITY_PROPERTY, PADDING_LINE_FAR_EXTENT_PROPERTY, PADDING_LINE_NEAR_EXTENT_PROPERTY, PADDING_PAGE_FAR_EXTENT_PROPERTY, PADDING_PAGE_NEAR_EXTENT_PROPERTY, PAGE_EXTENT_PROPERTY, ROUNDED_CORNER_ARC_SIZE, STYLE_ID_PROPERTY, TEXT_COLOR_PROPERTY, TOOLTIP_ENABLED_PROPERTY, VISIBLE_PROPERTY
Fields inherited from interface io.guise.framework.component.SelectControl
VALUE_REPRESENTATION_STRATEGY_PROPERTY
Fields inherited from interface io.guise.framework.component.ValueControl
CONVERTER_PROPERTY
Fields inherited from interface io.guise.framework.model.ValueModel
VALIDATOR_PROPERTY, VALUE_PROPERTY
-
Constructor Summary
ConstructorDescriptionAbstractListSelectControl
(ListSelectModel<V> listSelectModel, ListSelectControl.ValueRepresentationStrategy<V> valueRepresentationStrategy) List select model and value representation strategy constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
boolean
boolean
addAll
(int index, Collection<? extends V> collection) boolean
addAll
(Collection<? extends V> collection) void
addListListener
(ListListener<V> listListener) Adds a list listener.void
addListSelectionListener
(ListSelectionListener<V> selectionListener) Adds a list selection listener.void
addSelectedIndexes
(int... indexes) Adds a selection at the given indices.void
clear()
void
Clears the value by setting the value tonull
, which may be invalid according to any installed validators.boolean
boolean
containsAll
(Collection<?> collection) createComponentState
(V value) Creates a component state to represent the given object.protected boolean
Checks the state of the component for validity.protected void
fireListModified
(int index, V addedElement, V removedElement) Fires an event to all registered list listeners indicating the list was modified.protected <VV> void
firePropertyChange
(String propertyName, VV oldValue, VV newValue) protected void
fireSelectionChanged
(Integer addedIndex, Integer removedIndex) Fires an event to all registered selection listeners indicating the selection changed.get
(int index) getComponent
(V value) Retrieves the component for the given object.protected ListSelectModel<V>
int
Determines the selected index.int[]
Determines the selected indices.Determines the selected value.V[]
Determines the selected values.getValue()
int
boolean
isEmpty()
boolean
isIndexDisplayed
(int index) Determines the displayed status of a given index.boolean
isIndexEnabled
(int index) Determines the enabled status of a given index.boolean
Determines whether the value of this model is valid.boolean
isValueDisplayed
(V value) Determines the displayed status of the first occurrence of a given value.boolean
isValueEnabled
(V value) Determines the enabled status of the first occurrence of a given value.iterator()
int
lastIndexOf
(Object value) listIterator
(int index) remove
(int index) boolean
boolean
removeAll
(Collection<?> collection) void
removeListListener
(ListListener<V> listListener) Removes a list listener.void
removeListSelectionListener
(ListSelectionListener<V> selectionListener) Removes a list selection listener.void
removeSelectedIndexes
(int... indexes) Removes a selection at the given indices.boolean
Replaces the first occurrence in the of the given value with its replacement.void
reset()
Resets the control to its default value.void
Resets the value to a default value, which may be invalid according to any installed validators.boolean
retainAll
(Collection<?> collection) void
setIndexDisplayed
(int index, boolean newDisplayed) Sets the displayed status of a given index.void
setIndexEnabled
(int index, boolean newEnabled) Sets the enabled status of a given index.void
setSelectedIndexes
(int... indexes) Sets the selected indices.void
setSelectedValues
(V... values) Sets the selected values.void
setValidator
(Validator<V> newValidator) Sets the validator.void
Sets the new value.void
setValueDisplayed
(V value, boolean newDisplayed) Sets the displayed status of the first occurrence of a given value.void
setValueEnabled
(V value, boolean newEnabled) Sets the enabled status of the first occurrence of a given value.void
setValueRepresentationStrategy
(ListSelectControl.ValueRepresentationStrategy<V> newValueRepresentationStrategy) Sets the strategy used to generate a component to represent each value in the model.int
size()
subList
(int fromIndex, int toIndex) Object[]
toArray()
<T> T[]
toArray
(T[] array) boolean
validate()
Validates the user input of this component and all child components.void
Validates the value of this model, throwing an exception if the model is not valid.Methods inherited from class io.guise.framework.component.AbstractCompositeStateControl
determineStatus, getEnableable, getStatus, isEnabled, setEnabled, setNotification, setStatus, updateStatus, updateValid
Methods inherited from class io.guise.framework.component.AbstractCompositeStateComponent
clearComponentStates, determineComponentState, getComponentState, getComponentStates, getObject, putComponentState, removeComponentState
Methods inherited from class io.guise.framework.component.AbstractMultipleCompositeComponent
addComponent, getChildComponents, hasChildComponents, removeComponent
Methods inherited from class io.guise.framework.component.AbstractCompositeComponent
addCompositeComponentListener, childComponentValidPropertyChanged, determineChildrenValid, dispatchInputEvent, dispatchInputEvent, fireChildComponentAdded, fireChildComponentAdded, fireChildComponentRemoved, fireChildComponentRemoved, initializeChildComponent, loadPreferences, removeCompositeComponentListener, resetTheme, savePreferences, uninitializeChildComponent, updateTheme, validateChildren
Methods inherited from class io.guise.framework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, depict, equals, exportTransfer, fireInputEvent, fireNotified, fireNotified, getAncestor, getCommandListeners, getComponentByID, getComponentByName, getComponentOrientation, getConstraints, getDepictID, getDepictor, getDescription, getDescriptionContentType, getDirtyComponents, getDirtyComponents, getEventListenerManager, getFlyoverStrategy, getGlyphURI, getInfo, getInfoContentType, getInfoModel, getInputStrategy, getKeyListeners, getLabel, getLabelContentType, getMouseListeners, getName, getNotification, getNotifications, getNotifications, getOrientation, getParent, getPreferenceProperties, getRootComponent, getTheme, hasAncestor, hasCommandListeners, hashCode, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, notify, processEvent, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, setConstraints, setDepicted, setDescription, setDescriptionContentType, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setGlyphURI, setInfo, setInfoContentType, setInputStrategy, setLabel, setLabelContentType, setName, setOrientation, setParent, setThemeApplied, setValid, toString, update
Methods inherited from class io.guise.framework.model.ui.AbstractPresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
Methods inherited from class io.guise.framework.event.GuiseBoundPropertyObject
getSession
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.clogr.Clogged
getLogger
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface io.guise.framework.component.Component
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, dispatchInputEvent, exportTransfer, fireInputEvent, getAncestor, getComponentOrientation, getConstraints, getDepictor, getFlyoverStrategy, getInputStrategy, getName, getNotification, getOrientation, getParent, getPreferenceProperties, getTheme, hasCommandListeners, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, loadPreferences, notify, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, resetTheme, savePreferences, setConstraints, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setInputStrategy, setName, setNotification, setOrientation, setParent, setThemeApplied, updateTheme
Methods inherited from interface io.guise.framework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
Methods inherited from interface io.guise.framework.model.Enableable
isEnabled, setEnabled
Methods inherited from interface io.guise.framework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
Methods inherited from interface io.guise.framework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
Methods inherited from interface java.util.List
equals, hashCode, replaceAll, sort, spliterator
Methods inherited from interface io.guise.framework.model.ui.PresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getSession, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
Methods inherited from interface com.globalmentor.beans.PropertyBindable
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
Methods inherited from interface com.globalmentor.beans.PropertyConstrainable
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, hasVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
Constructor Details
-
AbstractListSelectControl
public AbstractListSelectControl(ListSelectModel<V> listSelectModel, ListSelectControl.ValueRepresentationStrategy<V> valueRepresentationStrategy) List select model and value representation strategy constructor.- Parameters:
listSelectModel
- The component list select model.valueRepresentationStrategy
- The strategy to create controls to represent this model's values.- Throws:
NullPointerException
- if the given list select model and/or value representation strategy isnull
.
-
-
Method Details
-
getListSelectModel
- Returns:
- The list select model used by this component.
-
getValueRepresentationStrategy
- Specified by:
getValueRepresentationStrategy
in interfaceListSelectControl<V>
- Returns:
- The strategy used to generate a component to represent each value in the model.
-
setValueRepresentationStrategy
public void setValueRepresentationStrategy(ListSelectControl.ValueRepresentationStrategy<V> newValueRepresentationStrategy) Description copied from interface:ListSelectControl
Sets the strategy used to generate a component to represent each value in the model. This is a bound property- Specified by:
setValueRepresentationStrategy
in interfaceListSelectControl<V>
- Parameters:
newValueRepresentationStrategy
- The new strategy to create components to represent this model's values.- See Also:
-
getComponent
Retrieves the component for the given object. If no component yet exists for the given object, one will be created.This version is provided to allow public access.
- Specified by:
getComponent
in interfaceListSelectControl<V>
- Overrides:
getComponent
in classAbstractCompositeStateComponent<V,
AbstractListSelectControl.ValueComponentState> - Parameters:
value
- The object for which a representation component should be returned.- Returns:
- The child component representing the given object.
-
createComponentState
Description copied from class:AbstractCompositeStateComponent
Creates a component state to represent the given object.- Specified by:
createComponentState
in classAbstractCompositeStateComponent<V,
AbstractListSelectControl.ValueComponentState> - Parameters:
value
- The object with which the component state is to be associated.- Returns:
- The component state to represent the given object.
-
firePropertyChange
This version first updates the valid status if the value is reported as being changed.
- Overrides:
firePropertyChange
in classcom.globalmentor.beans.BoundPropertyObject
-
determineValid
protected boolean determineValid()Checks the state of the component for validity. This version returnstrue
.This version calls
AbstractCompositeComponent.determineChildrenValid()
.This version performs no additional checks if the control is disabled.
- Overrides:
determineValid
in classAbstractCompositeComponent
- Returns:
true
if the component and all children passes all validity tests, elsefalse
.
-
validate
public boolean validate()Validates the user input of this component and all child components. The component will be updated with error information.This version clears all notifications. This version calls
AbstractComponent.updateValid()
.This version first calls
AbstractCompositeComponent.validateChildren()
so that all children will be validated before checks are performed on this component.This version validates the associated list select model. This version performs no additional checks if the control is disabled.
- Specified by:
validate
in interfaceComponent
- Overrides:
validate
in classAbstractCompositeComponent
- Returns:
- The current state of
Component.isValid()
as a convenience.
-
reset
public void reset()Resets the control to its default value.This version clears any notification.
This version resets the control value.
- Specified by:
reset
in interfaceControl
- Overrides:
reset
in classAbstractCompositeStateControl<V,
AbstractListSelectControl.ValueComponentState> - See Also:
-
getDefaultValue
- Specified by:
getDefaultValue
in interfaceValueModel<V>
- Returns:
- The default value.
-
getValue
- Specified by:
getValue
in interfacecom.globalmentor.model.Valued<V>
- Specified by:
getValue
in interfaceValuedComponent<V>
- Specified by:
getValue
in interfaceValueModel<V>
- Returns:
- The input value, or
null
if there is no input value.
-
setValue
Description copied from interface:ValueModel
Sets the new value. This is a bound property that only fires a change event when the new value is different via theequals()
method. If a validator is installed, the value will first be validated before the current value is changed. Validation always occurs if a validator is installed, even if the value is not changing. If the value change is vetoed by the installed validator, the validation exception will be accessible viaThrowable.getCause()
.- Specified by:
setValue
in interfacecom.globalmentor.model.MutableValued<V>
- Specified by:
setValue
in interfaceValuedComponent<V>
- Specified by:
setValue
in interfaceValueModel<V>
- Parameters:
newValue
- The new value.- Throws:
PropertyVetoException
- if the provided value is not valid or the change has otherwise been vetoed.- See Also:
-
clearValue
public void clearValue()Description copied from interface:ValueModel
Clears the value by setting the value tonull
, which may be invalid according to any installed validators. No validation occurs.- Specified by:
clearValue
in interfaceValueModel<V>
- See Also:
-
resetValue
public void resetValue()Description copied from interface:ValueModel
Resets the value to a default value, which may be invalid according to any installed validators. No validation occurs.- Specified by:
resetValue
in interfaceValueModel<V>
- See Also:
-
getValidator
- Specified by:
getValidator
in interfaceValueModel<V>
- Returns:
- The validator for this model, or
null
if no validator is installed.
-
setValidator
Description copied from interface:ValueModel
Sets the validator. This is a bound property- Specified by:
setValidator
in interfaceValueModel<V>
- Parameters:
newValidator
- The validator for this model, ornull
if no validator should be used.- See Also:
-
isValidValue
public boolean isValidValue()Description copied from interface:ValueModel
Determines whether the value of this model is valid.- Specified by:
isValidValue
in interfaceValueModel<V>
- Returns:
- Whether the value of this model is valid.
-
validateValue
Description copied from interface:ValueModel
Validates the value of this model, throwing an exception if the model is not valid.- Specified by:
validateValue
in interfaceValueModel<V>
- Throws:
ValidationException
- if the value of this model is not valid.
-
getValueClass
- Specified by:
getValueClass
in interfaceValuedComponent<V>
- Specified by:
getValueClass
in interfaceValueModel<V>
- Returns:
- The class representing the type of value this model can hold.
-
replace
Description copied from interface:SelectModel
Replaces the first occurrence in the of the given value with its replacement. This method ensures that another thread does not change the model while the search and replace operation occurs.- Specified by:
replace
in interfaceSelectModel<V>
- Parameters:
oldValue
- The value for which to search.newValue
- The replacement value.- Returns:
- Whether the operation resulted in a modification of the model.
-
getSelectedValue
Description copied from interface:SelectModel
Determines the selected value. This method delegates to the selection strategy. If more than one value is selected, the lead selected value will be returned.- Specified by:
getSelectedValue
in interfaceSelectModel<V>
- Returns:
- The value currently selected, or
null
if no value is currently selected.
-
getSelectedValues
Description copied from interface:SelectModel
Determines the selected values. This method delegates to the selection strategy.- Specified by:
getSelectedValues
in interfaceSelectModel<V>
- Returns:
- The values currently selected.
-
setSelectedValues
Description copied from interface:SelectModel
Sets the selected values. If a value occurs more than one time in the model, all occurrences of the value will be selected. Values that do not occur in the select model will be ignored. If the value change is vetoed by the installed validator, the validation exception will be accessible viaThrowable.getCause()
. This method delegates to the selection strategy.- Specified by:
setSelectedValues
in interfaceSelectModel<V>
- Parameters:
values
- The values to select.- Throws:
PropertyVetoException
- if the provided value is not valid or the change has otherwise been vetoed.
-
getSelectionPolicy
- Specified by:
getSelectionPolicy
in interfaceListSelectModel<V>
- Returns:
- The selection policy for this model.
-
getSelectedIndex
public int getSelectedIndex()Description copied from interface:ListSelectModel
Determines the selected index. If more than one index is selected, the lead selected index will be returned.- Specified by:
getSelectedIndex
in interfaceListSelectModel<V>
- Returns:
- The index currently selected, or -1 if no index is selected.
- See Also:
-
getSelectedIndexes
public int[] getSelectedIndexes()Description copied from interface:ListSelectModel
Determines the selected indices.- Specified by:
getSelectedIndexes
in interfaceListSelectModel<V>
- Returns:
- The indices currently selected.
- See Also:
-
setSelectedIndexes
Description copied from interface:ListSelectModel
Sets the selected indices. Invalid and duplicate indices will be ignored. If the value change is vetoed by the installed validator, the validation exception will be accessible viaThrowable.getCause()
.- Specified by:
setSelectedIndexes
in interfaceListSelectModel<V>
- Parameters:
indexes
- The indices to select.- Throws:
PropertyVetoException
- if the provided value is not valid or the change has otherwise been vetoed.- See Also:
-
addSelectedIndexes
Description copied from interface:ListSelectModel
Adds a selection at the given indices. Any invalid indices will be ignored. If the value change is vetoed by the installed validator, the validation exception will be accessible viaThrowable.getCause()
.- Specified by:
addSelectedIndexes
in interfaceListSelectModel<V>
- Parameters:
indexes
- The indices to add to the selection.- Throws:
PropertyVetoException
- if the provided value is not valid or the change has otherwise been vetoed.- See Also:
-
removeSelectedIndexes
Description copied from interface:ListSelectModel
Removes a selection at the given indices. Any invalid indices will be ignored. If the value change is vetoed by the installed validator, the validation exception will be accessible viaThrowable.getCause()
.- Specified by:
removeSelectedIndexes
in interfaceListSelectModel<V>
- Parameters:
indexes
- The indices to remove from the selection.- Throws:
PropertyVetoException
- if the provided value is not valid or the change has otherwise been vetoed.- See Also:
-
isValueDisplayed
Description copied from interface:ListSelectModel
Determines the displayed status of the first occurrence of a given value.- Specified by:
isValueDisplayed
in interfaceListSelectModel<V>
- Parameters:
value
- The value for which the displayed status is to be determined.- Returns:
true
if the value is displayed, elsefalse
.
-
setValueDisplayed
Description copied from interface:ListSelectModel
Sets the displayed status of the first occurrence of a given value. This is a bound value state property.- Specified by:
setValueDisplayed
in interfaceListSelectModel<V>
- Parameters:
value
- The value to display.newDisplayed
- Whether the value should be displayed.- See Also:
-
isIndexDisplayed
public boolean isIndexDisplayed(int index) Description copied from interface:ListSelectModel
Determines the displayed status of a given index.- Specified by:
isIndexDisplayed
in interfaceListSelectModel<V>
- Parameters:
index
- The index of the value for which the displayed status is to be determined.- Returns:
true
if the value at the given index is displayed, elsefalse
.
-
setIndexDisplayed
public void setIndexDisplayed(int index, boolean newDisplayed) Description copied from interface:ListSelectModel
Sets the displayed status of a given index. This is a bound value state property.- Specified by:
setIndexDisplayed
in interfaceListSelectModel<V>
- Parameters:
index
- The index of the value to display.newDisplayed
- Whether the value at the given index should be displayed.- See Also:
-
isValueEnabled
Description copied from interface:ListSelectModel
Determines the enabled status of the first occurrence of a given value.- Specified by:
isValueEnabled
in interfaceListSelectModel<V>
- Parameters:
value
- The value for which the enabled status is to be determined.- Returns:
true
if the value is enabled, elsefalse
.
-
setValueEnabled
Description copied from interface:ListSelectModel
Sets the enabled status of the first occurrence of a given value. This is a bound value state property.- Specified by:
setValueEnabled
in interfaceListSelectModel<V>
- Parameters:
value
- The value to enable or disable.newEnabled
- Whether the value should be enabled.- See Also:
-
isIndexEnabled
public boolean isIndexEnabled(int index) Description copied from interface:ListSelectModel
Determines the enabled status of a given index.- Specified by:
isIndexEnabled
in interfaceListSelectModel<V>
- Parameters:
index
- The index of the value for which the enabled status is to be determined.- Returns:
true
if the value at the given index is enabled, elsefalse
.
-
setIndexEnabled
public void setIndexEnabled(int index, boolean newEnabled) Description copied from interface:ListSelectModel
Sets the enabled status of a given index. This is a bound value state property.- Specified by:
setIndexEnabled
in interfaceListSelectModel<V>
- Parameters:
index
- The index of the value to enable or disable.newEnabled
- Whether the value at the given index should be enabled.- See Also:
-
addListListener
Description copied from interface:ListSelectModel
Adds a list listener.- Specified by:
addListListener
in interfaceListListenable<V>
- Specified by:
addListListener
in interfaceListSelectModel<V>
- Parameters:
listListener
- The list listener to add.
-
removeListListener
Description copied from interface:ListSelectModel
Removes a list listener.- Specified by:
removeListListener
in interfaceListListenable<V>
- Specified by:
removeListListener
in interfaceListSelectModel<V>
- Parameters:
listListener
- The list listener to remove.
-
addListSelectionListener
Description copied from interface:ListSelectModel
Adds a list selection listener.- Specified by:
addListSelectionListener
in interfaceListSelectModel<V>
- Parameters:
selectionListener
- The selection listener to add.
-
removeListSelectionListener
Description copied from interface:ListSelectModel
Removes a list selection listener.- Specified by:
removeListSelectionListener
in interfaceListSelectModel<V>
- Parameters:
selectionListener
- The selection listener to remove.
-
fireListModified
Fires an event to all registered list listeners indicating the list was modified.- Parameters:
index
- The index at which an element was added and/or removed, or -1 if the index is unknown.addedElement
- The element that was added to the list, ornull
if no element was added or it is unknown whether or which elements were added.removedElement
- The element that was removed from the list, ornull
if no element was removed or it is unknown whether or which elements were removed.- See Also:
-
fireSelectionChanged
Fires an event to all registered selection listeners indicating the selection changed.- Parameters:
addedIndex
- The index that was added to the selection, ornull
if no index was added or it is unknown whether or which indices were added.removedIndex
- The index that was removed from the list, ornull
if no index was removed or it is unknown whether or which indices were removed.- See Also:
-
size
public int size() -
isEmpty
public boolean isEmpty() -
contains
-
iterator
-
toArray
-
toArray
public <T> T[] toArray(T[] array) -
add
This version delegates to
add(int, Object)
. -
remove
-
containsAll
- Specified by:
containsAll
in interfaceCollection<V>
- Specified by:
containsAll
in interfaceList<V>
-
addAll
-
addAll
-
removeAll
-
retainAll
-
clear
public void clear() -
get
-
set
-
add
-
remove
-
indexOf
-
lastIndexOf
- Specified by:
lastIndexOf
in interfaceList<V>
-
listIterator
- Specified by:
listIterator
in interfaceList<V>
-
listIterator
- Specified by:
listIterator
in interfaceList<V>
-
subList
-