public class Employee implements DynaBean {
private String firstName="李";
private String lastName;
public Employee() {
} ;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName=firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName){
this.lastName=lastName;
}
private Date hireDate;
public Date getHireDate(){
return hireDate;
}
public void setHireDate(Date hireDate){
this.hireDate=hireDate;
}
private boolean manager;
public boolean isManager(){
return manager;
}
public void setManager(boolean manager){
this.manager=manager;
}
public String getFullName(){
return lastName+firstName;
}
public Employee getEmployee(int index) {
return new Employee();
}
//private Address address;
public Address getAddress(String home) {
return new Address();
}
}
public class EmployeeTest {
// public static void main(String[] args) throws Exception{
// Employee employee=new Employee();
// PropertyUtils.setSimpleProperty(employee, "firstName", "李");
// PropertyUtils.setSimpleProperty(employee, "lastName", "旭丹");
// System.out.println(PropertyUtils.getSimpleProperty(employee, "firstName")+"-"+PropertyUtils.getSimpleProperty(employee, "lastName"));
// }
// public static void main(String[] args) throws Exception {
// Employee employee=new Employee();
// int index=3;
// String emp="employee["+index+"]";
// //PropertyUtils.setIndexedProperty(employee, num, new Object[]{1,2,3});
// Employee e=(Employee) PropertyUtils.getIndexedProperty(employee, emp);
// System.out.println(e);
// }
// public static void main(String[] args) throws Exception {
// Employee employee=new Employee();
// int index=3;
// String emp="employee";
// Employee e=(Employee) PropertyUtils.getIndexedProperty(employee, emp,index);
// System.out.println(e);
// }
// public static void main(String[] args) throws Exception {
// Employee employee=new Employee();
// Address address=new Address();
// PropertyUtils.setMappedProperty(employee, "address", "address", address);
// //System.out.println(PropertyUtils.getMappedProperty(employee, "address()"));
// }
// public static void main(String[] args) throws Exception {
// Employee emp=new Employee();
// String city=(String) PropertyUtils.getNestedProperty(emp, "address(home).city");
// System.out.println(city);
// }
// public static void main(String[] args) throws Exception {
// Employee emp=new Employee();
// String city=(String) PropertyUtils.getProperty(emp, "employee[3].address(home).city");
// System.out.println(city);
// }
// public static void main(String[] args) {
// DynaBean emp=new Employee();
// System.out.println(emp.get("firstName"));
// System.out.println(emp.get("address", "home"));
// System.out.println(emp.get("emp", 3));
// }
public static void main(String[] args) throws Exception {
DynaProperty[] pros=new DynaProperty[]{
new DynaProperty("address",com.dan.entity.Address.class),
new DynaProperty("employee",com.dan.entity.Employee[].class),
new DynaProperty("firstName",String.class)
};
BasicDynaClass dynaBean=new BasicDynaClass("employee",null,pros);
DynaBean dyna= dynaBean.newInstance();
dyna.set("firstName", "李");
System.out.println(dyna.get("firstName"));
}
}