Class ObjectGetField<T extends StoredObject>

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<com.vaadin.flow.component.customfield.CustomField<T>,T>
com.vaadin.flow.component.customfield.CustomField<T>
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

public class ObjectGetField<T extends StoredObject> extends AbstractObjectField<T>
A field to accept instances of 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: