mtons.freemarker.handler.BaseHandler Maven / Gradle / Ivy
/*
+--------------------------------------------------------------------------
| Mtons [#RELEASE_VERSION#]
| ========================================
| Copyright (c) 2014, 2015 mtons. All Rights Reserved
| http://www.mtons.com
+---------------------------------------------------------------------------
*/
package mtons.freemarker.handler;
import java.io.IOException;
import java.util.*;
/**
* 指令处理器基类
* Created by langhsu on 2015/10/2.
*/
public abstract class BaseHandler implements RenderHandler {
protected Map map = new HashMap<>();
@Override
public void renderIfNotNull(Object object) throws IOException, Exception {
if (null != object) {
render();
}
}
@Override
public void renderIfNotEmpty(Collection notEmptyCollection) throws IOException, Exception {
if (null != notEmptyCollection && !notEmptyCollection.isEmpty()) {
render();
}
}
/**
* put 临时变量
*
* @see mtons.freemarker.handler.RenderHandler#put(String, Object)
*
* @param key 键
* @param value 值
* @return RenderHandler
*/
@Override
public RenderHandler put(String key, Object value) {
map.put(key, value);
return this;
}
/**
* 获得 String 参数, 如果没有则取默认值
*
* @see mtons.freemarker.handler.RenderHandler#getString(String, String)
*
* @param name 键
* @param defaultValue 默认值
* @return value
*/
@Override
public String getString(String name, String defaultValue) throws Exception {
String result = getString(name);
return null == result ? defaultValue : result;
}
/**
* 获得 Integer 参数, 如果没有则取默认值
*
* @see mtons.freemarker.handler.RenderHandler#getInteger(String, int)
*
* @param name 键
* @param defaultValue 默认值
* @return value
*/
@Override
public Integer getInteger(String name, int defaultValue) throws Exception {
Integer result = getInteger(name);
return null == result ? defaultValue : result;
}
/**
* 获得 Long 参数, 如果没有则取默认值
*
* @see mtons.freemarker.handler.RenderHandler#getLong(String, long)
*
* @param name 键
* @param defaultValue 默认值
* @return value
*/
@Override
public Long getLong(String name, long defaultValue) throws Exception {
Long result = getLong(name);
return null == result ? defaultValue : result;
}
/**
* 获取 Integer 数组
*
* @see mtons.freemarker.handler.RenderHandler#getIntegerArray(String)
*
* @param name 键
* @return value
*/
@Override
public Integer[] getIntegerArray(String name) throws Exception {
String[] arr = getStringArray(name);
if (null != arr) {
try {
Set set = new TreeSet();
for (String s : arr) {
set.add(Integer.valueOf(s));
}
int i = 0;
Integer[] ids = new Integer[set.size()];
for (Integer number : set) {
ids[i++] = number;
}
return ids;
} catch (NumberFormatException e) {
}
}
return null;
}
/**
* 获取 Long 数组
*
* @see mtons.freemarker.handler.RenderHandler#getLongArray(String)
*
* @param name 键
* @return value
*/
@Override
public Long[] getLongArray(String name) throws Exception {
String[] arr = getStringArray(name);
if (null != arr) {
try {
Set set = new TreeSet<>();
for (String s : arr) {
set.add(Long.valueOf(s));
}
int i = 0;
Long[] ids = new Long[set.size()];
for (Long number : set) {
ids[i++] = number;
}
return ids;
} catch (NumberFormatException e) {
}
}
return null;
}
/**
* 获取 Boolean 参数, 如果没有则取默认值
*
* @see mtons.freemarker.handler.RenderHandler#getBoolean(String, boolean)
*
* @param name 键
* @param defaultValue 默认值
* @return value
*/
@Override
public Boolean getBoolean(String name, boolean defaultValue) throws Exception {
Boolean result = getBoolean(name);
return null == result ? defaultValue : result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy