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

📄 validatorsupport.java

📁 在Struts2中的jar包xwork的源代码.版本为2.0.7
💻 JAVA
字号:
/* * Copyright (c) 2002-2006 by OpenSymphony * All rights reserved. */package com.opensymphony.xwork2.validator.validators;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.util.TextParseUtil;import com.opensymphony.xwork2.util.ValueStack;import com.opensymphony.xwork2.validator.*;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * Abstract implementation of the Validator interface suitable for subclassing. * * @author Jason Carreira */public abstract class ValidatorSupport implements Validator, ShortCircuitableValidator {    protected final Log log = LogFactory.getLog(this.getClass());    protected String defaultMessage = "";    protected String messageKey;    private ValidatorContext validatorContext;    private boolean shortCircuit;    private boolean parse;    private String type;    public void setDefaultMessage(String message) {        this.defaultMessage = message;    }    public String getDefaultMessage() {        return defaultMessage;    }    public void setParse(boolean parse) {    	this.parse = parse;    }    public boolean getParse() {    	return parse;    }        public String getMessage(Object object) {        String message;        ValueStack stack = ActionContext.getContext().getValueStack();        boolean pop = false;        if (!stack.getRoot().contains(object)) {            stack.push(object);            pop = true;        }        stack.push(this);        if (messageKey != null) {            if ((defaultMessage == null) || (defaultMessage.trim().equals(""))) {                defaultMessage = messageKey;            }            if ( validatorContext == null) {                validatorContext = new DelegatingValidatorContext(object);            }            message = validatorContext.getText(messageKey, defaultMessage);        } else {            message = defaultMessage;        }        message = TextParseUtil.translateVariables(message, stack);        stack.pop();        if (pop) {            stack.pop();        }        return message;    }    public void setMessageKey(String key) {        messageKey = key;    }    public String getMessageKey() {        return messageKey;    }    public void setShortCircuit(boolean shortcircuit) {        shortCircuit = shortcircuit;    }    public boolean isShortCircuit() {        return shortCircuit;    }    public void setValidatorContext(ValidatorContext validatorContext) {        this.validatorContext = validatorContext;    }    public ValidatorContext getValidatorContext() {        return validatorContext;    }    public void setValidatorType(String type) {        this.type = type;    }    public String getValidatorType() {        return type;    }    /**     * Parse <code>expression</code> passed in against value stack. Only parse     * when 'parse' param is set to true, else just returns the expression unparsed.     *     * @param expression     * @return Object     */    protected Object conditionalParse(String expression) {        if (parse) {            ValueStack stack = ActionContext.getContext().getValueStack();            return TextParseUtil.translateVariables('$', expression, stack);        }        return expression;    }    /**     * Return the field value named <code>name</code> from <code>object</code>,     * <code>object</code> should have the appropriate getter/setter.     *     * @param name     * @param object     * @return Object as field value     * @throws ValidationException     */    protected Object getFieldValue(String name, Object object) throws ValidationException {        ValueStack stack = ActionContext.getContext().getValueStack();        boolean pop = false;        if (!stack.getRoot().contains(object)) {            stack.push(object);            pop = true;        }        Object retVal = stack.findValue(name);        if (pop) {            stack.pop();        }        return retVal;    }    protected void addActionError(Object object) {        validatorContext.addActionError(getMessage(object));    }    protected void addFieldError(String propertyName, Object object) {        validatorContext.addFieldError(propertyName, getMessage(object));    }}

⌨️ 快捷键说明

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