Class ObjectGetField<T extends StoredObject>
- Type Parameters:
- T- Type of object instance accepted.
- All Implemented Interfaces:
- FilterMethods<T>,- ObjectGetter<T>,- ObjectSetter<T>,- ObjectInput<T>,- ObjectProvider<T>,- AbstractObjectInput<T>,- HasElement,- HasThemeStyle,- ValueRequired,- com.vaadin.flow.component.AttachNotifier,- com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.customfield.CustomField<T>>,- com.vaadin.flow.component.DetachNotifier,- com.vaadin.flow.component.Focusable<com.vaadin.flow.component.customfield.CustomField<T>>,- com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.customfield.CustomField<T>>,- 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<T>,,- T>, - T> - com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,,- T>, - T> - 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<T>,,- T>, - T> - Serializable,- Consumer<T>
- Direct Known Subclasses:
- BinField,- ItemField,- ItemGetField,- ItemTypeGetField,- ObjectSearcherField
StoredObjects that are searchable using some keywords.
 In order to make a StoredObject searchable using keywords, it should at least implement
 a static get(String keywords) method that returns a matching instance.
 Example: Person.get(String).
Also, it is recommended to implement a static list(String keywords) method that returns an
 iterator of all matching instances. Example: Person.list(String).
Some classes are specific to a particular SystemEntity instance and such classes should implement
 static get and list methods that take a SystemEntity as the first parameter and
 keywords ad the second parameter. Example: InventoryStore.get(SystemEntity, String),
 InventoryStore.list(SystemEntity, String)
Even if a StoredObject class is not providing the required "get" and "list" methods for
 supporting this field, it is still possible to create one by passing an implementation for the
 ObjectGetField.GetProvider interface as the parameter.
- Author:
- Syam
- See Also:
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfaceObjectGetField.GetProvider<O extends StoredObject>TheObjectGetFieldrequires a "get provider" to provide objects or list of objects based on a search text.static classObjectGetField.GetSupplier<O extends StoredObject>Implementation ofObjectGetField.GetProviderfor normalStoredObjectclasses.static classObjectGetField.GetTypedSupplier<O extends StoredObject>Implementation ofObjectGetField.GetProviderforStoredObjectclasses where additional type information is required (For example,InventoryItemrequires an instance of theInventoryItemTypewhile searching in order to narrow down the search).Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractFieldcom.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,V> Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifiercom.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifiercom.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValuecom.vaadin.flow.component.HasValue.ValueChangeEvent<V>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
- 
Constructor SummaryConstructorsConstructorDescriptionObjectGetField(Class<T> objectClass) Constructor.ObjectGetField(Class<T> objectClass, boolean allowAny) Constructor.ObjectGetField(String label, Class<T> objectClass) Constructor.ObjectGetField(String label, Class<T> objectClass, boolean allowAny) Constructor.ObjectGetField(String label, Class<T> objectClass, boolean allowAny, boolean allowAdd) Constructor.ObjectGetField(String label, Class<T> objectClass, boolean allowAny, boolean allowAdd, ObjectGetField.GetProvider<T> getProvider) Constructor.ObjectGetField(String label, Class<T> objectClass, boolean allowAny, ObjectGetField.GetProvider<T> getProvider) Constructor.
- 
Method SummaryModifier and TypeMethodDescriptionstatic <O extends StoredObject>
 booleanCheck whether an instance of theObjectGetFieldcan be created for a given object class or not.protected ObjectGetField.GetProvider<T> Create the "get" provider for this field.protected com.vaadin.flow.component.Componentprotected voiddoSearch()Do a search using the searcher component.protected booleanLoad the searcher with all the available instances.voidfocus()Focus this field.protected TGet the search field for this.voidsetNotFoundHandler(Function<String, T> notFoundHandler) voidsetNotFoundTacker(Consumer<String> notFound) Set a "not found" consumer.voidsetPlaceholder(String placeholder) protected voidsetPresentationValue(T value) Methods inherited from class com.storedobject.ui.AbstractObjectFieldapplyFilter, clear, createDefaultSearcher, createSearcher, editor, filter, filteredList, getBrowseColumns, getCached, getContent, getDetailComponent, getDisplayDetail, getInternalLabel, getLoadFilter, getObjectClass, getPrefixComponent, getSearchColumns, getSearcher, initComponent, isAllowAny, isInvalid, isRequired, load, onAttach, reget, reload, setBrowseColumns, setCached, setDetailComponent, setDisplayDetail, setEnabled, setInternalLabel, setItemLabelGenerator, setPrefixFieldControl, setReadOnly, setRequired, setSearchColumnsMethods inherited from class com.storedobject.vaadin.CustomFieldaddField, addFieldMethods inherited from class com.vaadin.flow.component.customfield.CustomFieldadd, addThemeVariants, getLabel, remove, removeThemeVariants, setLabel, updateValueMethods inherited from class com.vaadin.flow.component.AbstractFieldaddValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, setValue, valueEqualsMethods inherited from class com.vaadin.flow.component.ComponentaddListener, 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, setVisibleMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.storedobject.ui.util.AbstractObjectInputapplyFilterPredicate, convert, getObject, getObjectId, getObjectId, setObjectMethods inherited from interface com.vaadin.flow.component.AttachNotifieraddAttachListenerMethods inherited from interface com.vaadin.flow.component.BlurNotifieraddBlurListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifieraddDetachListenerMethods inherited from interface com.storedobject.core.FilterMethodsgetEffectiveCondition, getFilterCondition, setFilter, setFilter, setFilter, setFilter, setFilter, setFilter, setLoadFilter, setLoadFilter, setViewFilter, setViewFilterMethods inherited from interface com.vaadin.flow.component.FocusableaddFocusShortcut, blur, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifieraddFocusListenerMethods inherited from interface com.storedobject.vaadin.HasElementgetAttribute, getStyle, setAttribute, setStyleMethods inherited from interface com.vaadin.flow.component.HasElementgetElementMethods inherited from interface com.vaadin.flow.component.HasEnabledisEnabledMethods inherited from interface com.vaadin.flow.component.HasHelpergetHelperComponent, getHelperText, setHelperComponent, setHelperTextMethods inherited from interface com.vaadin.flow.component.HasLabelgetLabel, setLabelMethods inherited from interface com.vaadin.flow.component.HasPlaceholdergetPlaceholderMethods inherited from interface com.vaadin.flow.component.HasSizegetHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyleaddClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasThemeaddThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface com.storedobject.vaadin.HasThemeStyleaddTheme, asPrimary, asSmall, clearThemes, getInternalElement, removeTheme, setThemeMethods inherited from interface com.vaadin.flow.component.shared.HasTooltipgetTooltip, setTooltipTextMethods inherited from interface com.vaadin.flow.component.HasValidationsetManualValidationMethods inherited from interface com.vaadin.flow.component.shared.HasValidationPropertiesgetErrorMessage, setErrorMessage, setInvalidMethods inherited from interface com.vaadin.flow.component.HasValueaddValueChangeListener, getEmptyValue, getOptionalValue, getValue, isEmpty, setValueMethods inherited from interface com.vaadin.flow.component.HasValueAndElementisReadOnly, isRequiredIndicatorVisible, setRequiredIndicatorVisibleMethods inherited from interface com.storedobject.ui.ObjectInputgetObject, getValue, setObject, setObjectClass, setValue, setValueMethods inherited from interface com.storedobject.core.ObjectSetteraccept
- 
Constructor Details- 
ObjectGetField
- 
ObjectGetField
- 
ObjectGetField
- 
ObjectGetField
- 
ObjectGetFieldConstructor.- Parameters:
- label- Label for the field.
- objectClass- Class of the objects that are valid.
- allowAny- Whether subclasses should be allowed or not.
- allowAdd- Whether new object instances can be added via this field or not.
 
- 
ObjectGetFieldpublic ObjectGetField(String label, Class<T> objectClass, boolean allowAny, ObjectGetField.GetProvider<T> getProvider) Constructor.- Parameters:
- label- Label for the field.
- objectClass- Class of the objects that are valid.
- allowAny- Whether subclasses should be allowed or not.
- getProvider- "Get" provider for searching the object instances.
 
- 
ObjectGetFieldpublic ObjectGetField(String label, Class<T> objectClass, boolean allowAny, boolean allowAdd, ObjectGetField.GetProvider<T> getProvider) Constructor.- Parameters:
- label- Label for the field.
- objectClass- Class of the objects that are valid.
- allowAny- Whether subclasses should be allowed or not.
- allowAdd- Whether new object instances can be added via this field or not.
- getProvider- "Get" provider for searching the object instances.
 
 
- 
- 
Method Details- 
createGetProviderCreate the "get" provider for this field.- Returns:
- By default, it will create an instance of ObjectGetField.GetSupplier.
 
- 
createPrefixComponentprotected com.vaadin.flow.component.Component createPrefixComponent()- Specified by:
- createPrefixComponentin class- AbstractObjectField<T extends StoredObject>
 
- 
focuspublic void focus()Description copied from interface:AbstractObjectInputFocus this field.- Specified by:
- focusin interface- AbstractObjectInput<T extends StoredObject>
- Specified by:
- focusin interface- com.vaadin.flow.component.Focusable<T extends StoredObject>
- Overrides:
- focusin class- CustomField<T extends StoredObject>
 
- 
setPlaceholder
- 
getSearchFieldGet the search field for this.- Returns:
- The search field. (The default implementation invokes createPrefixComponent()to create a text field decorated with search and clear buttons).
 
- 
setNotFoundHandler
- 
generateModelValue- Specified by:
- generateModelValuein class- com.vaadin.flow.component.customfield.CustomField<T extends StoredObject>
 
- 
setNotFoundTacker
- 
doSearchprotected void doSearch()Description copied from class:AbstractObjectFieldDo a search using the searcher component.- Overrides:
- doSearchin class- AbstractObjectField<T extends StoredObject>
 
- 
doSearchLoadAllprotected boolean doSearchLoadAll()Load the searcher with all the available instances. Iftrueis returned from this method, it will be assumed that appropriate search action is already carried out.- Returns:
- True if loaded. Default implementation reapplies the filter if the load filter is dynamic and
 returns false.
 
- 
setPresentationValue- Overrides:
- setPresentationValuein class- AbstractObjectField<T extends StoredObject>
 
- 
canCreateCheck whether an instance of theObjectGetFieldcan be created for a given object class or not.- Type Parameters:
- O- Class type.
- Parameters:
- objectClass- Class of the object.
- Returns:
- True if appropriate "get" method exists. (Please see the read the documentation of this class).
 
 
-