moduleconfig.java

来自「电信的网厅的整站代码」· Java 代码 · 共 687 行 · 第 1/2 页

JAVA
687
字号
            ret[i] = pc;
            list.remove(pcIdx);
        }

        return ret;
    }

    boolean maxPageConfig(PageConfig hi, PageConfig lo) {
        try {
            if ( hi==null && lo == null )
                return true;
            if (hi != null && lo == null)
                return true;
            else if (hi == null && lo != null)
                return false;
            else if (hi.getCreateTime() == null && lo.getCreateTime() == null)
                return true;
            else if (hi.getCreateTime() != null && lo.getCreateTime() == null)
                return true;
            else if (hi.getCreateTime() == null && lo.getCreateTime() != null)
                return false;
            else {
                if (hi.getCreateTime().getTime() >= lo.getCreateTime()
                        .getTime())
                    return true;
                else
                    return false;
            }
        } catch (Exception ex) {
            FileLogger.getLogger().warn(ex);
            return false;
        }
    }

    ModuleConfig[] getChildNode() {
        // TODO 获取所有子模块节点。

        return null;
    }

    PageConfig[] getPages() {
        PageConfig[] aPage = new PageConfig[this.pages.size()];
        for (int i = 0; i < aPage.length; i++) {
            aPage[i] = (PageConfig) this.pages.get(i);
        }

        return aPage;
    }

    /**
     * 获取该模块的默认页面。
     *
     * @return
     */
    PageConfig getDefaultPage() {
        PageConfig defaultPage = null;
        for (int i = 0; i < this.pages.size(); i++) {
            PageConfig pc = (PageConfig) this.pages.get(i);
            if (pc.getIsDefault()) {
                defaultPage = pc;
                break;
            }
        }

        return defaultPage;
    }

    /**
     * 根据文件名获取页面对象。
     * @param sName String
     * @return PageConfig
     */
    public PageConfig getPage(String sName) {
        // TODO 根据文件名获取页面对象。
        //wull update
       PageConfig pc = null;
        if (sName != null) {
            for (int i = 0; i < this.pages.size(); i++) {
                 pc = (PageConfig)this.pages.get(i);
                 if(sName.equals(pc.getName()))return pc;
            }
        }
        return pc;
    }

    /**
     * 根据传进来的页面名称,修改某个页面的名称说明。
     * @param sName String
     * @param tName String
     */
    public void updatePage(String sName,String tDesc) {
        // TODO 根据文件名获取页面对象。
        //wull update
       PageConfig pc = null;
        if (sName != null) {
            for (int i = 0; i < this.pages.size(); i++) {
                 pc = (PageConfig)this.pages.get(i);
                 if(sName.equals(pc.getName())){
                     pc.setDesc(tDesc);
                     break;
                 }
            }
        }
    }

    /**
     * 专门用来修改上传的图片。如首页的logo等
     * @param sName String源
     * @param name String目标
     */
    public void updatePageName(String sName, String name) {
        // TODO 根据文件名获取页面对象。
        //wull update,主键值。
        PageConfig pc = null;
        if (sName != null) {
            for (int i = 0; i < this.pages.size(); i++) {
                pc = (PageConfig)this.pages.get(i);
                if (sName.equals(pc.getName())){
                    pc.setName(name);
                    break;
                }
            }
        }
    }

    /**
     * 删除一个页面对象。
     * @param sName String
     */
    public void removePage(String sName) {
        // 删除一个页面对象。wull 修改
        if (sName != null) {
            for (int i = 0; i < this.pages.size(); i++) {
                PageConfig pc = (PageConfig)this.pages.get(i);
                if(sName.equals(pc.getName())){
                    this.pages.remove(i);
                    break;
                }
            }
        }
    }

    /**
     * 增加一个页面对像
     * @param pc PageConfig
     */
    public void appendPage(PageConfig pc) {
        // TODO 将一个新的页面对象添加到该模块下。
        //wull 修改
        if(pc != null){
            this.pages.add(pc);
        }
    }

    /**
     * 新建一个空的页面对象
     * @return PageConfig
     */
    public PageConfig newPageConfig() {
        // TODO 新建一个空的页面对象。
        //wull 修改
       return new PageConfig();
    }

    void setParent(ModuleConfig parent) {
        this.parent = parent;
    }

    static String getPathName(String sPath) {
        String ret = null;
        if (sPath != null) {
            while (true) {
                if (sPath.startsWith("../")) {
                    FileLogger.getLogger().warn(
                            "系统暂不支持使用“../”进行定位路径,模块无条件去掉这些相对定位符。");
                    sPath = sPath.substring(3);
                } else if (sPath.startsWith("./")) {
                    sPath = sPath.substring(2);
                } else if (sPath.startsWith("/")) {
                    FileLogger.getLogger().warn("模块中每一个字母不能是“/”。");
                    sPath = sPath.substring(1);
                } else {
                    break;
                }
            }

            if (sPath.length() > 0 && sPath.charAt(sPath.length() - 1) == '/')
                sPath = sPath.substring(0, sPath.length() - 1);

            ret = sPath.toLowerCase();
        }
        return ret;
    }

    // [start] 模块属性的获取与设置。
    /**
     * 获取模块编号。它是代码模块的唯一编号, 暂定的命名规则为:4位系统简称(如WSKF)+1级2位的模块编号
     * (如第一级是01,第二级的第一个模块是0101)。它与用户权限管理系统的权限编号对应;
     *
     * @return 模块的编号。
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置模块编号。
     *
     * @param code
     *            新的模块编号,注意大小写(建议所有字母大写)。
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取模块描述信息。
     *
     * @return 返回模块的描述信息。
     */
    public String getDesc() {
        return desc;
    }

    /**
     * 设置模块的描述信息。
     *
     * @param desc
     *            要设置的模块描述信息。
     */
    public void setDesc(String desc) {
        this.desc = desc;
    }

    /**
     * 获取模块名称。
     *
     * @return 返回模块名称。
     */
    public String getName() {
        return name;
    }

    /**
     * 设置模块名称。
     *
     * @param name
     *            新设置的模块名称。
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 它描述了当前模块基于父模块的路径名称或目录名称。它表示的是WEB 虚拟目录:
     * <ul>
     * <li>?8?5 路径允许指定多级目录,如“system/user/”;</li>
     * <li>?8?5 路径中每一个字母不能是“/”,因为它代表根。即使有,系统处理时也将除去该字符;</li>
     * <li>?8?5 路径中最后一个字符“/”可有可无,系统处理时如果发现没有该符号将自动补上;</li>
     * <li>?8?5 路径名称必须符合WEB的URL命名规范;</li>
     * </ul>
     *
     * @return 返回模块路径。
     */
    public String getPath() {
        return path;
    }

    /**
     * 设置模块路径。
     *
     * @param path
     *            要设置的模块路径。
     */
    public void setPath(String path) {
        this.path = getPathName(path);
    }

    /**
     * 获取模块状态。
     * <ul>
     * <li>?8?5 N:Normal,正常状态;</li>
     * <li>?8?5 P:Pause,暂时禁用;</li>
     * </ul>
     *
     * @return 模块的状态。
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置模块状态,只有两种状态:
     * <ul>
     * <li>N:正常状态</li>
     * <li>P:暂停或禁用</li>
     * </ul>
     *
     * @param newStatus
     *            新的模块状态,参数为空时将使用默认值:“N”。
     */
    public void setStatus(String newStatus) {
        if (newStatus == null)
            newStatus = "N";
        newStatus = newStatus.trim().toUpperCase();
        if (newStatus.equals("P") || newStatus.equals("N"))
            this.status = newStatus;
        else {
            FileLogger.getLogger().warn("状态值错误:" + newStatus + ",系统将使用默认值:N。");
            this.status = "N";
        }
    }

    /**
     * 获取模块标题。
     *
     * @return 模块标题内容。
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置模块标题。
     *
     * @param title
     *            新的模块标题。
     */
    public void setTitle(String title) {
        this.title = title;
    }

    // [end]

    String getFullPath() {
        return fullPath;
    }

    void setFullPath(String fullPath) {
        this.fullPath = fullPath;
    }
}

⌨️ 快捷键说明

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