mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix cod
This commit is contained in:
@@ -1,36 +0,0 @@
|
||||
package cn.hutool.extra.template;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Map;
|
||||
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
|
||||
/**
|
||||
* 抽象模板,提供将模板融合后写出到文件、返回字符串等方法
|
||||
*
|
||||
* @author looly
|
||||
*
|
||||
*/
|
||||
public abstract class AbstractTemplate implements Template{
|
||||
|
||||
@Override
|
||||
public void render(final Map<?, ?> bindingMap, final File file) {
|
||||
BufferedOutputStream out = null;
|
||||
try {
|
||||
out = FileUtil.getOutputStream(file);
|
||||
this.render(bindingMap, out);
|
||||
} finally {
|
||||
IoUtil.close(out);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String render(final Map<?, ?> bindingMap) {
|
||||
final StringWriter writer = new StringWriter();
|
||||
render(bindingMap, writer);
|
||||
return writer.toString();
|
||||
}
|
||||
}
|
@@ -1,46 +1,63 @@
|
||||
package cn.hutool.extra.template;
|
||||
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.OutputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 抽象模板接口
|
||||
*
|
||||
* @author looly
|
||||
*
|
||||
* @author looly
|
||||
*/
|
||||
public interface Template {
|
||||
|
||||
/**
|
||||
* 将模板与绑定参数融合后输出到Writer
|
||||
*
|
||||
*
|
||||
* @param bindingMap 绑定的参数,此Map中的参数会替换模板中的变量
|
||||
* @param writer 输出
|
||||
* @param writer 输出
|
||||
*/
|
||||
void render(Map<?, ?> bindingMap, Writer writer);
|
||||
|
||||
/**
|
||||
* 将模板与绑定参数融合后输出到流
|
||||
*
|
||||
*
|
||||
* @param bindingMap 绑定的参数,此Map中的参数会替换模板中的变量
|
||||
* @param out 输出
|
||||
* @param out 输出
|
||||
*/
|
||||
void render(Map<?, ?> bindingMap, OutputStream out);
|
||||
|
||||
/**
|
||||
* 写出到文件
|
||||
*
|
||||
* @param bindingMap 绑定的参数,此Map中的参数会替换模板中的变量
|
||||
* @param file 输出到的文件
|
||||
* @param file 输出到的文件
|
||||
*/
|
||||
void render(Map<?, ?> bindingMap, File file);
|
||||
default void render(final Map<?, ?> bindingMap, final File file) {
|
||||
BufferedOutputStream out = null;
|
||||
try {
|
||||
out = FileUtil.getOutputStream(file);
|
||||
this.render(bindingMap, out);
|
||||
} finally {
|
||||
IoUtil.close(out);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将模板与绑定参数融合后返回为字符串
|
||||
*
|
||||
*
|
||||
* @param bindingMap 绑定的参数,此Map中的参数会替换模板中的变量
|
||||
* @return 融合后的内容
|
||||
*/
|
||||
String render(Map<?, ?> bindingMap);
|
||||
default String render(final Map<?, ?> bindingMap) {
|
||||
final StringWriter writer = new StringWriter();
|
||||
render(bindingMap, writer);
|
||||
return writer.toString();
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package cn.hutool.extra.template.engine.beetl;
|
||||
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import cn.hutool.extra.template.Template;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.io.Serializable;
|
||||
@@ -12,7 +12,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author looly
|
||||
*/
|
||||
public class BeetlTemplate extends AbstractTemplate implements Serializable{
|
||||
public class BeetlTemplate implements Template, Serializable{
|
||||
private static final long serialVersionUID = -8157926902932567280L;
|
||||
|
||||
private final org.beetl.core.Template rawTemplate;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package cn.hutool.extra.template.engine.enjoy;
|
||||
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import cn.hutool.extra.template.Template;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.io.Serializable;
|
||||
@@ -13,7 +13,7 @@ import java.util.Map;
|
||||
* @author looly
|
||||
* @since 4.1.9
|
||||
*/
|
||||
public class EnjoyTemplate extends AbstractTemplate implements Serializable {
|
||||
public class EnjoyTemplate implements Template, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private final com.jfinal.template.Template rawTemplate;
|
||||
@@ -22,7 +22,7 @@ public class EnjoyTemplate extends AbstractTemplate implements Serializable {
|
||||
* 包装Enjoy模板
|
||||
*
|
||||
* @param EnjoyTemplate Enjoy的模板对象 {@link com.jfinal.template.Template}
|
||||
* @return {@link EnjoyTemplate}
|
||||
* @return {@code EnjoyTemplate}
|
||||
*/
|
||||
public static EnjoyTemplate wrap(final com.jfinal.template.Template EnjoyTemplate) {
|
||||
return (null == EnjoyTemplate) ? null : new EnjoyTemplate(EnjoyTemplate);
|
||||
|
@@ -2,7 +2,7 @@ package cn.hutool.extra.template.engine.freemarker;
|
||||
|
||||
import cn.hutool.core.io.IORuntimeException;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import cn.hutool.extra.template.Template;
|
||||
import cn.hutool.extra.template.TemplateException;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -17,7 +17,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author looly
|
||||
*/
|
||||
public class FreemarkerTemplate extends AbstractTemplate implements Serializable{
|
||||
public class FreemarkerTemplate implements Template, Serializable{
|
||||
private static final long serialVersionUID = -8157926902932567280L;
|
||||
|
||||
freemarker.template.Template rawTemplate;
|
||||
|
@@ -2,7 +2,7 @@ package cn.hutool.extra.template.engine.jetbrick;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.reflect.TypeReference;
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import cn.hutool.extra.template.Template;
|
||||
import jetbrick.template.JetTemplate;
|
||||
|
||||
import java.io.OutputStream;
|
||||
@@ -17,7 +17,7 @@ import java.util.Map;
|
||||
* @author looly
|
||||
* @since 5.7.21
|
||||
*/
|
||||
public class JetbrickTemplate extends AbstractTemplate implements Serializable{
|
||||
public class JetbrickTemplate implements Template, Serializable{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private final JetTemplate rawTemplate;
|
||||
|
@@ -2,7 +2,7 @@ package cn.hutool.extra.template.engine.rythm;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.reflect.TypeReference;
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import cn.hutool.extra.template.Template;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.io.Serializable;
|
||||
@@ -15,7 +15,7 @@ import java.util.Map;
|
||||
* @author looly
|
||||
*
|
||||
*/
|
||||
public class RythmTemplate extends AbstractTemplate implements Serializable {
|
||||
public class RythmTemplate implements Template, Serializable {
|
||||
private static final long serialVersionUID = -132774960373894911L;
|
||||
|
||||
private final org.rythmengine.template.ITemplate rawTemplate;
|
||||
@@ -24,7 +24,7 @@ public class RythmTemplate extends AbstractTemplate implements Serializable {
|
||||
* 包装Rythm模板
|
||||
*
|
||||
* @param template Rythm的模板对象 {@link org.rythmengine.template.ITemplate}
|
||||
* @return {@link RythmTemplate}
|
||||
* @return {@code RythmTemplate}
|
||||
*/
|
||||
public static RythmTemplate wrap(final org.rythmengine.template.ITemplate template) {
|
||||
return (null == template) ? null : new RythmTemplate(template);
|
||||
|
@@ -5,7 +5,7 @@ import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.reflect.TypeReference;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import cn.hutool.extra.template.Template;
|
||||
import org.thymeleaf.TemplateEngine;
|
||||
import org.thymeleaf.context.Context;
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.Map;
|
||||
* @author looly
|
||||
* @since 4.1.11
|
||||
*/
|
||||
public class ThymeleafTemplate extends AbstractTemplate implements Serializable {
|
||||
public class ThymeleafTemplate implements Template, Serializable {
|
||||
private static final long serialVersionUID = 781284916568562509L;
|
||||
|
||||
private final TemplateEngine engine;
|
||||
@@ -35,7 +35,7 @@ public class ThymeleafTemplate extends AbstractTemplate implements Serializable
|
||||
* @param engine Thymeleaf的模板引擎对象 {@link TemplateEngine}
|
||||
* @param template 模板路径或模板内容
|
||||
* @param charset 编码
|
||||
* @return {@link ThymeleafTemplate}
|
||||
* @return {@code ThymeleafTemplate}
|
||||
*/
|
||||
public static ThymeleafTemplate wrap(final TemplateEngine engine, final String template, final Charset charset) {
|
||||
return (null == engine) ? null : new ThymeleafTemplate(engine, template, charset);
|
||||
|
@@ -3,9 +3,9 @@ package cn.hutool.extra.template.engine.velocity;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.reflect.TypeReference;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.extra.template.Template;
|
||||
import org.apache.velocity.VelocityContext;
|
||||
import org.apache.velocity.app.Velocity;
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.Map;
|
||||
* @author looly
|
||||
*
|
||||
*/
|
||||
public class VelocityTemplate extends AbstractTemplate implements Serializable {
|
||||
public class VelocityTemplate implements Template, Serializable {
|
||||
private static final long serialVersionUID = -132774960373894911L;
|
||||
|
||||
private final org.apache.velocity.Template rawTemplate;
|
||||
|
@@ -2,7 +2,6 @@ package cn.hutool.extra.template.engine.wit;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.reflect.TypeReference;
|
||||
import cn.hutool.extra.template.AbstractTemplate;
|
||||
import org.febit.wit.Template;
|
||||
|
||||
import java.io.OutputStream;
|
||||
@@ -15,7 +14,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author looly
|
||||
*/
|
||||
public class WitTemplate extends AbstractTemplate implements Serializable{
|
||||
public class WitTemplate implements cn.hutool.extra.template.Template, Serializable{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private final Template rawTemplate;
|
||||
|
Reference in New Issue
Block a user