@Override public Object getParamValue(String paramName) { Component component = getOwnComponent(paramName); if (component instanceof HasValue) { return ((HasValue) component).getValue(); } return null; }
/** * @deprecated Inject field instance and use typed component instead of this method. */ @Deprecated default Object getFieldValue(FieldConfig fc) { return ((HasValue) fc.getComponentNN()).getValue(); } /**
@Override public boolean isModified() { return !Objects.equals(component.getValue(), source.getValue()); }
default boolean isEmpty() { return Objects.equals(getValue(), getEmptyValue()); }
@Override public void paramChanged(Param oldParam, Param newParam) { Component oldDefaultValueComponent = defaultValueComponent; createDefaultValueComponent(); if (defaultValueComponent != null && defaultValueComponent instanceof HasValue && oldDefaultValueComponent != null && oldDefaultValueComponent instanceof HasValue) { if (oldParam.getJavaClass().equals(newParam.getJavaClass()) && defaultValueComponent.getClass().equals(oldDefaultValueComponent.getClass())) { ((HasValue) defaultValueComponent).setValue(((HasValue) oldDefaultValueComponent).getValue()); } } } });
@SuppressWarnings("unchecked") protected <T> T getValue(Component component) { if (component instanceof HasValue) { return (T) ((HasValue) component).getValue(); } else if (component instanceof ListComponent) { ListComponent list = (ListComponent) component; //noinspection unchecked return list.isMultiSelect() ? (T)list.getSelected() : (T)list.getSingleSelected(); } else { return null; } }
@Override public void write() { if (isBuffered() && isModified()) { setValueToSource(component.getValue()); } }