У меня есть некоторые проблемы.Eclipse Scout пользовательский объект в форме данных
У меня есть некоторый объект:
public class TestParameter {
private Long par1;
private Long par2;
public Long getPar1() {
return par1;
}
public void setPar1(final Long par1) {
this.par1 = par1;
}
public Long getPar2() {
return par2;
}
public void setPar2(final Long par2) {
this.par2 = par2;
}
}
И у меня есть форма с этим бобом:
@FormData(value = PurchaseConditionsEditFormData.class, sdkCommand = FormData.SdkCommand.CREATE)
public class TestForm extends AbstractForm {
private TestParameter m_testParameter;
@FormData
public TestParameter getTestParameter() {
return m_testParameter;
}
@FormData
public void setTestParameter(final TestParameter testParameter) {
m_testParameter = testParameter;
}
}
Моей проблема заключается в том, что я могу использовать это в данной форме, так как внутри данных формы этого создаются
/**
* access method for property TestParameter.
*/
public TestParameter getTestParameter() {
return getSearchParameterProperty().getValue();
}
/**
* access method for property TestParameter.
*/
public void setSearchParameter(TestParameter testParameter) {
getTestParameterProperty().setValue(testParameter);
}
public TestParameterProperty getTestParameterProperty() {
return getPropertyByClass(TestParameterProperty.class);
}
public static class TestParameterProperty extends
AbstractPropertyData<TestParameter> {
private static final long serialVersionUID = 1L;
public TestParameterProperty() {
}
}
Проблема заключается в том, что setSearchParameter() никогда не вызывается, и что getTestParameterProperty() возвращает объект со значением = null.
Как это исправить?
Я знаю, что грязным решением было бы поместить все объекты вне объекта и непосредственно в форму, но я не хочу этого решения.
Абсолютно, если вы используете конкретный тип как значение поля или переменную в своей форме, он должен быть «Serializable». Вы узнаете, глядя на Stacktrace. Кроме того, я могу сказать, что 'getTestParameter()' и 'setTestParameter (..)' никогда не вызываются, потому что 'importFormData (..)' и 'exportFormData (..)' используют reflexion для получения и установки значений между 'Form' и 'FormData'. – Jmini