⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 targetobject.java

📁 EasyJWeb是基于java技术
💻 JAVA
字号:
package com.easyjf.web.validate;

import java.util.List;
import java.util.Map;

/**
 * 验证目标对象的封装
 * 
 * @author 大峡
 * 
 */
public class TargetObject {

	/**
	 * 验证的目标对象,对于property或field两种类型的验证来说,指的是Domain或Command对象
	 */
	private Object target;

	/**
	 * 验证类型
	 */
	private ValidateType type = ValidateType.Field;

	/**
	 * 多国语言标识键
	 */
	private String key;

	/**
	 * 显示名称
	 */
	private String displayName;

	/**
	 * 字段或属性名称
	 */
	private String fieldName;

	/**
	 * 错误提示信息
	 */
	private String defaultMessage;

	/**
	 * 是否必填字段
	 */
	private boolean requried;

	/**
	 * 配置信息的值集合
	 */
	private Map values = new java.util.HashMap();

	/**
	 * 验证器
	 */
	private List<Validator> validators = new java.util.ArrayList<Validator>();

	private ValidatorManager manager;

	public TargetObject() {

	}

	public ValidatorManager getManager() {
		return manager;
	}

	public void setManager(ValidatorManager manager) {
		this.manager = manager;
	}

	public TargetObject(ValidatorManager manager) {
		this(manager, null);
	}

	public TargetObject(ValidatorManager manager, Object target) {
		this.target = target;
		this.manager = manager;
	}

	public String getFieldName() {
		return fieldName;
	}

	public void setFieldName(String fieldName) {
		this.fieldName = fieldName;
	}

	public void setDefaultMessage(String defaultMessage) {
		this.defaultMessage = defaultMessage;
	}

	public ValidateType getType() {
		return type;
	}

	public void setType(ValidateType type) {
		this.type = type;
	}

	public List<Validator> getValidators() {
		return validators;
	}

	public void setValidators(List<Validator> validators) {
		this.validators = validators;
	}

	public void addValidator(Validator validator) {
		this.validators.add(validator);
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public String getDefaultMessage() {
		return defaultMessage;
	}

	public String getDisplayName() {
		return displayName;
	}

	public void setDisplayName(String displayName) {
		this.displayName = displayName;
	}

	public boolean isRequried() {
		return requried;
	}

	public void setRequried(boolean requried) {
		this.requried = requried;
	}

	public Map getValues() {
		return values;
	}

	public void setValues(String value) {
		this.values.putAll(parseValue(value));
	}

	public Map parseValue(String value) {
		Map map = new java.util.HashMap();
		if (value != null && !"".equals(value.trim())) {
			// value=value.replaceAll("\\\\;", "[分号]");
			String[] s = value.replaceAll("\\\\;", "[分号]").split(";");
			for (int i = 0; i < s.length; i++) {
				String[] vs = s[i].split(":");
				if (vs.length > 1)
					this.addValue(vs[0], vs[1].replaceAll("\\[分号\\]", ";"));
				else
					this.addValue(vs[0], true);
			}
		}
		return map;
	}

	public void addValue(String name, Object value) {
		this.values.put(name.toLowerCase(), value);
	}

	/**
	 * 该方法能够得通过以逗号分隔的一串属性名称中,分别通过尝试各个属性值取得配置参数
	 * 
	 * @param name
	 * @return 若存在指定名称的参数值,则返回该值,否则返回null
	 */
	public Object getValue(String name) {

		Object ret = null;
		if (name != null) {
			String[] names = name.split(",");
			for (int i = 0; i < names.length; i++) {
				ret = this.values.get(names[i].toLowerCase());
				if (ret != null)
					break;
			}
		}
		return ret;

	}

	public Object getTarget() {
		return target;
	}

	public void setTarget(Object target) {
		this.target = target;
	}

	public void doValidate(Object value) {
		for (Validator v : this.validators) {
			v.validate(this, value, manager.getErrors());
		}
	}

	public Errors getErrors() {
		return manager.getErrors();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -