• com.opensymphony.xwork2.ActionSupport类源码


    version : xwork-2.1.0
    /*
     * Copyright (c) 2002-2006 by OpenSymphony
     * All rights reserved.
     */
    package com.opensymphony.xwork2;
    
    
    import java.io.Serializable;
    import java.util.Collection;
    import java.util.List;
    import java.util.Locale;
    import java.util.Map;
    import java.util.ResourceBundle;
    
    
    import com.opensymphony.xwork2.util.ValueStack;
    import com.opensymphony.xwork2.util.logging.Logger;
    import com.opensymphony.xwork2.util.logging.LoggerFactory;
    
    
    /**
     * Provides a default implementation for the most common actions.
     * See the documentation for all the interfaces this class implements for more detailed information.
     */
    public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable {
    
    
        protected static Logger LOG = LoggerFactory.getLogger(ActionSupport.class);
    
    
        private final transient TextProvider textProvider = new TextProviderFactory().createInstance(getClass(), this);
        private final ValidationAwareSupport validationAware = new ValidationAwareSupport();
    
    
        public void setActionErrors(Collection errorMessages) {
            validationAware.setActionErrors(errorMessages);
        }
    
    
        public Collection getActionErrors() {
            return validationAware.getActionErrors();
        }
    
    
        public void setActionMessages(Collection messages) {
            validationAware.setActionMessages(messages);
        }
    
    
        public Collection getActionMessages() {
            return validationAware.getActionMessages();
        }
    
    
        /**
         * @deprecated Use {@link #getActionErrors()}.
         */
        public Collection getErrorMessages() {
            return getActionErrors();
        }
    
    
        /**
         * @deprecated Use {@link #getFieldErrors()}.
         */
        public Map getErrors() {
            return getFieldErrors();
        }
    
    
        public void setFieldErrors(Map errorMap) {
            validationAware.setFieldErrors(errorMap);
        }
    
    
        public Map getFieldErrors() {
            return validationAware.getFieldErrors();
        }
    
    
        public Locale getLocale() {
            ActionContext ctx = ActionContext.getContext();
            if (ctx != null) {
                return ctx.getLocale();
            } else {
                LOG.debug("Action context not initialized");
                return null;
            }
        }
    
    
        public String getText(String aTextName) {
            return textProvider.getText(aTextName);
        }
    
    
        public String getText(String aTextName, String defaultValue) {
            return textProvider.getText(aTextName, defaultValue);
        }
    
    
        public String getText(String aTextName, String defaultValue, String obj) {
            return textProvider.getText(aTextName, defaultValue, obj);
        }
    
    
        public String getText(String aTextName, List args) {
            return textProvider.getText(aTextName, args);
        }
    
    
        public String getText(String key, String[] args) {
            return textProvider.getText(key, args);
        }
    
    
        public String getText(String aTextName, String defaultValue, List args) {
            return textProvider.getText(aTextName, defaultValue, args);
        }
    
    
        public String getText(String key, String defaultValue, String[] args) {
            return textProvider.getText(key, defaultValue, args);
        }
    
    
        public String getText(String key, String defaultValue, List args, ValueStack stack) {
            return textProvider.getText(key, defaultValue, args, stack);
        }
    
    
        public String getText(String key, String defaultValue, String[] args, ValueStack stack) {
            return textProvider.getText(key, defaultValue, args, stack);
        }
    
    
        public ResourceBundle getTexts() {
            return textProvider.getTexts();
        }
    
    
        public ResourceBundle getTexts(String aBundleName) {
            return textProvider.getTexts(aBundleName);
        }
    
    
        public void addActionError(String anErrorMessage) {
            validationAware.addActionError(anErrorMessage);
        }
    
    
        public void addActionMessage(String aMessage) {
            validationAware.addActionMessage(aMessage);
        }
    
    
        public void addFieldError(String fieldName, String errorMessage) {
            validationAware.addFieldError(fieldName, errorMessage);
        }
    
    
        public String input() throws Exception {
            return INPUT;
        }
        
        public String doDefault() throws Exception {
            return SUCCESS;
        }
    
    
        /**
         * A default implementation that does nothing an returns "success".
         * <p/>
         * Subclasses should override this method to provide their business logic.
         * <p/>
         * See also {@link com.opensymphony.xwork2.Action#execute()}.
         *
         * @return returns {@link #SUCCESS}
         * @throws Exception  can be thrown by subclasses.
         */
        public String execute() throws Exception {
            return SUCCESS;
        }
    
    
        public boolean hasActionErrors() {
            return validationAware.hasActionErrors();
        }
    
    
        public boolean hasActionMessages() {
            return validationAware.hasActionMessages();
        }
    
    
        public boolean hasErrors() {
            return validationAware.hasErrors();
        }
    
    
        public boolean hasFieldErrors() {
            return validationAware.hasFieldErrors();
        }
    
    
        /**
         * Clears field errors. Useful for Continuations and other situations
         * where you might want to clear parts of the state on the same action.
         */
        public void clearFieldErrors() {
            validationAware.clearFieldErrors();
        }
    
    
        /**
         * Clears action errors. Useful for Continuations and other situations
         * where you might want to clear parts of the state on the same action.
         */
        public void clearActionErrors() {
            validationAware.clearActionErrors();
        }
    
    
        /**
         * Clears messages. Useful for Continuations and other situations
         * where you might want to clear parts of the state on the same action.
         */
        public void clearMessages() {
            validationAware.clearMessages();
        }
    
    
        /**
         * Clears all errors. Useful for Continuations and other situations
         * where you might want to clear parts of the state on the same action.
         */
        public void clearErrors() {
            validationAware.clearErrors();
        }
    
    
        /**
         * Clears all errors and messages. Useful for Continuations and other situations
         * where you might want to clear parts of the state on the same action.
         */
        public void clearErrorsAndMessages() {
            validationAware.clearErrorsAndMessages();
        }
    
    
        /**
         * A default implementation that validates nothing.
         * Subclasses should override this method to provide validations.
         */
        public void validate() {
        }
    
    
        public Object clone() throws CloneNotSupportedException {
            return super.clone();
        }
    
    
        /**
         * <!-- START SNIPPET: pause-method -->
         * Stops the action invocation immediately (by throwing a PauseException) and causes the action invocation to return
         * the specified result, such as {@link #SUCCESS}, {@link #INPUT}, etc.
         * <p/>
         *
         * The next time this action is invoked (and using the same continuation ID), the method will resume immediately
         * after where this method was called, with the entire call stack in the execute method restored.
         * <p/>
         *
         * Note: this method can <b>only</b> be called within the {@link #execute()} method.
         * <!-- END SNIPPET: pause-method -->
         *
         * @param result the result to return - the same type of return value in the {@link #execute()} method.
         */
        public void pause(String result) {
        }
    
    
    }



  • 相关阅读:
    CH和CN图标去除及语言栏变短
    vim命令学习总结
    《Applications=Code+Markup》读书札记(2)——创建一个简单的 WPF 程序的代码结构及关于 Window 实例位置设置问题
    linux 开机时自动挂载分区
    Windows/linux双系统的时间修改问题
    关于RHEL6.1你可能想知道的那点事
    C语言的重要概念
    sprintf你知道多少
    《Applications=Code+Markup》读书札记(1)——一个简单的 WPF 程序
    Linux命令——tar
  • 原文地址:https://www.cnblogs.com/pangblog/p/3249273.html
Copyright © 2020-2023  润新知