天天看點

單級VO

import java.lang.reflect.Field;

import java.lang.reflect.Method;

import javax.imageio.ImageTypeSpecifier;

class Emp{

private String name;

private String job;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getJob() {

return job;

}

public void setJob(String job) {

this.job = job;

}

@Override

public String toString() {

return "Emp [name=" + name + ", job=" + job + "]";

}

}

class Empcation{

private Emp emp=new Emp();

public void setValue(String value) throws Exception

{

BeanOperation.setBeanValue(this,value);

}

public Object getValue()

{

return new Emp();

}

}

 class BeanOperation{

public static void setBeanValue(Object actionobject,String msg) throws Exception

{

String []result=msg.split("\\|");

for(int i=0;i<result.length;i++)

{

String []temp=result[i].split(":");

String attribute =temp[0];

String value=temp[1];

String []fields=attribute.split("\\.");

Object currentObject=getObject(actionobject,fields[0]);

        setObjectvalue(currentObject,fields[1],value);

}

}

public static String initCap(String string)

{

return string.substring(0,1).toUpperCase()+string.substring(1);

}

public static Object getObject(Object obj,String attribute) throws Exception

{

String methodName="get"+initCap(attribute);

Field field =obj.getClass().getDeclaredField(attribute);

if(field==null)

{

field=obj.getClass().getField(attribute);

; }

if(field==null)

{

return null;

}

Method method=obj.getClass().getMethod(methodName);

return method.invoke(obj);

}

public static void setObjectvalue(Object obj,String attribute,String value) throws Exception

{

Field field=obj.getClass().getDeclaredField(attribute);

if(field==null)

{

field=obj.getClass().getField(attribute);

}

if(field==null)

{

return ;

}

String method="set"+initCap(value);

Method methodName1=obj.getClass().getMethod(method,field.getType());

methodName1.invoke(obj);

}

}

public class Test{

public static void main(String[] args) throws Exception {

String Value ="emp.ename:yuisama|emp.job:Java Coder";

Empcation empcation=new Empcation();

empcation.setValue(Value);

System.out.println(empcation.getValue());

}

}