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

📄 metaattributehelper.java

📁 人力资源管理系统主要包括:人员管理、招聘管理、培训管理、奖惩管理和薪金管理五大管理模块。
💻 JAVA
字号:
package net.sf.hibernate.tool.hbm2java;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.List;import net.sf.hibernate.util.StringHelper;import org.apache.commons.collections.MultiHashMap;import org.apache.commons.collections.MultiMap;import org.jdom.Element;/** * Helper for loading, merging  and accessing <meta> tags. *  * @author max * *  */public class MetaAttributeHelper {	static class MetaAttribute {		String value;		boolean inheritable = true;		MetaAttribute(String value, boolean inherit) {			this.value = value;			this.inheritable = inherit;		}		public String toString() {			return value;		}	}	/**	 * Load meta attributes from jdom element into a MultiMap.	 * 	 * @param element	 * @return MultiMap	 */	static protected MultiMap loadMetaMap(Element element) {		MultiMap result = new MultiHashMap();		List metaAttributeList = new ArrayList();		metaAttributeList.addAll(element.getChildren("meta"));		for (Iterator iter = metaAttributeList.iterator(); iter.hasNext();) {			Element metaAttrib = (Element) iter.next();			// does not use getTextNormalize() or getTextTrim() as that would remove the formatting in new lines in items like description for javadocs.			String attribute = metaAttrib.getAttribute("attribute").getValue();			String value = metaAttrib.getText();			boolean inherit =				Boolean					.valueOf(metaAttrib.getAttributeValue("inherit"))					.booleanValue();			MetaAttribute ma = new MetaAttribute(value, inherit);			result.put(attribute, ma);		}		return result;	}	/**	 * Merges a Multimap with inherited maps.	 * Values specified always overrules/replaces the inherited values.	 * 	 * @param local	 * @param inherited	 * @return a MultiMap with all values from local and extra values	 * from inherited	 */	static public MultiMap mergeMetaMaps(MultiMap local, MultiMap inherited) {		MultiHashMap result = new MultiHashMap();		if (inherited != null) {			result.putAll(local);			for (Iterator iter = inherited.keySet().iterator();				iter.hasNext();				) {				String key = (String) iter.next();				if (!local.containsKey(key)) {					// inheriting a meta attribute only if it is inheritable					ArrayList ml = (ArrayList) inherited.get(key);					for (Iterator iterator = ml.iterator();						iterator.hasNext();						) {						MetaAttribute element = (MetaAttribute) iterator.next();						if (element.inheritable) {							result.put(key, element);						}					}				}			}		}		return result;	}	/**	 * Method loadAndMergeMetaMap.	 * @param classElement	 * @param inheritedMeta	 * @return MultiMap	 */	public static MultiMap loadAndMergeMetaMap(		Element classElement,		MultiMap inheritedMeta) {		return mergeMetaMaps(loadMetaMap(classElement), inheritedMeta);	}	/**	 * @param collection	 * @param string	 */	public static String getMetaAsString(Collection meta, String seperator) {		StringBuffer buf = new StringBuffer();			for (Iterator iter = meta.iterator(); iter.hasNext();) {								buf.append(iter.next());				if(iter.hasNext()) buf.append(seperator);			}		return buf.toString();	}	static	boolean getMetaAsBool(Collection c, boolean defaultValue) {			if(c==null || c.isEmpty()) {				return defaultValue;			} else {				return Boolean.valueOf(c.iterator().next().toString()).booleanValue();			}		}	static String getMetaAsString(Collection c) {			if(c==null || c.isEmpty()) {		        return StringHelper.EMPTY_STRING;		    } else {		    StringBuffer sb = new StringBuffer();		  for (Iterator iter = c.iterator(); iter.hasNext();) {		    Object element = (Object) iter.next();		    sb.append(element.toString());		}   		    return sb.toString();		}	}}

⌨️ 快捷键说明

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