Skip navigation links

ujava-parent 7.0.0 API

See: Description

Packages 
Package Description
cn.ujava.all  
cn.ujava.common
UJava通用工具等
cn.ujava.common.annotation
注解包,提供增强型注解和注解工具类
cn.ujava.common.array
提供数组相关封装
cn.ujava.common.bean
Bean相关操作,包括Bean信息描述,Bean路径表达式、动态Bean、Bean工具等
cn.ujava.common.bean.copier
Bean拷贝实现,包括拷贝选项等
cn.ujava.common.bean.copier.provider
Bean值提供者方式封装
cn.ujava.common.cache
提供简易的缓存实现,此模块参考了jodd工具中的Cache模块
cn.ujava.common.cache.file
提供针对文件的缓存实现
cn.ujava.common.cache.impl
提供各种缓存实现
cn.ujava.common.classloader
类加载相关封装和工具
cn.ujava.common.codec
编码解码封装编码封装
cn.ujava.common.codec.binary
BaseN编码解码,提供将bytes和baseN的编码转换功能。 Base16 Base32 Base58 Base62 Base64
cn.ujava.common.codec.hash
提供Hash算法的封装
cn.ujava.common.codec.hash.metro
MetroHash算法实现
cn.ujava.common.collection
集合以及Iterator封装,包括集合工具CollUtil,Iterator和Iterable工具IterUtil
cn.ujava.common.collection.iter
IteratorIterable相关封装
cn.ujava.common.collection.partition
列表分区或分段
cn.ujava.common.collection.queue
队列Queue相关封装
cn.ujava.common.collection.set
Set相关封装
cn.ujava.common.comparator
各种比较器(Comparator)实现和封装
cn.ujava.common.compress
压缩解压封装
cn.ujava.common.convert
万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法
cn.ujava.common.convert.impl
各种类型转换的实现类,其都为Converter接口的实现,用于将未知的Object类型转换为指定类型
cn.ujava.common.convert.impl.stringer
针对对象转换为String的封装
cn.ujava.common.data
数据相关封装和工具类
在Hutool中,“数据”是指社会属性的内容
如ID、电话、统一社会信用代码、密码、坐标系、数据脱敏等。
cn.ujava.common.data.id
提供各种ID生成
cn.ujava.common.date
日期封装,日期的核心为DateTime类,DateUtil提供日期操作的入口
cn.ujava.common.date.chinese
农历相关类汇总,包括农历月、天干地支、农历节日、24节气等
cn.ujava.common.date.format
提供线程安全的日期格式的格式化和解析实现
cn.ujava.common.date.format.parser
提供日期解析相关封装
cn.ujava.common.exception
特殊异常封装,同时提供异常工具ExceptionUtil
cn.ujava.common.func
函数封装
接口灵感来自于ActFramework
一个函数接口代表一个一个函数,用于包装一个函数为对象
在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为一个对象,从而传递对象
cn.ujava.common.io
IO相关封装和工具类,包括Inputstream和OutputStream实现类,工具包括流工具IoUtil、文件工具FileUtil和Buffer工具BufferUtil
cn.ujava.common.io.buffer
Buffer相关工具封装
cn.ujava.common.io.checksum
IO校验相关库和工具
cn.ujava.common.io.checksum.crc16
CRC16相关算法封装为Checksum
cn.ujava.common.io.copy
IO流拷贝相关封装相关封装
cn.ujava.common.io.file
对文件读写的封装,包括文件拷贝、文件读取、文件写出、行处理等
cn.ujava.common.io.file.visitor
FileVisitor功能性实现,包括递归删除、拷贝等
cn.ujava.common.io.resource
针对ClassPath和文件中资源读取的封装,主要入口为工具类ResourceUtil
cn.ujava.common.io.stream
InputStream和OutputStream相关方法和类封装
cn.ujava.common.io.unit
数据单位相关封装,包括DataUnit数据单位和DataSize数据大小
cn.ujava.common.io.watch
基于JDK7+ WatchService的文件和目录监听封装,支持多级目录
cn.ujava.common.io.watch.watchers
文件监听中的观察者实现类,包括延迟处理、处理链等
cn.ujava.common.lang
语言特性包,包括大量便捷的数据结构,包括: ANSI:ANSI编码 Builder:构建器 Caller:查找调用者 Copier:拷贝(复制) Generator:生成器 Getter:getXXX抽象 Intern:规范化表示形式 Loader:加载器的抽象 Mutable:可变值对象封装 Range:区间和边界封装 Tuple:元组
cn.ujava.common.lang.ansi
命令行终端中ANSI 转义序列相关封装,如ANSI颜色等
cn.ujava.common.lang.builder
建造者工具
用于建造特定对象或结果
cn.ujava.common.lang.caller
调用者接口及实现。可以通过此类的方法获取调用者、多级调用者以及判断是否被调用
cn.ujava.common.lang.copier
拷贝抽象实现,通过抽象拷贝,可以实现文件、流、Buffer之间的拷贝实现
cn.ujava.common.lang.generator
提供生成器接口及相关封装
cn.ujava.common.lang.getter
getXXX方法的接口和抽象实现
cn.ujava.common.lang.intern
规范化表示形式封装
所谓规范化,即当两个对象equals时,规范化的对象则可以实现==
此包中的相关封装类似于 String#intern()
cn.ujava.common.lang.loader
加载器的抽象接口和实现,包括懒加载的实现等
cn.ujava.common.lang.mutable
提供可变值对象的封装,用于封装int、long等不可变值,使其可变
cn.ujava.common.lang.page
提供分页信息封装,主要包括: PageInfo: 提供分页信息。 NavigatePageInfo: 提供分页导航信息。
cn.ujava.common.lang.range
提供区间和边界封装,主要包括: Bound: 提供边界的抽象表示,包括边界范围、开闭区间等。 Range: 提供可迭代的区间。
cn.ujava.common.lang.selector
选择器相关封装,包括: WeightRandomSelector
cn.ujava.common.lang.tuple
元组相关封装,包括: 类似Python元组的Tuple 三元组Triple
cn.ujava.common.map
Map相关封装,提供特殊Map实现以及Map工具MapUtil
cn.ujava.common.map.concurrent
This package contains an implementation of a bounded ConcurrentMap data structure.
cn.ujava.common.map.multi
多参数类型的Map实现,包括集合类型值的MultiValueMap和Table
MultiValueMap:一个键对应多个值的集合的实现,类似于树的结构。 Table:使用两个键映射到一个值,类似于表格结构。
cn.ujava.common.math
提供数学计算相关封装,包括排列组合等,入口为MathUtil
cn.ujava.common.net
网络相关工具
cn.ujava.common.net.multipart
文件上传封装
cn.ujava.common.net.ssl
SSL相关封装
cn.ujava.common.net.url
URL相关工具
cn.ujava.common.reflect
提供反射相关功能对象和类
cn.ujava.common.reflect.kotlin
Kotlin反射相关封装,需引入: kotlin-stdlib kotlin-reflect
cn.ujava.common.reflect.lookup
MethodHandles.Lookup 创建封装,以根据不同的条件查找MethodHandles
cn.ujava.common.reflect.method
提供方法相关封装
cn.ujava.common.regex
正则表达式相关封装
cn.ujava.common.spi
服务提供接口SPI(Service Provider interface)机制相关封装,包括: ListServiceLoader,提供列表形式的服务定义 MapServiceLoader,提供键值对形式的服务定义
cn.ujava.common.stream
Java8的stream相关封装
cn.ujava.common.stream.spliterators  
cn.ujava.common.text
提供文本相关操作的封装,还包括Unicode工具UnicodeUtil
cn.ujava.common.text.bloom
布隆过滤,提供一些Hash算法的布隆过滤
cn.ujava.common.text.dfa
DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。
解释起来原理其实也不难,就是用所有关键字构造一棵树,然后用正文遍历这棵树,遍历到叶子节点即表示文章中存在这个关键字。
我们暂且忽略构建关键词树的时间,每次查找正文只需要O(n)复杂度就可以搞定。
cn.ujava.common.text.escape
提供各种转义和反转义实现
cn.ujava.common.text.finder
文本查找实现,包括: 查找文本中的字符(正向、反向) 查找文本中的匹配字符(正向、反向) 查找文本中的字符串(正向、反向) 查找文本中匹配正则的字符串(正向)
cn.ujava.common.text.placeholder
字符串占位符相关封装,包括占位符替换变量和解析变量
cn.ujava.common.text.placeholder.segment  
cn.ujava.common.text.placeholder.template  
cn.ujava.common.text.replacer
文本替换类抽象及实现
cn.ujava.common.text.split
字符串切分封装和工具类
cn.ujava.common.thread
提供线程及高并发封装,入口为ThreadUtil
cn.ujava.common.thread.lock
锁的实现
cn.ujava.common.thread.threadlocal
ThreadLocal相关封装
cn.ujava.common.tree
提供通用树生成,特点:
cn.ujava.common.tree.hierarchy
用于处理层级结构的通用工具列,结构类似 Stream + Collector。
HierarchyUtil 提供深度优先和广度优先算法实现,HierarchyIterator 则提供具体的操作逻辑
cn.ujava.common.tree.parser
节点解析器封装
cn.ujava.common.util
提供各种工具方法,按照归类入口为XXXUtil,如字符串工具StrUtil等
cn.ujava.common.xml
XML相关工具封装
cn.ujava.design.abstractfactory
抽象工厂模式 示例:通过定义一个创建对象的接口来创建对象,但将具体实现的决定留给子类来决定。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。
cn.ujava.design.adapter
适配器模式 示例:我们有一个目标接口 Target ,一个源接口 Adaptee 和一个适配器类 Adapter 。适配器类实现了目标接口,并且将请求转发到源接口的特定请求方法。客户端代码创建一个适配器对象,并使用它来调用目标接口的方法。
cn.ujava.design.bridge
桥接模式 示例:它允许我们在运行时动态地改变 Shape 类的颜色而不用影响到 Shape 子类,同时也允许我们增加新的颜色和形状类而无需改变其它现有的类。
cn.ujava.design.builder
建造者模式 示例:我们创建了Car类作为我们想要构建的复杂对象。然后,我们创建了CarBuilder类,该类逐步构建Car对象,并最终返回它。最后,我们使用CarBuilder来构建Car对象。
cn.ujava.design.command
命令模式 示例:文件创建和删除
cn.ujava.design.composite
组合模式 示例:其中我们使用一个抽象类Component来表示树形结构中的节点,包括叶节点和组合节点。
cn.ujava.design.decorator
装饰者模式 示例:我们有一个 Pizza 接口,它定义了Pizza 的核心行为,包括其描述和成本。 然后我们有一个 PlainPizza 类,它实现了 Pizza 接口。
cn.ujava.design.facade
外观模式 示例:我们有三个子系统类: CPU , Memory 和 HardDrive 。每个类都执行系统的不同功能,例如处理数据,加载内存和读取硬盘数据。
cn.ujava.design.factory
工厂模式 示例:定义一个静态方法,根据传入的参数创建具体的产品类对象
cn.ujava.design.filter
过滤器模式 示例: Java过滤器设计模式的基本实现方法。通过定义不同的过滤器类来链接它们,可以实现不同的功能。
cn.ujava.design.flyweight
享元模式 示例:我们有一个 Shape 接口,它定义了一个 draw() 方法,用于绘制图形。
cn.ujava.design.interpreter
解释器模式 示例:我们定义了两个终结符表达式(NumberExpression)和一个非终结符表达式(AddExpression),用于表示加法操作。 我们还定义了一个上下文(Context),用于存储变量和函数,以及一个解释器(Interpreter),用于执行表达式。最后,我们使用解释器执行了一个简单的加法表达式,并打印出了结果。
cn.ujava.design.iterator
迭代器模式 示例:
cn.ujava.design.mediator
中介者模式 示例:Mediator接口定义了send()方法,用于处理对象之间的交互。
cn.ujava.design.memento
备忘录模式 示例:Originator类表示原始对象,它包含需要保存的状态。createMemento()方法创建备忘录对象,并将当前状态保存到备忘录对象中。restore()方法用于从备忘录对象中恢复先前的状态。
cn.ujava.design.nullobject
空对象模式 示例:我们定义了一个接口User,它表示一个用户,并包含两个方法:getName()和hasAccess()。
cn.ujava.design.observer
观察者模式 示例:定义了抽象主题接口(Subject)和抽象观察者接口(Observer),用于表示主题和观察者对象。
cn.ujava.design.prototype
原型模式 示例:Shape是一个抽象类,它实现了Cloneable接口并重写了clone()方法。Circle和Square是Shape的具体子类,它们实现了draw()方法。ShapeCache类是一个缓存,它存储了Shape对象的副本。PrototypePatternDemo类是一个演示类,它使用ShapeCache来获取Shape对象的副本。
cn.ujava.design.proxy
代理模式 示例:静态代理、jdk动态代理、cglib动态代理
cn.ujava.design.responsibility
责任链模式 示例:如何创建一个处理器链,并将请求沿着链传递,直到有一个处理程序处理它为止。 在这个例子中,ConcreteHandler1、ConcreteHandler2和ConcreteHandler3都是具体的处理器类,它们继承自AbstractHandler类,并实现handleRequest方法。客户端代码创建了一个处理器链,并将请求发送到链的第一个处理器。当请求到达处理器时,它会检查请求类型是否与处理器可以处理的类型匹配。如果是,处理器将处理请求。否则,它将请求传递给链中的下一个处理器,直到有一个处理程序处理它为止。
cn.ujava.design.singleton
单例模式 示例:饿汉式、懒汉式双检锁、内部静态类、枚举、直接枚举
cn.ujava.design.state
状态模式 示例: 我们定义了一个状态接口State和两个具体状态类ConcreteState1和ConcreteState2。我们还定义了一个环境类Context,它包含一个状态对象,并定义了一个请求方法request(),用于调用当前状态对象的handle()方法。在客户端代码中,我们创建了一个Context对象,并设置它的状态为ConcreteState1,然后调用request()方法,输出"ConcreteState1 is handling.“。接着,我们将Context的状态设置为ConcreteState2,并再次调用request()方法,输出"ConcreteState2 is handling.”。
cn.ujava.design.strategy
策略模式 示例: PaymentStrategy 接口定义了一种支付方式,并包含一个 pay 方法,该方法接受一个金额参数。
cn.ujava.design.template
模版模式 示例: Game类是一个抽象类,定义了一个play()方法作为模板方法。
cn.ujava.design.visitor
访问者模式 示例:实现一个简单的计算器,它可以对表达式进行计算。我们将使用访问者模式来遍历表达式树,并对每个节点执行相应的操作。 我们定了一个表达式接口Expression,并提供了两个表达式实现类数字表达式NumberExpression和加法表达式AdditionExpression, 定义了一个访问者接口Visitor,以及两个具体访问者CalculatorVisitor、PrinterVisitor,两个访问者接收表达式对象,并在访问者中对表达式实现具体操作,分别是表达式运算以及表达式打印。
cn.ujava.script
Script模块做脚本管理

ujava

UJava是一个功能丰富且易用的Java架构设计工具,旨在帮助开发者快速、便捷地使用各类设计完成开发任务,以满足各类业务需求。

Skip navigation links

Copyright © 2024. All rights reserved.