/*
* @project exchange-common V1.0
* @filename: ExchangeAssert 2020-07-10
* Copyright(c) 2020 kinbug Co. Ltd.
* All right reserved.
*/
package com.flying.cattle.mt.exception;
import java.util.Collection;
import java.util.Map;
/**
* @author senkyouku
* @ClassName: ExchangeAssert
* @Description: 交易断言工具类
* @date 2020-07-10
*/
public class ExchangeAssert {
private static final String EMPTY_STR = "";
public static void createException(ExchangeError err, Object... args) {
String message = String.format(err.getMessage(), args);
throw new ExchangeException(err.getCode(), message);
}
/**
* 如果表达式结果为false,则抛出异常
*
* @param expression 传入的表达式
* @param err 错误信息枚举对象
*/
public static void isTrue(boolean expression, ExchangeError err) {
if (!expression) {
createException(err);
}
}
/**
* 如果表达式结果为false,则抛出异常
*
* @param expression 传入的表达式
* @param err 错误信息枚举对象
* @param args 消息参数
*/
public static void isTrue(boolean expression, ExchangeError err, Object... args) {
if (!expression) {
createException(err, args);
}
}
/**
* 如果表达式结果为true,则抛出异常
*
* @param expression 传入的表达式
* @param err 错误信息枚举对象
*/
public static void notTrue(boolean expression, ExchangeError err) {
if (expression) {
createException(err);
}
}
/**
* 如果表达式结果为true,则抛出异常
*
* @param expression 传入的表达式
* @param err 错误信息枚举对象
* @param args 消息参数
*/
public static void notTrue(boolean expression, ExchangeError err, Object... args) {
if (expression) {
createException(err, args);
}
}
/**
* 如果对象不为空,则抛出异常
*
* @param object 要检查的对象
* @param err 错误信息枚举对象
* @param args 消息参数
*/
public static void isNull(Object object, ExchangeError err, Object... args) {
if (object != null) {
createException(err, args);
}
}
/**
* 如果对象不为空,则抛出异常
*
* @param object 要检查的对象
* @param err 错误信息枚举对象
*/
public static void isNull(Object object, ExchangeError err) {
if (object != null) {
createException(err);
}
}
/**
* 如果对象为空,则抛出异常
*
* @param object 要检查的对象
* @param err 错误信息枚举对象
* @param args 消息参数
*/
public static void notNull(Object object, ExchangeError err, Object... args) {
if (object == null) {
createException(err, args);
}
}
/**
* 如果对象为空,则抛出异常
*
* @param object 要检查的对象
* @param err 错误信息枚举对象
*/
public static void notNull(Object object, ExchangeError err) {
if (object == null) {
createException(err);
}
}
/**
* 如果字符串为空字符串,则抛出异常
*
* @param text 要判断的字符串
* @param err 错误信息枚举对象
*/
public static void notEmpty(String text, ExchangeError err) {
if (text == null || text.equals(EMPTY_STR)) {
createException(err);
}
}
/**
* 如果字符串为空字符串,则抛出异常
*
* @param text 要判断的字符串
* @param err 错误信息枚举对象
* @param args 消息参数
*/
public static void notEmpty(String text, ExchangeError err, Object... args) {
if (text == null || text.equals(EMPTY_STR)) {
createException(err, args);
}
}
/**
* 如果字符串为非空字符串,则抛出异常
*
* @param text 要判断的字符串
* @param err 错误信息枚举对象
*/
public static void isEmpty(String text, ExchangeError err) {
if (!(text == null || text.equals(EMPTY_STR))) {
createException(err);
}
}
/**
* 如果字符串为非空字符串,则抛出异常
*
* @param text 要判断的字符串
* @param err 错误信息枚举对象
* @param args 消息参数
*/
public static void isEmpty(String text, ExchangeError err, Object... args) {
if (text == null || text.equals(EMPTY_STR)) {
createException(err, args);
}
}
/**
* 如果字符串中包含子字符串,则抛出异常
*
* @param textToSearch
* @param substring
* @param err
*/
public static void doesNotContain(String textToSearch, String substring, ExchangeError err) {
if (textToSearch != null && !textToSearch.equals(EMPTY_STR) && substring != null && !substring.equals(EMPTY_STR) && textToSearch.indexOf(substring) != -1) {
createException(err);
}
}
/**
* 如果字符串中包含子字符串,则抛出异常
*
* @param textToSearch
* @param substring
* @param err
* @param args
*/
public static void doesNotContain(String textToSearch, String substring, ExchangeError err, Object... args) {
if (textToSearch != null && !textToSearch.equals(EMPTY_STR) && substring != null && !substring.equals(EMPTY_STR) && textToSearch.indexOf(substring) != -1) {
createException(err, args);
}
}
/**
* 如果数组为空,则抛出异常
*
* @param array
* @param err
*/
public static void notEmpty(Object[] array, ExchangeError err) {
if (array == null || array.length == 0) {
createException(err);
}
}
/**
* 如果数组为空,则抛出异常
*
* @param array
* @param err
* @param args
*/
public static void notEmpty(Object[] array, ExchangeError err, Object... args) {
if (array == null || array.length == 0) {
createException(err, args);
}
}
/**
* 如果对象数组中存在空对象,则抛出异常
*
* @param array
* @param err
*/
public static void noNullElements(Object[] array, ExchangeError err) {
if (array != null) {
for (int i = 0; i < array.length; i++) {
if (array[i] == null) {
createException(err);
}
}
}
}
/**
* 如果对象数组中存在空对象,则抛出异常
*
* @param array
* @param err
* @param args
*/
public static void noNullElements(Object[] array, ExchangeError err, Object... args) {
if (array != null) {
for (int i = 0; i < array.length; i++) {
if (array[i] == null) {
createException(err, args);
}
}
}
}
/**
* 如果集合为空,则抛出异常
*
* @param collection
* @param err
*/
public static void notEmpty(Collection<?> collection, ExchangeError err) {
if (collection == null || collection.size() == 0) {
createException(err);
}
}
/**
* 如果集合为空,则抛出异常
*
* @param collection
* @param err
* @param args
*/
public static void notEmpty(Collection<?> collection, ExchangeError err, Object... args) {
if (collection == null || collection.size() == 0) {
createException(err, args);
}
}
/**
* 如果集合不为空,则抛出异常
*
* @param collection
* @param err
*/
没有合适的资源?快使用搜索试试~ 我知道了~
超高效的交易所撮合引擎,采用伦敦外汇交易所LMAX开源的Disruptor框架,分布式内存存取,以及原子性操作
共52个文件
java:39个
xml:5个
yml:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 95 浏览量
2023-06-05
10:32:55
上传
评论
收藏 61KB ZIP 举报
温馨提示
match-trade超高效的交易所撮合引擎,采用伦敦外汇交易所LMAX开源的Disruptor框架,分布式内存存取,以及原子性操作。使用数据流的方式进行计算撮合序列,才用价格水平独立撮合逻辑,实现高效大数据撮合
资源推荐
资源详情
资源评论
收起资源包目录
match-trade-master.zip (52个子文件)
match-trade-master
pom.xml 3KB
LICENSE 11KB
match-common
pom.xml 1KB
src
main
java
com
flying
cattle
mt
message
DepthDTO.java 673B
TradeDTO.java 1KB
OrderDTO.java 1KB
CancelOrderDTO.java 431B
enums
EnumOrderAction.java 550B
EnumOrderState.java 787B
EnumTradeType.java 673B
EnumSymbol.java 489B
EnumOrderType.java 1KB
EnumSettlementStatus.java 677B
EnumPayStatus.java 710B
entity
OrderBase.java 2KB
exception
ExchangeAssert.java 10KB
ExchangeException.java 1KB
ExchangeError.java 779B
bin
pom.xml 1KB
match-engine
pom.xml 3KB
src
main
resources
application-test.yml 476B
logback.xml 5KB
application-local.yml 480B
application.yml 1KB
NewFile.html 1KB
java
com
flying
cattle
me
match
factory
MatchStrategyFactory.java 887B
service
AbstractOrderMatchService.java 1004B
impl
MtcMatchService.java 2KB
GtcMatchService.java 2KB
EngineExecutor.java 3KB
domain
TradeModel.java 2KB
MatchOrder.java 3KB
data
input
TestController.java 2KB
OrderOptController.java 6KB
ReceiveMqMessage.java 2KB
out
DepthData.java 2KB
SendService.java 2KB
plugin
rocketmq
MatchSink.java 626B
MatchSource.java 647B
disruptor
producer
OrderProducer.java 844B
handler
MatchAfterTakerHandler.java 1018B
MatchHandler.java 761B
DisruptorConfig.java 1KB
factory
OrderFactory.java 458B
ignite
IgniteHotDataStore.java 6KB
IgniteConfig.java 2KB
IgniteUtil.java 8KB
MatchApplication.java 564B
util
EngineUtil.java 9KB
.factorypath 20KB
.springBeans 403B
.gitignore 156B
共 52 条
- 1
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6661
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功