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

📄 templatecontext.java

📁 OBPM是一个开源
💻 JAVA
字号:
package cn.myapps.util.text;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class TemplateContext {
	public static final String TAG_LEFT = "${";

	public static final String TAG_RIGHT = "}";

	private Collection textlist = new ArrayList();

	private Map params = new HashMap();

	private TemplateContext() {

	}

	public void putParams(String key, String value) {
		params.put(key, value);
	}

	public String getParams(String key) {
		return (String) params.get(key);
	}

	public static TemplateContext parse(String text) {
		TemplateContext tmpl = new TemplateContext();

		if (text != null) {
			int pos1 = 0;
			int pos2 = 0;
			while (pos1 >= 0) {
				pos1 = text.indexOf(TAG_LEFT);
				pos2 = text.indexOf(TAG_RIGHT, pos1);
				if (pos2 > pos1) {
					String left = text.substring(0, pos1);
					String paramText = text.substring(pos1 + TAG_LEFT.length(),
							pos2 - TAG_RIGHT.length() + 1);

					tmpl.appendPart(new TextPart(left));
					tmpl.appendPart(new ParameterPart(paramText));

					text = text.substring(pos2 + TAG_RIGHT.length());
				}
			}

			tmpl.appendPart(new TextPart(text));
		}

		return tmpl;
	}

	public void appendPart(AbstractPart part) {
		if (part != null)
			textlist.add(part);
	}

	public String toText() {
		StringBuffer buffer = new StringBuffer();
		for (Iterator iter = textlist.iterator(); iter.hasNext();) {
			AbstractPart part = (AbstractPart) iter.next();
			buffer.append(part.toText(this));
		}

		return buffer.toString();
	}

}

⌨️ 快捷键说明

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