Package com.storedobject.ui.inventory
Class AssemblyItemField<I extends InventoryItem>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<com.vaadin.flow.component.customfield.CustomField<I>,I>
com.vaadin.flow.component.customfield.CustomField<I>
com.storedobject.vaadin.CustomField<I>
com.storedobject.ui.inventory.AssemblyItemField<I>
- Type Parameters:
I
- Type of inventory item to accept.
- All Implemented Interfaces:
FilterMethods<I>
,ObjectGetter<I>
,ObjectSetter<I>
,ItemInput<I>
,ObjectInput<I>
,ObjectProvider<I>
,AbstractObjectInput<I>
,HasElement
,HasThemeStyle
,ValueRequired
,com.vaadin.flow.component.AttachNotifier
,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.customfield.CustomField<I>>
,com.vaadin.flow.component.DetachNotifier
,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.customfield.CustomField<I>>
,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.customfield.CustomField<I>>
,com.vaadin.flow.component.HasElement
,com.vaadin.flow.component.HasEnabled
,com.vaadin.flow.component.HasHelper
,com.vaadin.flow.component.HasLabel
,com.vaadin.flow.component.HasPlaceholder
,com.vaadin.flow.component.HasSize
,com.vaadin.flow.component.HasStyle
,com.vaadin.flow.component.HasTheme
,com.vaadin.flow.component.HasValidation
,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<I>,
,I>, I> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<I>,
,I>, I> com.vaadin.flow.component.shared.HasTooltip
,com.vaadin.flow.component.shared.HasValidationProperties
,com.vaadin.flow.component.shared.InputField<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<I>,
,I>, I> Serializable
,Consumer<I>
public class AssemblyItemField<I extends InventoryItem>
extends CustomField<I>
implements ItemInput<I>
Field to accept an item that is fitted on an assembly.
- Author:
- Syam
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,
V> Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>
Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
com.vaadin.flow.component.HasValue.ValueChangeEvent<V>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
-
Constructor Summary
ConstructorsConstructorDescriptionAssemblyItemField
(Class<I> objectClass) Constructor.AssemblyItemField
(Class<I> objectClass, boolean allowAny) Constructor.AssemblyItemField
(String label, Class<I> objectClass) Constructor.AssemblyItemField
(String label, Class<I> objectClass, boolean allowAny) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
This method is called whenever a filter condition is changed.protected I
Get the currently cached object.com.vaadin.flow.component.Component
Get the component that is currently displaying details of the object value.Get the consumer that is currently consuming details of the object value.Get the internal label of this field.Get the load filter.Get the current object.Class of the object supported in this input field.Get theId
of the current object.ObjectProvider
<? extends InventoryItemType> Get the P/N provider of this.getValue()
Get the current value.boolean
Whether this field allows any derived object values or not.void
load
(ObjectIterator<I> objects) Load allowed values from a list.void
reload()
Reload the allowed values by applying newly set filters.<IT extends InventoryItemType>
voidsetAssembly
(InventoryItem assemblyParent) Set the parent assembly.void
setDetailComponent
(com.vaadin.flow.component.Component detailComponent) Set a component that will display details of the object value.void
setDisplayDetail
(Consumer<I> displayDetail) Set a consumer that can display/consume the details of the object value.void
setEnabled
(boolean enabled) Enable/disable this field.void
setExtraFilterProvider
(FilterProvider extraFilterProvider) This method doesn't have any effect.void
setInternalLabel
(String label) Set the internal label for this field.void
setItemLabelGenerator
(com.vaadin.flow.component.ItemLabelGenerator<I> itemLabelGenerator) Set an "item label generator" that returns the string value of the object value of this field.void
setLocation
(InventoryLocation location) This method doesn't have any effect.void
setLocation
(ObjectProvider<? extends InventoryLocation> locationField) This method doesn't have any effect.void
setPrefixFieldControl
(boolean prefixFieldControl) Decide whether "prefix components" needs to be controlled by this field or not.protected void
setPresentationValue
(I item) void
setReadOnly
(boolean readOnly) Make this field read-only.void
setStore
(InventoryStore store) This method doesn't have any effect.void
setStore
(ObjectProvider<? extends InventoryStore> storeField) This method doesn't have any effect.Methods inherited from class com.storedobject.vaadin.CustomField
addField, addField, focus
Methods inherited from class com.vaadin.flow.component.customfield.CustomField
add, addThemeVariants, getLabel, onAttach, remove, removeThemeVariants, setLabel, updateValue
Methods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, isEmpty, setModelValue, setValue, valueEquals
Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.storedobject.ui.util.AbstractObjectInput
applyFilterPredicate, convert, focus, getObject, getObjectId, setCached, setObject
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
Methods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListener
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
Methods inherited from interface com.storedobject.core.FilterMethods
getEffectiveCondition, getFilterCondition, setFilter, setFilter, setFilter, setFilter, setFilter, setFilter, setLoadFilter, setLoadFilter, setViewFilter, setViewFilter
Methods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, getTabIndex, setTabIndex
Methods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListener
Methods inherited from interface com.storedobject.vaadin.HasElement
getAttribute, getStyle, setAttribute, setStyle
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled
Methods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperText
Methods inherited from interface com.vaadin.flow.component.HasLabel
getLabel, setLabel
Methods inherited from interface com.vaadin.flow.component.HasPlaceholder
getPlaceholder, setPlaceholder
Methods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
Methods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
Methods inherited from interface com.storedobject.vaadin.HasThemeStyle
addTheme, asPrimary, asSmall, clearThemes, getInternalElement, removeTheme, setTheme
Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipText
Methods inherited from interface com.vaadin.flow.component.HasValidation
setManualValidation
Methods inherited from interface com.vaadin.flow.component.shared.HasValidationProperties
getErrorMessage, isInvalid, setErrorMessage, setInvalid
Methods inherited from interface com.vaadin.flow.component.HasValue
addValueChangeListener, clear, getEmptyValue, getOptionalValue, isEmpty, setValue
Methods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setRequiredIndicatorVisible
Methods inherited from interface com.storedobject.ui.ObjectInput
getSearcher, setObject, setObjectClass, setValue, setValue
Methods inherited from interface com.storedobject.core.ObjectSetter
accept
Methods inherited from interface com.storedobject.vaadin.ValueRequired
isRequired, setRequired
-
Constructor Details
-
AssemblyItemField
Constructor.- Parameters:
objectClass
- Class of theInventoryItem
objects that are valid.
-
AssemblyItemField
Constructor.- Parameters:
label
- Label for the field.objectClass
- Class of theInventoryItem
objects that are valid.
-
AssemblyItemField
Constructor.- Parameters:
objectClass
- Class of theInventoryItem
objects that are valid.allowAny
- Whether subclasses should be allowed or not.
-
AssemblyItemField
Constructor.- Parameters:
label
- Label for the field.objectClass
- Class of theInventoryItem
objects that are valid.allowAny
- Whether subclasses should be allowed or not.
-
-
Method Details
-
setStore
This method doesn't have any effect.- Specified by:
setStore
in interfaceItemInput<I extends InventoryItem>
- Parameters:
storeField
- Any provider that can supply anInventoryStore
instance.
-
setStore
This method doesn't have any effect.- Specified by:
setStore
in interfaceItemInput<I extends InventoryItem>
- Parameters:
store
- An instance ofInventoryStore
.
-
setLocation
This method doesn't have any effect.- Specified by:
setLocation
in interfaceItemInput<I extends InventoryItem>
- Parameters:
locationField
- Any provider that can supply anInventoryLocation
instance.
-
setLocation
This method doesn't have any effect.- Specified by:
setLocation
in interfaceItemInput<I extends InventoryItem>
- Parameters:
location
- An instance of anInventoryLocation
.
-
setExtraFilterProvider
This method doesn't have any effect.- Specified by:
setExtraFilterProvider
in interfaceItemInput<I extends InventoryItem>
- Parameters:
extraFilterProvider
- Extra filter to be set.
-
getPartNumberProvider
Description copied from interface:ItemInput
Get the P/N provider of this.- Specified by:
getPartNumberProvider
in interfaceItemInput<I extends InventoryItem>
- Returns:
- P/N provider.
-
setAssembly
Set the parent assembly.- Type Parameters:
IT
- The item type.- Parameters:
assemblyParent
- Parent assembly to set.
-
setInternalLabel
Description copied from interface:ObjectInput
Set the internal label for this field. Internal labels are used by the embedded field within this field.- Specified by:
setInternalLabel
in interfaceObjectInput<I extends InventoryItem>
- Parameters:
label
- Label.
-
getInternalLabel
Description copied from interface:ObjectInput
Get the internal label of this field. Internal labels are used by the embedded field within this field.- Specified by:
getInternalLabel
in interfaceObjectInput<I extends InventoryItem>
- Returns:
- Label.
-
load
Description copied from interface:ObjectInput
Load allowed values from a list. Once invoked, only this list will be used for showing the allowed objects that can be selected via this field.- Specified by:
load
in interfaceObjectInput<I extends InventoryItem>
- Parameters:
objects
- Objects to load.
-
reload
public void reload()Description copied from interface:ObjectInput
Reload the allowed values by applying newly set filters.- Specified by:
reload
in interfaceObjectInput<I extends InventoryItem>
-
getObjectClass
Description copied from interface:AbstractObjectInput
Class of the object supported in this input field.- Specified by:
getObjectClass
in interfaceAbstractObjectInput<I extends InventoryItem>
- Specified by:
getObjectClass
in interfaceObjectGetter<I extends InventoryItem>
- Specified by:
getObjectClass
in interfaceObjectProvider<I extends InventoryItem>
- Specified by:
getObjectClass
in interfaceObjectSetter<I extends InventoryItem>
- Returns:
- Class of the supported object.
-
getCached
Description copied from interface:AbstractObjectInput
Get the currently cached object.- Specified by:
getCached
in interfaceAbstractObjectInput<I extends InventoryItem>
- Returns:
- Object that is currently cached. It may return
null
.
-
setDetailComponent
public void setDetailComponent(com.vaadin.flow.component.Component detailComponent) Description copied from interface:AbstractObjectInput
Set a component that will display details of the object value.- Specified by:
setDetailComponent
in interfaceAbstractObjectInput<I extends InventoryItem>
- Parameters:
detailComponent
- A component that can display information regarding the object.
-
getDetailComponent
public com.vaadin.flow.component.Component getDetailComponent()Description copied from interface:AbstractObjectInput
Get the component that is currently displaying details of the object value.- Specified by:
getDetailComponent
in interfaceAbstractObjectInput<I extends InventoryItem>
- Returns:
- Component that is displaying the details.
-
setDisplayDetail
Description copied from interface:AbstractObjectInput
Set a consumer that can display/consume the details of the object value.- Specified by:
setDisplayDetail
in interfaceAbstractObjectInput<I extends InventoryItem>
- Parameters:
displayDetail
- A consumer that can accept the object value.
-
getDisplayDetail
Description copied from interface:AbstractObjectInput
Get the consumer that is currently consuming details of the object value.- Specified by:
getDisplayDetail
in interfaceAbstractObjectInput<I extends InventoryItem>
- Returns:
- Consumer that is currently set.
-
setPrefixFieldControl
public void setPrefixFieldControl(boolean prefixFieldControl) Description copied from interface:AbstractObjectInput
Decide whether "prefix components" needs to be controlled by this field or not. "Prefix components" are parts of the field that display extra information, and it needs to be turned on or off when the status of the field changes via methods such asAbstractObjectInput.setEnabled(boolean)
,AbstractObjectInput.setReadOnly(boolean)
etc. In some cases, prefix components may be displayed elsewhere and needs to be controlled outside the field.- Specified by:
setPrefixFieldControl
in interfaceAbstractObjectInput<I extends InventoryItem>
- Parameters:
prefixFieldControl
- True if it needs to be controlled by this field.
-
applyFilter
public void applyFilter()Description copied from interface:FilterMethods
This method is called whenever a filter condition is changed. Methods with default implementation already invoke this method. If any of those methods are overridden, make sure that it invokes this method so that logic to handle filter changes can be coded here.- Specified by:
applyFilter
in interfaceFilterMethods<I extends InventoryItem>
-
getLoadFilter
Description copied from interface:FilterMethods
Get the load filter.- Specified by:
getLoadFilter
in interfaceFilterMethods<I extends InventoryItem>
- Returns:
- Current load filter.
-
generateModelValue
- Specified by:
generateModelValue
in classcom.vaadin.flow.component.customfield.CustomField<I extends InventoryItem>
-
setPresentationValue
- Specified by:
setPresentationValue
in classcom.vaadin.flow.component.customfield.CustomField<I extends InventoryItem>
-
getValue
Description copied from interface:ObjectInput
Get the current value.- Specified by:
getValue
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<I extends InventoryItem>,
I extends InventoryItem>, I extends InventoryItem> - Specified by:
getValue
in interfaceObjectInput<I extends InventoryItem>
- Overrides:
getValue
in classcom.vaadin.flow.component.AbstractField<com.vaadin.flow.component.customfield.CustomField<I extends InventoryItem>,
I extends InventoryItem> - Returns:
- Value.
-
getObject
Description copied from interface:ObjectInput
Get the current object. Same asObjectInput.getValue()
.- Specified by:
getObject
in interfaceAbstractObjectInput<I extends InventoryItem>
- Specified by:
getObject
in interfaceObjectGetter<I extends InventoryItem>
- Specified by:
getObject
in interfaceObjectInput<I extends InventoryItem>
- Specified by:
getObject
in interfaceObjectProvider<I extends InventoryItem>
- Returns:
- Current object.
-
getObjectId
Description copied from interface:AbstractObjectInput
Get theId
of the current object.- Specified by:
getObjectId
in interfaceAbstractObjectInput<I extends InventoryItem>
- Specified by:
getObjectId
in interfaceObjectGetter<I extends InventoryItem>
- Specified by:
getObjectId
in interfaceObjectProvider<I extends InventoryItem>
- Returns:
Id
ornull
if no object is currently set.
-
isAllowAny
public boolean isAllowAny()Description copied from interface:AbstractObjectInput
Whether this field allows any derived object values or not.- Specified by:
isAllowAny
in interfaceAbstractObjectInput<I extends InventoryItem>
- Specified by:
isAllowAny
in interfaceObjectGetter<I extends InventoryItem>
- Specified by:
isAllowAny
in interfaceObjectSetter<I extends InventoryItem>
- Returns:
- True or false.
-
setItemLabelGenerator
public void setItemLabelGenerator(com.vaadin.flow.component.ItemLabelGenerator<I> itemLabelGenerator) Description copied from interface:AbstractObjectInput
Set an "item label generator" that returns the string value of the object value of this field. (It is mainly used to display the object).- Specified by:
setItemLabelGenerator
in interfaceAbstractObjectInput<I extends InventoryItem>
- Parameters:
itemLabelGenerator
- Item value generator.
-
setReadOnly
public void setReadOnly(boolean readOnly) Description copied from interface:AbstractObjectInput
Make this field read-only.- Specified by:
setReadOnly
in interfaceAbstractObjectInput<I extends InventoryItem>
- Specified by:
setReadOnly
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<I extends InventoryItem>,
I extends InventoryItem>, I extends InventoryItem> - Specified by:
setReadOnly
in interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<I extends InventoryItem>,
I extends InventoryItem>, I extends InventoryItem> - Parameters:
readOnly
- True to set as read-only.
-
setEnabled
public void setEnabled(boolean enabled) Description copied from interface:AbstractObjectInput
Enable/disable this field.- Specified by:
setEnabled
in interfaceAbstractObjectInput<I extends InventoryItem>
- Specified by:
setEnabled
in interfacecom.vaadin.flow.component.HasEnabled
- Parameters:
enabled
- True for enabling.
-