⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chnlmodel.java

📁 JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。 基于java技术开发
💻 JAVA
字号:
package com.jeecms.cms.entity;

import static com.jeecms.core.Constants.FILE_SPT;
import static com.jeecms.core.Constants.SPT;
import static com.jeecms.core.Constants.TPL_SUFFIX;

import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;

import org.apache.commons.lang.StringUtils;

import com.jeecms.cms.Constants;
import com.jeecms.cms.entity.base.BaseChnlModel;
import com.jeecms.core.util.PriorityComparator;

public class ChnlModel extends BaseChnlModel {
	/**
	 * 栏目模型项
	 */
	public static final int CHANNEL_ITEM = 1;
	/**
	 * 内容模型项
	 */
	public static final int CONTENT_ITEM = 2;

	/**
	 * 获得模板列表
	 * 
	 * @param root
	 * @param prefix
	 * @return
	 */
	private List<String> tplList(String sysType, String root,
			final String prefix) {
		String solution = getConfig().getSolution(sysType);
		StringBuilder relPath = new StringBuilder();
		relPath.append(SPT).append(sysType).append(SPT).append(solution);
		String path = getWebsite().getTplRootReal(root).append(relPath)
				.toString().replace(SPT, FILE_SPT);
		File file = new File(path);
		String[] fns = file.list(new FilenameFilter() {
			public boolean accept(File dir, String name) {
				if (name.startsWith(prefix)) {
					return true;
				} else {
					return false;
				}
			}
		});
		List<String> result = new ArrayList<String>();
		relPath.append(SPT);
		if (fns != null) {
			for (String name : fns) {
				result.add(relPath + name);
			}
		}
		return result;
	}

	/**
	 * 栏目模板列表
	 * 
	 * @param root
	 * @return
	 */
	public List<String> tplChannlList(String sysType, String root) {
		String prefix = getTplPrefixChannel();
		if (StringUtils.isBlank(prefix)) {
			return new ArrayList<String>();
		} else {
			return tplList(sysType, root, prefix);
		}
	}

	/**
	 * 内容模板列表
	 * 
	 * @param root
	 * @return
	 */
	public List<String> tplContentList(String sysType, String root) {
		String prefix = getTplPrefixContent();
		if (StringUtils.isBlank(prefix)) {
			return new ArrayList<String>();
		} else {
			return tplList(sysType, root, prefix);
		}
	}

	/**
	 * 获得默认解决方案模板路径。/WEB-INF/user_base/RES_PATH/template/sysType/default/
	 * 
	 * @return
	 */
	public StringBuilder getTplDef(String sysType) {
		StringBuilder sb = getWebsite().getTplRoot();
		sb.append(SPT).append(sysType).append(SPT).append(
				getWebsite().getSolutions().get(sysType)).append(SPT);
		return sb;
	}

	/**
	 * 默认栏目页模板
	 * 
	 * @return
	 */
	public String defIndexTpl(String sysType) {
		return getTplDef(sysType).append(getTplPrefixChannel()).append(
				TPL_SUFFIX).toString();
	}

	/**
	 * 默认内容页模板
	 * 
	 * @return
	 */
	public String defContentTpl(String sysType) {
		return getTplDef(sysType).append(getTplPrefixContent()).append(
				TPL_SUFFIX).toString();
	}

	/**
	 * 表单名称为key,item为value。用于控制界面
	 * 
	 * @return
	 */
	public Map<String, ChnlModelItem> getDiplayItemMap(int itemType) {
		Set<ChnlModelItem> items = getItems(itemType);
		if (items != null) {
			Map<String, ChnlModelItem> itemMap = new LinkedHashMap<String, ChnlModelItem>();
			for (ChnlModelItem it : items) {
				if (it.getChecked()) {
					itemMap.put(it.getName(), it);
				}
			}
			return itemMap;
		} else {
			return null;
		}
	}

	public Set<ChnlModelItem> getItems(int type) {
		Set<ChnlModelItem> wholeItems = getItems();
		if (wholeItems == null) {
			return null;
		}
		Set<ChnlModelItem> items = new TreeSet<ChnlModelItem>(
				new PriorityComparator());
		for (ChnlModelItem item : wholeItems) {
			if (item.getItemType() == type) {
				items.add(item);
			}
		}
		return items;
	}

	public Set<ChnlModelItem> getChnlItems() {
		return getItems(CHANNEL_ITEM);
	}

	public Set<ChnlModelItem> getContentItems() {
		return getItems(CONTENT_ITEM);
	}

	public void addModelItem(ChnlModelItem item) {
		if (item == null) {
			return;
		}
		item.setModel(this);
		Set<ChnlModelItem> items = getItems();
		if (items == null) {
			items = new TreeSet<ChnlModelItem>(new PriorityComparator());
			setItems(items);
		}
		items.add(item);
	}

	public String getSysTypeName() {
		if (StringUtils.isBlank(getSysType())) {
			return "所有系统";
		}
		String name = Constants.CMSSYS_TYPES.get(getSysType());
		if (name == null) {
			name = getSysType();
		}
		return name;
	}

	private static final long serialVersionUID = 1L;

	/* [CONSTRUCTOR MARKER BEGIN] */
	public ChnlModel() {
		super();
	}

	/**
	 * Constructor for primary key
	 */
	public ChnlModel(java.lang.Long id) {
		super(id);
	}

	/**
	 * Constructor for required fields
	 */
	public ChnlModel(java.lang.Long id, com.jeecms.core.entity.Website website,
			com.jeecms.cms.entity.CmsConfig config, java.lang.Integer priority,
			java.lang.Boolean display, java.lang.Boolean hasChild) {

		super(id, website, config, priority, display, hasChild);
	}

	/* [CONSTRUCTOR MARKER END] */

}

⌨️ 快捷键说明

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