/** * * 日 期:12-2-23 */ package com.rop.response; import com.rop.security.MainError; import com.rop.security.SubError; import com.rop.security.SubErrorType; import com.rop.security.SubErrors; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.Locale; /** * <pre> * 功能说明: * </pre> * * @author 陈雄华 * @version 1.0 */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "error") public class NotExistErrorResponse extends ErrorResponse { public static final String ISV = "isv."; public static final String NOT_EXIST_INVALID = "-not-exist:invalid-"; //注意,这个不能删除,否则无法进行流化 public NotExistErrorResponse() { } /** * 对象不存在的错误对象。当根据<code>queryFieldName</code>查询<code>objectName</code>时,查不到记录,则返回该错误对象。 * * @param objectName 对象的名称 * @param queryFieldName 查询字段的名称 * @param locale 本地化对象 * @param params 错误信息的参数,如错误消息的值为:use '{0}'({1})can't find '{2}' object ,则传入的参数为001时,错误消息格式化为: * can't find user by 001 */ public NotExistErrorResponse(String objectName, String queryFieldName, Object queryFieldValue, Locale locale) { MainError mainError = SubErrors.getMainError(SubErrorType.ISV_NOT_EXIST, locale); String subErrorCode = SubErrors.getSubErrorCode(SubErrorType.ISV_NOT_EXIST, objectName, queryFieldName); SubError subError = SubErrors.getSubError(subErrorCode, SubErrorType.ISV_NOT_EXIST.value(), locale, queryFieldName, queryFieldValue,objectName); ArrayList<SubError> subErrors = new ArrayList<SubError>(); subErrors.add(subError); setMainError(mainError); setSubErrors(subErrors); } }