All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.xmlform.XMLFormException Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
package net.sf.xmlform;

import net.sf.xmlform.data.InvalidField;
import net.sf.xmlform.data.InvalidForm;

/**
 * @author Liu Zhikun
 */

public class XMLFormException extends RuntimeException {
	final public static String OK="ok";
	final public static String SE_CONFIG_RESOURCE="s.config.resource";
	final public static String SE_TYPE_UNKNOWN="s.type.unknown";
	final public static String SE_TYPE_DEFINITION="s.type.definition";
	final public static String SE_TYPE_ATTR_INVALID="s.type.attribute.invalid";
	final public static String SE_FORM_UNKNOWN="s.form.unknown";
	final public static String SE_FORM_DEFINITION="s.form.definition";
	final public static String SE_APPLICATION="s.app";
	//final public static String SE_ACTION="s.action";
	final public static String CE_SESSSION="c.session";
	final public static String CE_ACTION_UNKNOWN="c.action.unknown";
	final public static String CE_ACTION_PERMISSION="c.action.permission";
	final public static String CE_FORM_DATA="c.form.data";
	final public static String CE_FORM_VERSION="c.form.version";
	final public static String CE_FORM_UNKNOWN="c.form.unknown";
	final public static String CE_IO="c.io";
	final public static String CE_FIELD_UNKNOWN="c.field.unknown";
	private static final long serialVersionUID = 7139116848008978051L;
	
	private String code,message;
	private InvalidForm invalidForms[]=new InvalidForm[0];

	public XMLFormException(String code,String string) {
		super(code+": "+string);
		this.code=code;
		this.message=string;
	}
	public XMLFormException(String code,String string, Throwable cause) {
		super(code+": "+string, cause);
		this.code=code;
		this.message=string;
	}
	public XMLFormException(String code,String string,InvalidForm invalidForms[]) {
		super(code+": "+string);
		this.code=code;
		this.message=string;
		this.invalidForms=invalidForms;
	}
	public XMLFormException(String code,String string,Throwable cause,InvalidForm invalidForms[]) {
		super(code+": "+string,cause);
		this.code=code;
		this.message=string;
		this.invalidForms=invalidForms;
	}
	public String getFaultCode(){
		return code;
	}
	public String getFaultString(){
		return message;
	}
	public InvalidForm[] getInvalidForms(){
		return invalidForms;
	}
	public String getMessage() {
		return getFirstError(super.getMessage());
	}
	public String getLocalizedMessage() {
		return getMessage();
	}
	
	private String getFirstError(String msg){
		if(message!=null&&message.length()>0)
			return msg;
		if(invalidForms.length==0){
			return msg;
		}
		InvalidField ifs[]=invalidForms[0].getInvalidFields();
		if(ifs.length==0)
			return msg;
		StringBuilder sb=new StringBuilder();
		for(int i=0;i0)
				sb.append(", ");
			sb.append(ifs[i].getName()).append(" ").append(ifs[i].getError());
		}
		if(ifs.length>3)
			sb.append("...");
		return sb.toString();
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy