
org.devocative.wickomp.form.range.WBaseRangeInput Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wickomp Show documentation
Show all versions of wickomp Show documentation
Web components for Apache Wicket
package org.devocative.wickomp.form.range;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.devocative.adroit.vo.IRange;
import org.devocative.adroit.vo.RangeVO;
import org.devocative.wickomp.WLabeledFormInputPanel;
import java.io.Serializable;
public abstract class WBaseRangeInput extends WLabeledFormInputPanel> {
private static final long serialVersionUID = 8954208501398056478L;
protected FormComponent lower, upper;
// ------------------------------
protected WBaseRangeInput(String id, IModel> model) {
super(id, model);
}
// ------------------------------
protected abstract FormComponent createFormComponent(String id, IModel model);
// ------------------------------
@Override
protected void onInitialize() {
super.onInitialize();
lower = createFormComponent("lower", new Model());
upper = createFormComponent("upper", new Model());
add(lower);
add(upper);
}
@Override
protected void onBeforeRender() {
IRange rangeVO = getModelObject();
if (rangeVO != null) {
lower.setModelObject(rangeVO.getLower());
upper.setModelObject(rangeVO.getUpper());
} else {
lower.setModelObject(null);
upper.setModelObject(null);
}
super.onBeforeRender();
}
protected IRange createRangeObject() {
return new RangeVO<>();
}
// ------------------------------
@Override
public void convertInput() {
T lowerValue = lower.getConvertedInput();
T upperValue = upper.getConvertedInput();
if (lowerValue != null || upperValue != null) {
IRange rangeObject = createRangeObject();
rangeObject
.setLower(lowerValue)
.setUpper(upperValue);
setConvertedInput(rangeObject);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy