pageconfig.java

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

JAVA
632
字号
        // FIXME 进行扩展参数验证。
        if (ret) {
            Object[] keys = this.param.keySet().toArray();
            for (int i = 0; i < keys.length; i++) {
                String pName = (String) keys[i];
                String pValue = this.getParam(pName);
                String value = (String) oParam.get(pName);
                if (value != null) {
                    if (!pValue.equals(value)) ret = false;
                } else {
                    ret = false;

                    if (oParam.containsValue(pValue)) {
                        // 有值相同,可能是名称大小写问题,将名称取出来比较。
                        Object[] rKeys = oParam.keySet().toArray();
                        String upKey = keys[i].toString().toUpperCase();
                        for (int j = 0; j < rKeys.length; j++) {
                            if (upKey.equals(rKeys[i].toString().toUpperCase())) {
                                ret = true;
                                break;
                            }
                        }
                    }
                }
            }
        }

        return ret;
    }

    /**
     * 获取当前页面的完整路径。
     *
     * @return
     */
    public String getFullPath() {
        if (fullPath == null) {
            FileLogger.getLogger().warn("系统初始化时没有初始化当前文件路径。将返回null。");
        }
        return fullPath;
    }

    /**
     * 设置当前页面的完整路径。如果当前页面文件名是“HTTP://”或“FTP://”开头(不区分大小写)
     * 则直接设置相应的路径,而不管传入的参数是什么。
     *
     * @param fullPath
     *            当前页面的完整路径,
     */
    void setFullPath(String fullPath) {
        String str = this.getName().toLowerCase();
        if (str.startsWith("http://") || str.startsWith("ftp://")) {
            this.fullPath = this.getName();
        } else if (str.startsWith("/")) {
            FileLogger.getLogger().warn("文件名中指定了根路径,虽然系统支持,但不推荐使用。");
            this.fullPath = fullPath;
        } else {
            if (fullPath == null) throw new NullPointerException("参数不能为空。");

            this.fullPath = fullPath + this.getName();
        }
    }

    // [start] 获取与设置页面属性信息
    /**
     * 获取允许访问的用户类别:<br>
     * ?8?7none:不允许任何人访问<br>
     * auth:允许验证用户访问<br>
     * everyone:任何人都可以访问(默认值)<br>
     * ?8?7 user:允许allowuser_org中指定的用户访问;<br>
     * org:允许allowuser_org中指定的组织访问;<br>
     *
     * @return 当前页面允许访问的用户类别。
     */
    public String getAllowUser() {
        return allowUser;
    }

    /**
     * 设置允许访问的用户类别。
     *
     * @param user
     *            要被设置的用户类别。
     */
    public void setAllowUser(String user) {
        if (user == null)
            allowUser = AllowUserEnum.EVERYONE;
        else
            allowUser = user.toLowerCase();
    }

    /**
     * @return 返回允许访问该页面的用户或组织。
     */
    public String getAllowUser_Org() {
        return allowUser_Org;
    }

    /**
     * 允许某些用户或某些组织下的用户访问。该属性允许设置多个值,不同值之间使用“,”分隔。<br>
     * 只有在allowuser为user或org时才有效;<br>
     * ?8?7 allowuser为user时,该属性内的全部表示用户工号或帐号;<br>
     * ?8?7 allowuser为org时,该属性内全部为组织标识号;<br>
     *
     * @param user_Org
     *            要被设置的用户或组织。
     */
    public void setAllowUser_Org(String user_Org) {
        allowUser_Org = user_Org;
    }

    /**
     * @return 页面的自动删除时间。
     */
    public Date getAutoDelete() {
        return autoDelete;
    }

    /**
     * @param newTime
     *            要被设置的页面自动删除时间。
     */
    public void setAutoDelete(Date newTime) {
        autoDelete = newTime;
    }

    /**
     * @return 返回该页面的创建时间。
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * @param newTime
     * 要设置的页面创建时间。
     */
    public void setCreateTime(Date newTime) {
        createTime = newTime;
    }

    /**
     * @return 返回该页面的描述信息。
     */
    public String getDesc() {
        return desc;
    }

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

    /**
     * @return 返回页面的有效终止时间。
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * @param newTime
     * 将要被设置的有效终止时间。
     */
    public void setEndTime(Date newTime) {
        endTime = newTime;
    }

    /**
     * @return 返回该页面是否是默认页面。
     */
    public boolean getIsDefault() {
        return isDefault;
    }

    /**
     * 设置页面的默认属性。
     *
     * @param default1
     *            指定页面是默认页面。
     */
    public void setIsDefault(boolean default1) {
        isDefault = default1;
    }

    /**
     * 设置页面名称,也就是页面的文件名称。
     *
     * @return 返回页面名称.
     */
    public String getName() {
        return name;
    }

    /**
     * 设置页面名称,也就是页面的文件名称。
     *
     * @param newName
     *            将要被设置的文件名称。
     */
    public void setName(String newName) {
        this.name = newName;
    }

    /**
     * 获取指定名称的扩展参数值。
     *
     * @param sName
     *            要获取参数值的名称。
     * @return 指定名称的参数值。
     */
    public String getParam(String sName) {
        String paramName = sName.trim().toLowerCase();
        return (String) this.param.get(paramName);
    }

    /**
     * 获取所有扩展参数,并以Map的形式返回。
     *
     * @return 所有扩展参数。
     */
    public Map getParam() {
        return this.param;
    }

    /**
     * 添加或设置扩展。
     *
     * @param sName
     *            扩展参数名称,如果指定名称已经存在则使用新值替换旧值,否则添加新的名称。
     * @param sValue
     *            扩展参数的值。
     */
    public void setParam(String sName, String sValue) {
        String paramName = sName.trim().toLowerCase();
        if (this.param == null) this.param = new HashMap();
        this.param.put(paramName, sValue);
    }

    /**
     * 从扩展参数中删除一个已经存在的参数。
     *
     * @param sName
     *            将要被删除的参数名称。
     */
    void removeParam(String sName) {
        //this.param.remove(sName);
    }

    /**
     * 清除所有扩展参数。
     */
    public void clearParam() {
        this.param.clear();
    }

    /**
     * 通过Map设置扩展参数。
     *
     * @param newParam
     *            将要被设置的扩展参数集合。
     */
    public void setParam(Map newParam) {
        this.param.putAll(newParam);
    }

    /**
     * 获取有效起始时间
     *
     * @return 返回有效的起始时间。
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置有效起始时间。
     *
     * @param time
     *            要设置的时间。
     */
    public void setStartTime(Date time) {
        startTime = time;
    }

    /**
     * 获取状态值。
     *
     * @return Returns N:正常属性;P:暂时禁用。
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置状态,
     *
     * @param newStatus
     *            将要设置的状态,N:正常属性;P:暂时禁用。
     */
    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";
        }
    }
    // [end]
}

⌨️ 快捷键说明

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