/**============================================================
* 版权: 久其软件 版权所有 (c)
* 包: com.jiuqi.njt.util
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2013-7-18 liyue
* ============================================================*/
package com.jiuqi.njt.util;
import java.util.ArrayList;
/**
* <p>返回对象,一般用在Validator和ValidateRule</p>
* <p>如果<font color=green>result==ture认为通过</font>,无详细信息,调用data返回null</p>
* <p>如果<font color=red>result==false认为不通过</font>,有详细信息,调用getErrorMessage()可以得到具体的错误信息,也可调用data得到字符串</p>
*
* <p>Copyright: 版权所有 (c)<br>
* Company: 久其</p>
*
* @author liyue
* @version 2013-7-18
*/
public class ReturnObject{
public String name;
public boolean isSuccess;
public Object data;
public Throwable exception;
public ReturnObject(String simpleName){
this.name = simpleName;
}
public ReturnObject(){
}
@Override
public String toString(){
return "ReturnObject [name=" + name + ", isSuccess=" + isSuccess + ", data=" + data + "]";
}
/**
* 调用这个方法会很方便的得到错误信息内容,如果校验的时候调用validator.val("sometext", false);则会把所有的出错信息都返回,用“,”分隔
* 如果返回对象result为true,返回空字符串,如果为false,返回错误信息;如果对象不是ArrayList或字符串,返回null
* @return String
*/
public String getErrorMessage(){
if(isSuccess) return "";
if(data instanceof ArrayList){
StringBuffer sb = new StringBuffer();
ArrayList<ReturnObject> rlist = (ArrayList<ReturnObject>)data;
for(ReturnObject o : rlist){
sb.append(o.getErrorMessage()).append(",");
}
return sb.toString();
}
else if(data instanceof String){
return (String)data;
}
return null;
}
public Throwable getException(){
return exception;
}
}