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

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