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

cn.handyplus.lib.util.AssertUtil Maven / Gradle / Ivy

The newest version!
package cn.handyplus.lib.util;

import cn.handyplus.lib.core.CollUtil;
import cn.handyplus.lib.core.NumberUtil;
import cn.handyplus.lib.core.StrUtil;
import cn.handyplus.lib.exception.HandyException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import java.util.Collection;

/**
 * 断言
 *
 * @author handy
 * @since 2.0.4
 */
public class AssertUtil {

    private AssertUtil() {
    }

    /**
     * 不是true报错
     *
     * @param expression 条件
     * @param sender     发送人
     * @param message    消息
     */
    public static void isTrue(boolean expression, CommandSender sender, String message) {
        notTrue(!expression, sender, message);
    }

    /**
     * 是true报错
     *
     * @param expression 条件
     * @param sender     发送人
     * @param message    消息
     */
    public static void notTrue(boolean expression, CommandSender sender, String message) {
        if (expression) {
            throw new HandyException(message);
        }
    }

    /**
     * 是null报错
     *
     * @param object  条件
     * @param sender  发送人
     * @param message 消息
     */
    public static void notNull(Object object, CommandSender sender, String message) {
        if (object == null) {
            throw new HandyException(message);
        }
    }

    /**
     * 是null或者""报错
     *
     * @param str     条件
     * @param sender  发送人
     * @param message 消息
     */
    public static void notEmpty(String str, CommandSender sender, String message) {
        if (StrUtil.isEmpty(str)) {
            throw new HandyException(message);
        }
    }

    /**
     * 是空集合报错
     *
     * @param collection 条件
     * @param sender     发送人
     * @param message    消息
     * @param         T
     */
    public static  void notNull(Collection collection, CommandSender sender, String message) {
        if (CollUtil.isEmpty(collection)) {
            throw new HandyException(message);
        }
    }

    /**
     * 不是玩家报错
     *
     * @param sender  发送人
     * @param message 消息
     * @return Player
     */
    public static Player notPlayer(CommandSender sender, String message) {
        if (BaseUtil.isNotPlayer(sender)) {
            throw new HandyException(message);
        }
        return (Player) sender;
    }

    /**
     * 利用正则表达式判断字符串是否是数字,不是就抛出自定义异常
     *
     * @param str     字符串
     * @param sender  发送人
     * @param message 消息
     * @return 数字
     */
    public static Integer isNumericToInt(String str, CommandSender sender, String message) {
        return NumberUtil.isNumericToBigDecimal(str).orElseThrow(() -> new HandyException(message)).intValue();
    }

    /**
     * 利用正则表达式判断字符串是否是数字,不是就抛出自定义异常
     *
     * @param str     字符串
     * @param sender  发送人
     * @param message 消息
     * @return 数字
     */
    public static Long isNumericToLong(String str, CommandSender sender, String message) {
        return NumberUtil.isNumericToBigDecimal(str).orElseThrow(() -> new HandyException(message)).longValue();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy