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 + -
显示快捷键?