マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

PropertyModelの謎

下のような2つのクラスがあったときに、CheckのsetCheckedがないとsubmit時にエラーがでるのにisCheckedはなくても(下のクラスもisCheckedを使わないように修正する)エラーにならないのは何でだろう?CheckBoxの状態を調べるときにisCheckedは見ないで変数を直接見に行ってるのだろうか?

public class Check {
    private boolean checked;

    public Check(){
        checked = true;
    }

    public void setChecked(boolean checked){
        this.checked = checked;
    }

    public boolean isChecked(){
        return this.checked;
    }
}
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.PropertyModel;

public class PropertyModelTestPage extends WebPage{
    private Check check;

    public PropertyModelTestPage(){
        check = new Check();

        Form<Void> form = new Form<Void>("form");
        CheckBox checkbox = new CheckBox("checkbox", new PropertyModel<Boolean>(check, "checked"));

        Label checkedLabel = new Label("label", new AbstractReadOnlyModel<String>(){
           @Override
           public String getObject(){
               return check.isChecked() ? "true" : "false";
           }
        });

        form.add(checkbox);
        add(form);
        add(checkedLabel);
    }
}