• EntityNotFoundException EntityExistException


    package me.zhengjie.common.exception;
    
    import org.springframework.util.StringUtils;
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.stream.IntStream;
    
    /**
     * @author jie
     * @date 2018-11-23
     */
    public class EntityNotFoundException extends RuntimeException {
    
        public EntityNotFoundException(Class clazz, Object... searchParamsMap) {
            super(EntityNotFoundException.generateMessage(clazz.getSimpleName(), toMap(String.class, String.class, searchParamsMap)));
        }
    
        private static String generateMessage(String entity, Map<String, String> searchParams) {
            return StringUtils.capitalize(entity) +
                    " 不存在 " +
                    searchParams;
        }
    
        private static <K, V> Map<K, V> toMap(
                Class<K> keyType, Class<V> valueType, Object... entries) {
            if (entries.length % 2 == 1)
                throw new IllegalArgumentException("Invalid entries");
            return IntStream.range(0, entries.length / 2).map(i -> i * 2)
                    .collect(HashMap::new,
                            (m, i) -> m.put(keyType.cast(entries[i]), valueType.cast(entries[i + 1])),
                            Map::putAll);
        }
    
    }
    package me.zhengjie.common.exception;
    
    import org.springframework.util.StringUtils;
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.stream.IntStream;
    
    /**
     * @author jie
     * @date 2018-11-23
     */
    public class EntityExistException extends RuntimeException {
    
        public EntityExistException(Class clazz, Object... saveBodyParamsMap) {
            super(EntityExistException.generateMessage(clazz.getSimpleName(), toMap(String.class, String.class, saveBodyParamsMap)));
        }
    
        private static String generateMessage(String entity, Map<String, String> saveBodyParams) {
            return StringUtils.capitalize(entity) +
                    " 已存在 " +
                    saveBodyParams;
        }
    
        private static <K, V> Map<K, V> toMap(
                Class<K> keyType, Class<V> valueType, Object... entries) {
            if (entries.length % 2 == 1)
                throw new IllegalArgumentException("Invalid entries");
            return IntStream.range(0, entries.length / 2).map(i -> i * 2)
                    .collect(HashMap::new,
                            (m, i) -> m.put(keyType.cast(entries[i]), valueType.cast(entries[i + 1])),
                            Map::putAll);
        }
    }
    throw new EntityNotFoundException(User.class, "name", username);
  • 相关阅读:
    热爱自己的工作
    python 类型转换操作
    使用Python实现Telnet远程登录
    使用Python为程序添加右键菜单打开方式
    【Django实例】序言
    【转】Windows右键菜单设置与应用技巧
    【转】浅谈以太网帧格式
    Beyond Compare脚本:比较文件并生成html格式的差异报告
    【转】C语言中的位域、字节序、比特序、大小端
    【转】tcpdump抓取TCP/IP数据包分析
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/11216969.html
Copyright © 2020-2023  润新知