package org.zkoss.zktest.test2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.ToServerCommand;
import org.zkoss.json.JSONAware;
import org.zkoss.zk.ui.util.Clients;
@ToServerCommand("dataChange")
public class B80_ZK_3104VM {
private List<String> origList = new ArrayList<String>(Arrays.asList("\"Peter\""));
private List<String> emptyList = new ArrayList<String>();
private Pojo origPojo = new Pojo();
private SubPojo origSubPojo = new SubPojo();
private PojoJ origPojoJ = new PojoJ();
@Command
public void dataChange(@BindingParam("data") B80_ZK_3104Object data) {
Clients.log(String.valueOf(data.getType().equals("myData")));
}
@Command
public void testEmptyList(@BindingParam("list") List<String> list) {
list.add("\"Monty\"");
Clients.log(String.valueOf(list.toString().equals(emptyList.toString())));
}
@Command
public void testList(@BindingParam("list") List<String> list) {
list.add("\"Monty\"");
Clients.log(String.valueOf(list.toString().equals(origList.toString())));
}
@Command
public void testPojo(@BindingParam("pojo") Pojo pojo) {
Clients.log(String.valueOf(pojo.toString().equals(origPojo.toString())));
}
@Command
public void testPojoSub(@BindingParam("pojo") Pojo pojo) {
Clients.log(String.valueOf(pojo.toString().equals(origSubPojo.toString())));
}
@Command
public void testPojoJ(@BindingParam("pojo") PojoJ pojoJ) {
Clients.log(String.valueOf(pojoJ.toString().equals(pojoJ.toString())
&& pojoJ.toJSONString().equals(pojoJ.toJSONString())));
}
@Command
public void testPojoSubR(@BindingParam("pojo") SubPojo pojo) {
Clients.log(String.valueOf(pojo.toString().equals(origSubPojo.toString())));
}
public List<String> getOrigList() {
return origList;
}
public List<String> getEmptyList() {
return emptyList;
}
public Pojo getOrigPojo() {
return origPojo;
}
public PojoJ getOrigPojoJ() {
return origPojoJ;
}
public SubPojo getOrigSubPojo() {
return origSubPojo;
}
public class Pojo {
private String name;
public Pojo() {
}
public Pojo(String type) {
this.type = type;
}
public void setType(String type) {
this.type = type;
}
public void setName(String name) {
this.name = name;
}
private String type = "pojo";
public String getName() {
return name;
}
public String getType() {
return type;
}
@Override
public String toString() {
return getName() + " " + getType();
}
}
public class SubPojo extends Pojo {
private String type = "subpojo";
@Override
public String toString() {
return getName() + " " + getType();
}
}
public class PojoJ implements JSONAware {
private String name;
private String type = "pojojs";
public String getName() {
return name;
}
public String getType() {
return type;
}
@Override
public String toString() {
return "toString : " + getName() + " " + getType();
}
@Override
public String toJSONString() {
return "toJSONString : " + getName() + " " + getType();
}
}
}