zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    Linux下Tomcat重新启动
    Navicat远程连接不上mysql解决方案
    Tomcat 启动时 SecureRandom 非常慢解决办法,亲测有效
    SpringMVC Controller接收参数总结
    maven source 1.3 中不支持泛型 解决办法
    css background-image 自适应宽高——转载
    IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository
    使用Idea从github上获取项目
    取消IDEA默认打开最近的项目(设置打开选择创建页面)
    GameFreamWork框架----事件系统的应用
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/11216969.html
Copyright © 2011-2022 走看看