returnbizatomstatement.java

来自「这个是使用java开发的一个平台」· Java 代码 · 共 57 行

JAVA
57
字号
package com.exp.bizatom.auto.statement;

import java.util.Vector;

import com.exp.bizatom.auto.BizAutoAtomLogic;
import com.exp.bizatom.auto.BizAutoAtomUtil;
import com.exp.bizatom.auto.FunctionStack;
import com.exp.bizatom.auto.ReturnException;
import com.exp.fcl.xml.EXPXMLNode;

/**
 * 
 * @author Administrator <br>
 *         返回语句 <br>
 *         格式:&lt;return&nbsp;&nbsp;values="待返回的变量或常量列表;中间以分号隔开"/&gt;
 *  
 */
public class ReturnBizAtomStatement extends BizAtomStatement {
    protected String values = "";

    protected void parse(EXPXMLNode node) {
        this.values = node.getAttributeValue("values");
    }

    public Object create() {
        ReturnBizAtomStatement ret = new ReturnBizAtomStatement();
        ret.values = this.values;
        return ret;
    }

    public int execute(BizAutoAtomLogic function, int row) throws Throwable {
        setReturnValues(function);
        throw new ReturnException();
    }

    protected void setReturnValues(BizAutoAtomLogic function) {
        FunctionStack stack = function.getStack();
        if (!"".equals(this.values)) {
            String[] values = this.values.split(";");
            int len = values.length;
            if (len > 1) {
                Vector ret = new Vector(len);
                for (int i = 0; i < len; i++) {
                    ret.add(BizAutoAtomUtil.getRealValue(stack, values[i]));
                }
                stack.setReturn(ret);
            } else {
                stack.setReturn(BizAutoAtomUtil
                        .getRealValue(stack, this.values));
            }
        }
    }

    public String getValues() {
        return values;
    }
}

⌨️ 快捷键说明

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