package org.example.testapp.pages;
import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.alerts.Duration;
import org.apache.tapestry5.alerts.Severity;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.ClientValidation;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.example.testapp.entities.ComplexBean;
import org.example.testapp.entities.SomeSimpleBean;
public class NestedObjectDemo
{
@Property
@Persist
private ComplexBean complexBean;
@Property
@Persist
private String notNullString;
@Inject
private AlertManager alertManager;
@Property
private boolean enableClientValidation;
public void onActivate(boolean enableClientValidation) {
this.enableClientValidation = enableClientValidation;
if (complexBean == null) {
complexBean = new ComplexBean();
SomeSimpleBean otherSimpleBean = new SomeSimpleBean();
complexBean.setOtherSimpleBean(otherSimpleBean);
}
}
void onSuccess() {
alertManager.alert(Duration.TRANSIENT, Severity.SUCCESS, "Validation passed");
}
public ClientValidation getClientValidation() {
return enableClientValidation ? ClientValidation.SUBMIT : ClientValidation.NONE;
}
Boolean onPassivate() {
return enableClientValidation;
}
}