com.gitee.cn9750wang.webtools.utils.Assert Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of web-tools Show documentation
Show all versions of web-tools Show documentation
web tools for spring-boot web project
The newest version!
/*
* Copyright 2021 wwy
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.gitee.cn9750wang.webtools.utils;
import com.gitee.cn9750wang.webtools.error.P21Exception;
import com.gitee.cn9750wang.webtools.error.defines.ServerErr;
import com.gitee.cn9750wang.webtools.vo.result.error.ErrorMessage;
import org.apache.commons.lang3.StringUtils;
import java.util.Collection;
import java.util.Map;
/**
* 断言类
* @author wwy
*/
public class Assert {
private Assert(){}
/**
* 断言表达式为true
* @param expression 表达式
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void isTrue(boolean expression, ErrorMessage message, Object...obj) throws P21Exception {
if(expression){
return;
}
ErrorMessage formatted;
if(message != null){
formatted = message.format(obj);
}else {
formatted = ServerErr.SERVER_ERR.getMessage();
}
throw new P21Exception().error(formatted);
}
/**
* 断言表达式为false
* @param expression 表达式
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void isFalse(boolean expression, ErrorMessage message,Object...obj) throws P21Exception {
isTrue(!expression,message,obj);
}
/**
* 断言对象为null
* @param object 判断对象
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void isNull(Object object, ErrorMessage message,Object...obj) throws P21Exception {
isTrue(object == null,message,obj);
}
/**
* 断言对象不为null
* @param object 判断对象
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void isNotNull(Object object, ErrorMessage message,Object...obj) throws P21Exception {
isTrue(object != null,message,obj);
}
/**
* 断言这个 字符串 不为 空白字符串
* 为 empty 则抛异常
* @param str 字符串
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void notBlank(String str, ErrorMessage message,Object...obj) throws P21Exception {
isTrue(StringUtils.isNotBlank(str),message,obj);
}
/**
* 断言这个 collection 不为 empty
* @param collection 集合
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void notEmpty(Collection> collection, ErrorMessage message, Object...obj) throws P21Exception {
isTrue(collection != null && !collection.isEmpty(),message,obj);
}
/**
* 断言这个 Map 不为 empty
* @param map 集合
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void notEmpty(Map,?> map, ErrorMessage message, Object...obj) throws P21Exception {
isTrue(map != null && !map.isEmpty(),message,obj);
}
/**
* 断言这个 数组 不为 empty
* @param array 数组
* @param message 抛出异常后的提示信息
* @param obj 异常信息的格式化参数
* @throws P21Exception 项目定义的异常
*/
public static void notEmpty(Object[] array,ErrorMessage message, Object...obj) throws P21Exception {
isTrue(array != null && array.length > 0,message,obj);
}
}