public void addOperatorWithAlias()

in src/main/java/com/ql/util/express/ExpressRunner.java [518:544]


    public void addOperatorWithAlias(String keyWordName, String realKeyWordName, String errorInfo) throws Exception {
        if (errorInfo != null && errorInfo.trim().length() == 0) {
            errorInfo = null;
        }
        //添加函数别名
        if (this.manager.isFunction(realKeyWordName)) {
            this.manager.addFunctionName(keyWordName);
            this.operatorManager.addOperatorWithAlias(keyWordName, realKeyWordName, errorInfo);
            return;
        }
        NodeType realNodeType = this.manager.findNodeType(realKeyWordName);
        if (realNodeType == null) {
            throw new QLException("关键字:" + realKeyWordName + "不存在");
        }
        boolean isExist = this.operatorManager.isExistOperator(realNodeType.getName());
        if (!isExist && errorInfo != null) {
            throw new QLException(
                "关键字:" + realKeyWordName + "是通过指令来实现的,不能设置错误的提示信息,errorInfo 必须是 null");
        }
        if (!isExist || errorInfo == null) {
            //不需要新增操作符号,只需要建立一个关键子即可
            this.manager.addOperatorWithRealNodeType(keyWordName, realNodeType.getName());
        } else {
            this.manager.addOperatorWithLevelOfReference(keyWordName, realNodeType.getName());
            this.operatorManager.addOperatorWithAlias(keyWordName, realNodeType.getName(), errorInfo);
        }
    }