Module bus.core
module bus.core
bus.core
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Packages
ExportsPackageDescription核心方法及数据结构包异常信息处理基础实体类基础常量业务接口业务控制器Bean相关操作,包括Bean信息描述,Bean路径表达式、动态Bean等Bean拷贝实现,包括拷贝选项等Bean值提供者方式封装Bean路径,通过路径表达式查找或设置对象或子对象中的值Bean路径节点建造者工具 用于建造特定对象或结果,建造者模式的抽象。提供简易缓存实现,此模块参考了jodd中的相应模块文件缓存实现各种缓存实现Array、Date、List、Map以及Iterator等封装提供数组相关封装日期封装,日期的核心为DateTime类日期构建民俗文化 由于区域文化差异对于年月日等相关统称也有所不同 cn - 中文区域 en - 英文区域 其他区域根据相关内容实现或重写相关方法即可中国传统文化/日历相关 部分内容来自 https://github.com/6tail/lunar-java物候夏季三伏生成八字童限计算童限计算方式胎神彭祖数九梅雨六十周期九星七曜六曜(孔明六曜星、小六壬)十神十二神二十八宿西方文化相关中文农历中文公历/阳历提供线程安全的日期格式的格式化和解析实现提供日期解析相关封装,主要包括:日期输出函数封装 接口灵感来自于ActFramework 一个函数接口代表一个一个函数,用于包装一个函数为对象 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为一个对象,从而传递对象列表分区或分段Map相关封装,提供特殊Map实现ConcurrentMap数据结构Weigher是一个简单的接口,用于确定一个条目消耗多少个单位。多参数类型的Map实现,包括集合类型值的MultiValueMap和Table MultiValueMap:一个键对应多个值的集合的实现,类似于树的结构。弱引用Map实现队列Queue相关封装正则表达式相关封装Set相关封装Java8的stream相关封装spliterator实现编码解码封装编码封装BaseN编码解码,提供将bytes和baseN的编码转换功能。提供Hash算法的封装MetroHash算法实现各种比较器(Comparator)实现和封装万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法 转换器是典型的策略模式应用,可自定义转换策略。针对对象转换为String的封装数据相关封装 如ID、电话、统一社会信用代码、密码、坐标系、数据脱敏等数据脱敏,提供各种数据类型(字符串、数字等)的脱敏方法。提供单例对象的统一管理IO相关封装,包括Inputstream、OutputStream、Buffer等实现Buffer相关工具封装IO校验相关库和工具CRC16相关算法封装为Checksum压缩解压封装IO流拷贝相关封装相关封装对文件读写的封装,包括文件拷贝、文件读取、文件写出、行处理等FileVisitor功能性实现,包括递归删除、拷贝等针对ClassPath和文件中资源读取的封装InputStream和OutputStream相关方法和类封装数据单位相关封装,包括DataUnit数据单位和DataSize数据大小基于JDK7+ WatchService的文件和目录监听封装,支持多级目录语言特性包,包括大量便捷的数据结构,包括: ANSI:ANSI编码 Builder:构建器 Caller:查找调用者 Copier:拷贝(复制) Generator:生成器 Getter:getXXX抽象 Intern:规范化表示形式 Loader:加载器的抽象 Mutable:可变值对象封装 Range:区间和边界封装 Tuple:元组注解包,提供增强型注解注解包,提供项目环境增强注解包,提供增强型注解和注解工具类,处理包括: 注解元素(AnnotatedElements)上的注解。AnnotatedElement 对象实现命令行终端中ANSI 转义序列相关封装,如ANSI颜色等调用者接口及实现。拷贝抽象实现,通过抽象拷贝,可以实现文件、流、Buffer之间的拷贝实现发布订阅模式封装,发布/订阅是一种消息范式 消息的发送者(EventPublisher)将事件或消息(Event)广播出去,订阅者(Subscriber)接收到消息后处理。异常处理相关封装getXXX方法的接口和抽象实现规范化表示形式封装 所谓规范化,即当两个对象equals时,规范化的对象则可以实现== 此包中的相关封装类似于 String#intern()加载器的抽象接口和实现,包括懒加载的实现等类加载相关封装和工具服务提供接口SPI(Service Provider interface)机制相关封装,包括:ListServiceLoader,提供列表形式的服务定义MapServiceLoader,提供键值对形式的服务定义提供可变值对象的封装,用于封装int、long等不可变值,使其可变对象池封装实现 整体参考了: https://github.com/DanielYWoo/fast-object-pool/ https://github.com/apache/commons-pool基于分区的对象池实现,参考:https://github.com/DanielYWoo/fast-object-pool提供区间和边界封装,主要包括:Bound: 提供边界的抽象表示,包括边界范围、开闭区间等。引用工具封装,主要针对Reference工具化封装 主要封装包括:提供反射相关功能对象和类对象实例化器,对象创建器提供Field相关封装Kotlin反射相关封装,需引入: kotlin-stdlib kotlin-reflectMethodHandles.Lookup创建封装,以根据不同的条件查找MethodHandles提供Method相关封装选择器相关封装,包括:WeightRandomSelector提供线程及高并发封装锁的实现ThreadLocal相关封装提供包装对象的抽象 通过包装接口,实现装饰模式或代理模式,以增强或目标对象功能提供数学计算相关封装,包括排列组合等,入口为MathKit网络相关工具IPv4/IPv6TLS相关URL相关提供文本相关操作的封装布隆过滤,提供一些Hash算法的布隆过滤DFA全称为:Deterministic Finite Automaton,即确定有穷自动机 用所有关键字构造一棵树,然后用正文遍历这棵树,遍历到叶子节点即表示文章中存在这个关键字。提供各种转义和反转义实现文本查找实现,包括: 查找文本中的字符(正向、反向) 查找文本中的匹配字符(正向、反向) 查找文本中的字符串(正向、反向) 查找文本中匹配正则的字符串(正向)字符串占位符相关封装,包括占位符替换变量和解析变量占位符节点字符串模板文本替换类抽象及实现提供通用树生成,特点:节点解析器封装XML和JAXB(Java Architecture for XML Binding)相关封装 由于JDK11+移除了"javax.xml.bind"相关类型,因此封装于extra模块提供各种工具封装 xyz:做好一切必要准备,可以行动了