All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nutz.lang.segment.Segments Maven / Gradle / Ivy

Go to download

Nutz, which is a collections of lightweight frameworks, each of them can be used independently

There is a newer version: 1.r.72
Show newest version
package org.nutz.lang.segment;

import java.io.File;

import org.nutz.lang.Files;
import org.nutz.lang.util.Context;

/**
 * 代码片段的帮助函数
 * 
 * @author zozoh([email protected])
 */
public class Segments {

	/**
	 * 根据一个对象填充所有片段的占位符
	 * 
	 * @param seg
	 *            片段
	 * @param obj
	 *            对象
	 * @return 填充后的片段对象
	 */
	public static Segment fill(Segment seg, Object obj) {
		if (null == obj || null == seg)
			return seg;
		return seg.setBy(obj);
	}

	/**
	 * 根据一个文件生成一个代码片段
	 * 
	 * @param f
	 *            文件
	 * @return 片段对象
	 */
	public static Segment read(File f) {
		String txt = Files.read(f);
		return new CharSegment(txt);
	}

	/**
	 * 根据字符串片段,将上下文对象替换对应占位符。未赋值的占位符维持原样
	 * 

* 比如: * * @param seg * 片段对象 * @param context * 上下文对象 * @return 替换后的字符串 */ public static String replace(Segment seg, Context context) { if (null == seg) return null; // 增加缺失的占位符号 for (String key : seg.keys()) if (!context.has(key)) context.set(key, "${" + key + "}"); return seg.render(context).toString(); } /** * 根据字符串片段,将上下文对象替换对应占位符。未赋值的占位符维持原样 * * @param pattern * 字符串片段 * @param context * 上下文对象 * @return 替换后的字符串 */ public static String replace(String pattern, Context context) { if (null == context) return pattern; return replace(new CharSegment(pattern), context); } /** * 根据一段字符串生成一个代码片段 * * @param str * 字符串 * @return 片段对象 */ public static Segment create(String str) { return new CharSegment(str); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy