diff --git a/.travis.yml b/.travis.yml index ecbacfe9cf..2983228339 100755 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: java jdk: - - openjdk8 + - openjdk17 notifications: email: false diff --git a/README.md b/README.md index 24fb743b71..f237a0dd97 100755 --- a/README.md +++ b/README.md @@ -6,19 +6,19 @@

- + - + - - + + - + - + @@ -97,7 +97,7 @@ Bus (应用/服务总线) 是一个基础框架、服务套件,它基于Java8 org.aoju bus-all - 6.3.5 + 6.5.0 ``` @@ -130,16 +130,16 @@ implementation 'org.aoju:bus-all:x.x.x' - 地址: [https://github.com/aoju/abarth](https://github.com/aoju/abarth) > 注意 -> Bus项目支持JDK8+,对Android平台部分模块没有测试,不能保证所有工具类或工具方法可用。 +> Bus项目支持Java 17+,对Android平台部分模块没有测试,不能保证所有工具类或工具方法可用。 ## 分支说明 源码分为两个分支,功能如下: -| 分支 | 作用 | -|-----------|---------------------------------------------------------------| -| master | 主分支,即稳定版本使用的分支,与中央库提交的jar一致,不接收任何PR或修改 | -| develop | 开发分支,默认为下个版本的更新或者修复等,接受修改或PR | +| 分支 | 作用 | +|------|---------------------------------------------------------------| +| main | 主分支,即稳定版本使用的分支,与中央库提交的jar一致,不接收任何PR或修改 | +| dev | 开发分支,默认为下个版本的更新或者修复等,接受修改或PR | ## 意见建议 diff --git a/bus-all/pom.xml b/bus-all/pom.xml index c72fef6c72..79aaedfc10 100755 --- a/bus-all/pom.xml +++ b/bus-all/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-all - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 @@ -202,7 +202,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -211,7 +211,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -245,7 +245,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -288,7 +288,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -302,7 +302,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-all/src/main/java/org/aoju/bus/Bus.java b/bus-all/src/main/java/org/aoju/bus/Bus.java index 9a39fb57b1..ebb5be50b9 100644 --- a/bus-all/src/main/java/org/aoju/bus/Bus.java +++ b/bus-all/src/main/java/org/aoju/bus/Bus.java @@ -43,8 +43,8 @@ *

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Bus extends Version { diff --git a/bus-all/src/main/java/org/aoju/bus/package-info.java b/bus-all/src/main/java/org/aoju/bus/package-info.java index 261ac0bd21..aee99a0b2e 100644 --- a/bus-all/src/main/java/org/aoju/bus/package-info.java +++ b/bus-all/src/main/java/org/aoju/bus/package-info.java @@ -2,7 +2,7 @@ * Bus (应用/服务总线) 是一个基础框架、服务套件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus; \ No newline at end of file diff --git a/bus-base/pom.xml b/bus-base/pom.xml index ce41414e13..55c6c693c3 100755 --- a/bus-base/pom.xml +++ b/bus-base/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-base - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.6.3 1.18.22 2.2 @@ -78,7 +78,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -87,7 +87,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -121,7 +121,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -134,7 +134,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -148,7 +148,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-base/src/main/java/org/aoju/bus/base/advice/BaseAdvice.java b/bus-base/src/main/java/org/aoju/bus/base/advice/BaseAdvice.java index dc57d1e32c..aa0f701838 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/advice/BaseAdvice.java +++ b/bus-base/src/main/java/org/aoju/bus/base/advice/BaseAdvice.java @@ -49,8 +49,8 @@ * 异常信息拦截处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ControllerAdvice @RestControllerAdvice diff --git a/bus-base/src/main/java/org/aoju/bus/base/advice/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/advice/package-info.java index 8ca1224ffd..4a410ae8d4 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/advice/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/advice/package-info.java @@ -2,7 +2,7 @@ * 异常信息处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base.advice; \ No newline at end of file diff --git a/bus-base/src/main/java/org/aoju/bus/base/consts/Consts.java b/bus-base/src/main/java/org/aoju/bus/base/consts/Consts.java index 2889caca84..b3a1195e9d 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/consts/Consts.java +++ b/bus-base/src/main/java/org/aoju/bus/base/consts/Consts.java @@ -32,8 +32,8 @@ * 公共常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Consts extends Normal { diff --git a/bus-base/src/main/java/org/aoju/bus/base/consts/ErrorCode.java b/bus-base/src/main/java/org/aoju/bus/base/consts/ErrorCode.java index 4dd7341bf7..b776a23104 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/consts/ErrorCode.java +++ b/bus-base/src/main/java/org/aoju/bus/base/consts/ErrorCode.java @@ -35,8 +35,8 @@ * 系统响应码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ErrorCode { diff --git a/bus-base/src/main/java/org/aoju/bus/base/consts/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/consts/package-info.java index d13e195f1e..dafa569d80 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/consts/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/consts/package-info.java @@ -2,7 +2,7 @@ * 基础常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base.consts; \ No newline at end of file diff --git a/bus-base/src/main/java/org/aoju/bus/base/entity/BaseEntity.java b/bus-base/src/main/java/org/aoju/bus/base/entity/BaseEntity.java index 05f07c68ee..3676dcd554 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/entity/BaseEntity.java +++ b/bus-base/src/main/java/org/aoju/bus/base/entity/BaseEntity.java @@ -40,8 +40,8 @@ * Entity 基本信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bus-base/src/main/java/org/aoju/bus/base/entity/Entity.java b/bus-base/src/main/java/org/aoju/bus/base/entity/Entity.java index 46d1c44815..cb2fd17896 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/entity/Entity.java +++ b/bus-base/src/main/java/org/aoju/bus/base/entity/Entity.java @@ -34,8 +34,8 @@ * Entity 实体 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public abstract class Entity implements Serializable { diff --git a/bus-base/src/main/java/org/aoju/bus/base/entity/Message.java b/bus-base/src/main/java/org/aoju/bus/base/entity/Message.java index 51373f1aa7..074477244f 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/entity/Message.java +++ b/bus-base/src/main/java/org/aoju/bus/base/entity/Message.java @@ -34,8 +34,8 @@ * 返回值公用类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-base/src/main/java/org/aoju/bus/base/entity/OAuth2.java b/bus-base/src/main/java/org/aoju/bus/base/entity/OAuth2.java index 06f5b38376..16425d0eb3 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/entity/OAuth2.java +++ b/bus-base/src/main/java/org/aoju/bus/base/entity/OAuth2.java @@ -34,8 +34,8 @@ * 授权公用类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bus-base/src/main/java/org/aoju/bus/base/entity/Result.java b/bus-base/src/main/java/org/aoju/bus/base/entity/Result.java index a9b01d2edd..e6936c88d0 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/entity/Result.java +++ b/bus-base/src/main/java/org/aoju/bus/base/entity/Result.java @@ -35,8 +35,8 @@ * 返回结果公用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bus-base/src/main/java/org/aoju/bus/base/entity/Tracer.java b/bus-base/src/main/java/org/aoju/bus/base/entity/Tracer.java index 12fb563646..2f7b6a609c 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/entity/Tracer.java +++ b/bus-base/src/main/java/org/aoju/bus/base/entity/Tracer.java @@ -34,8 +34,8 @@ * 访问链路跟踪 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bus-base/src/main/java/org/aoju/bus/base/entity/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/entity/package-info.java index 7bea9b9afe..0b7923cc97 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/entity/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/entity/package-info.java @@ -2,7 +2,7 @@ * 基础实体类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base.entity; \ No newline at end of file diff --git a/bus-base/src/main/java/org/aoju/bus/base/mapper/BaseMapper.java b/bus-base/src/main/java/org/aoju/bus/base/mapper/BaseMapper.java index 0ea41a105e..b5b593f6fd 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/mapper/BaseMapper.java +++ b/bus-base/src/main/java/org/aoju/bus/base/mapper/BaseMapper.java @@ -29,8 +29,8 @@ * BaseMapper 接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BaseMapper extends Mapper { diff --git a/bus-base/src/main/java/org/aoju/bus/base/mapper/Mapper.java b/bus-base/src/main/java/org/aoju/bus/base/mapper/Mapper.java index b06998918c..c5cfcb6e0b 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/mapper/Mapper.java +++ b/bus-base/src/main/java/org/aoju/bus/base/mapper/Mapper.java @@ -29,8 +29,8 @@ * Core Mapper 接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Mapper extends org.aoju.bus.mapper.Mapper { diff --git a/bus-base/src/main/java/org/aoju/bus/base/mapper/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/mapper/package-info.java index 4a36dcce8f..5f160ec8d6 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/mapper/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/mapper/package-info.java @@ -2,7 +2,7 @@ * 基础持久化支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base.mapper; \ No newline at end of file diff --git a/bus-base/src/main/java/org/aoju/bus/base/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/package-info.java index 30ebe7a74d..d18ba6c150 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/package-info.java @@ -2,7 +2,7 @@ * 基础功能实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base; \ No newline at end of file diff --git a/bus-base/src/main/java/org/aoju/bus/base/service/BaseService.java b/bus-base/src/main/java/org/aoju/bus/base/service/BaseService.java index 80ff95a18e..f7faba0ba9 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/service/BaseService.java +++ b/bus-base/src/main/java/org/aoju/bus/base/service/BaseService.java @@ -33,8 +33,8 @@ * BaseService 接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BaseService extends Service { diff --git a/bus-base/src/main/java/org/aoju/bus/base/service/Service.java b/bus-base/src/main/java/org/aoju/bus/base/service/Service.java index 766bf7f8bf..97d1e9e346 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/service/Service.java +++ b/bus-base/src/main/java/org/aoju/bus/base/service/Service.java @@ -28,8 +28,8 @@ * Service 接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Service { diff --git a/bus-base/src/main/java/org/aoju/bus/base/service/impl/BaseServiceImpl.java b/bus-base/src/main/java/org/aoju/bus/base/service/impl/BaseServiceImpl.java index 5258cefe4e..c79b5aabbc 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/service/impl/BaseServiceImpl.java +++ b/bus-base/src/main/java/org/aoju/bus/base/service/impl/BaseServiceImpl.java @@ -46,8 +46,8 @@ * 重写此类及{@link BaseEntity} 业务类继承新类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaseServiceImpl, T extends BaseEntity> implements BaseService { diff --git a/bus-base/src/main/java/org/aoju/bus/base/service/impl/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/service/impl/package-info.java index 00831964a6..e72d80af6c 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/service/impl/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/service/impl/package-info.java @@ -2,7 +2,7 @@ * 基础业务实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base.service.impl; \ No newline at end of file diff --git a/bus-base/src/main/java/org/aoju/bus/base/service/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/service/package-info.java index 7a276776aa..b7b8e09125 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/service/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/service/package-info.java @@ -2,7 +2,7 @@ * 基础业务接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base.service; \ No newline at end of file diff --git a/bus-base/src/main/java/org/aoju/bus/base/spring/BaseController.java b/bus-base/src/main/java/org/aoju/bus/base/spring/BaseController.java index 5173f0f015..c570a2a54c 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/spring/BaseController.java +++ b/bus-base/src/main/java/org/aoju/bus/base/spring/BaseController.java @@ -36,8 +36,8 @@ * 基础请求封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaseController, T> extends Controller { diff --git a/bus-base/src/main/java/org/aoju/bus/base/spring/Controller.java b/bus-base/src/main/java/org/aoju/bus/base/spring/Controller.java index 42c456f646..e265c09264 100755 --- a/bus-base/src/main/java/org/aoju/bus/base/spring/Controller.java +++ b/bus-base/src/main/java/org/aoju/bus/base/spring/Controller.java @@ -33,8 +33,8 @@ * 基础输出封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Controller { diff --git a/bus-base/src/main/java/org/aoju/bus/base/spring/package-info.java b/bus-base/src/main/java/org/aoju/bus/base/spring/package-info.java index b502a36080..920b8c2146 100644 --- a/bus-base/src/main/java/org/aoju/bus/base/spring/package-info.java +++ b/bus-base/src/main/java/org/aoju/bus/base/spring/package-info.java @@ -2,7 +2,7 @@ * 基础API功能 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.base.spring; \ No newline at end of file diff --git a/bus-bom/pom.xml b/bus-bom/pom.xml index fb5dea7d36..ad671f6d2c 100755 --- a/bus-bom/pom.xml +++ b/bus-bom/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-bom - 6.3.5 + 6.5.0 pom ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 @@ -182,7 +182,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -191,7 +191,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -225,7 +225,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -238,7 +238,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -252,7 +252,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-cache/README.md b/bus-cache/README.md index 3ce09f1398..5814db1c8c 100755 --- a/bus-cache/README.md +++ b/bus-cache/README.md @@ -69,7 +69,7 @@ Object func(@CacheKey("#arg0[#i]") List ids){ org.aoju.bus bus-cache - 6.3.5 + 6.5.0 ``` diff --git a/bus-cache/pom.xml b/bus-cache/pom.xml index 02744e473f..699e8cdfda 100755 --- a/bus-cache/pom.xml +++ b/bus-cache/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-cache - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.6.3 1.18.22 5.0.1 @@ -89,6 +89,18 @@ ${jedis.version} true + + com.caucho + hessian + ${hession.version} + true + + + mysql + mysql-connector-java + ${mysql.version} + true + com.google.inject guice @@ -145,35 +157,11 @@ - - com.caucho - hessian - ${hession.version} - true - - - mysql - mysql-connector-java - ${mysql.version} - true - - - com.alibaba - druid - ${druid.version} - true - org.springframework.boot spring-boot-starter-jdbc ${spring.boot.version} true - - - com.zaxxer - HikariCP - - org.springframework.boot @@ -188,7 +176,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -197,7 +185,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -231,7 +219,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -244,7 +232,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -258,7 +246,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/CacheX.java b/bus-cache/src/main/java/org/aoju/bus/cache/CacheX.java index 7af188ebd0..b952ccb7aa 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/CacheX.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/CacheX.java @@ -32,8 +32,8 @@ * 缓存接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/Complex.java b/bus-cache/src/main/java/org/aoju/bus/cache/Complex.java index 0aa6a24c47..45aa4854a2 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/Complex.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/Complex.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Singleton public class Complex { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/Context.java b/bus-cache/src/main/java/org/aoju/bus/cache/Context.java index 5c06dc569e..a360cb9028 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/Context.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/Context.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Context { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/Hitting.java b/bus-cache/src/main/java/org/aoju/bus/cache/Hitting.java index 060d7fea1f..c1a7e325e8 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/Hitting.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/Hitting.java @@ -33,8 +33,8 @@ * 缓存命中策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Hitting { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/Manage.java b/bus-cache/src/main/java/org/aoju/bus/cache/Manage.java index 780a4a5fb7..59f0beb03e 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/Manage.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/Manage.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Singleton public class Manage { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/Module.java b/bus-cache/src/main/java/org/aoju/bus/cache/Module.java index fa05c4a7ef..6b9a2c7dde 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/Module.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/Module.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Module extends AbstractModule { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CacheKey.java b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CacheKey.java index 02b7fe0a8b..ae7d77fbf5 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CacheKey.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CacheKey.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(ElementType.PARAMETER) diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Cached.java b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Cached.java index 121e6b96a5..0c68996e50 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Cached.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Cached.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(value = ElementType.METHOD) diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CachedGet.java b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CachedGet.java index dd7673ff9a..cc812e92ac 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CachedGet.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/CachedGet.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(value = ElementType.METHOD) diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Invalid.java b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Invalid.java index d8fb219bf4..ed3e097960 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Invalid.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/Invalid.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(value = ElementType.METHOD) diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/package-info.java b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/package-info.java index 654f5a9a3a..6de6c7379f 100644 --- a/bus-cache/src/main/java/org/aoju/bus/cache/annotation/package-info.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/annotation/package-info.java @@ -2,7 +2,7 @@ * 缓存注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cache.annotation; \ No newline at end of file diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/AbstractReader.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/AbstractReader.java index fc98ee1690..ded69aad1f 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/AbstractReader.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/AbstractReader.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractReader { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/AnnoHolder.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/AnnoHolder.java index e629c5f48e..a07dcda38b 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/AnnoHolder.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/AnnoHolder.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AnnoHolder { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheExpire.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheExpire.java index fffdf592bf..7b90e9edb6 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheExpire.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheExpire.java @@ -29,8 +29,8 @@ * 缓存过期时间 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CacheExpire { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheKeys.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheKeys.java index 2bef1977c9..f73da18b90 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheKeys.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/CacheKeys.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CacheKeys { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/CachePair.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/CachePair.java index f75316b356..d617756c74 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/CachePair.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/CachePair.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CachePair { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/MethodHolder.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/MethodHolder.java index 71e310861c..7c67358ff2 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/MethodHolder.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/MethodHolder.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MethodHolder { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/MultiCacheReader.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/MultiCacheReader.java index 577ea558f4..1f374b7131 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/MultiCacheReader.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/MultiCacheReader.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Singleton public class MultiCacheReader extends AbstractReader { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/SingleCacheReader.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/SingleCacheReader.java index 9d868addd8..34b5f8ef94 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/SingleCacheReader.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/SingleCacheReader.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Singleton public class SingleCacheReader extends AbstractReader { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/magic/package-info.java b/bus-cache/src/main/java/org/aoju/bus/cache/magic/package-info.java index 4b0f49e3ef..be31197358 100644 --- a/bus-cache/src/main/java/org/aoju/bus/cache/magic/package-info.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/magic/package-info.java @@ -2,7 +2,7 @@ * 缓存时间等实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cache.magic; \ No newline at end of file diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/EhCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/EhCache.java index 3b925e7097..5074140bc4 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/EhCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/EhCache.java @@ -47,8 +47,8 @@ * 具有快速、精干等特点 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EhCache implements CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/ExtendCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/ExtendCache.java index 46eaa76c59..e763b6951b 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/ExtendCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/ExtendCache.java @@ -29,8 +29,8 @@ * 缓存接口,方便用户扩展 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ExtendCache { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/GuavaCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/GuavaCache.java index 3b7574bb1a..483bf23302 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/GuavaCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/GuavaCache.java @@ -39,8 +39,8 @@ * Guava 缓存支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GuavaCache implements CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemcachedCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemcachedCache.java index 5ab63000b6..5fc0a76fcf 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemcachedCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemcachedCache.java @@ -44,8 +44,8 @@ * Memcached 缓存支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MemcachedCache implements CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemoryCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemoryCache.java index fe2b93601e..5bc12be95e 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemoryCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/MemoryCache.java @@ -47,8 +47,8 @@ * 内存缓存支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MemoryCache implements CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/NoOpCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/NoOpCache.java index 69c117a614..c681d25e75 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/NoOpCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/NoOpCache.java @@ -35,8 +35,8 @@ * 无缓存实现,用于快速关闭缓存 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NoOpCache implements CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisCache.java index 332fe0455b..7345b8c95b 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisCache.java @@ -43,8 +43,8 @@ * Redis 单机缓存支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RedisCache implements CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisClusterCache.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisClusterCache.java index fc96b6d617..e99575d233 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisClusterCache.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/RedisClusterCache.java @@ -38,8 +38,8 @@ * Redis 集群缓存支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RedisClusterCache implements CacheX { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/metric/package-info.java b/bus-cache/src/main/java/org/aoju/bus/cache/metric/package-info.java index be956c9639..3f20b4f08c 100644 --- a/bus-cache/src/main/java/org/aoju/bus/cache/metric/package-info.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/metric/package-info.java @@ -2,7 +2,7 @@ * 缓存基本信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cache.metric; \ No newline at end of file diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/package-info.java b/bus-cache/src/main/java/org/aoju/bus/cache/package-info.java index 5901224bf5..40bceaed95 100644 --- a/bus-cache/src/main/java/org/aoju/bus/cache/package-info.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/package-info.java @@ -2,7 +2,7 @@ * 工业级缓存解决方案 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cache; \ No newline at end of file diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/provider/AbstractHitting.java b/bus-cache/src/main/java/org/aoju/bus/cache/provider/AbstractHitting.java index ba708ba89e..a1a5c0ca2b 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/provider/AbstractHitting.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/provider/AbstractHitting.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractHitting implements Hitting { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/provider/H2Hitting.java b/bus-cache/src/main/java/org/aoju/bus/cache/provider/H2Hitting.java index 31d18e0d08..88aeb44b0a 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/provider/H2Hitting.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/provider/H2Hitting.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class H2Hitting extends AbstractHitting { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/provider/MemoryHitting.java b/bus-cache/src/main/java/org/aoju/bus/cache/provider/MemoryHitting.java index 16f20af21b..5dcad0f60a 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/provider/MemoryHitting.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/provider/MemoryHitting.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MemoryHitting implements Hitting { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/provider/MySQLHitting.java b/bus-cache/src/main/java/org/aoju/bus/cache/provider/MySQLHitting.java index 003d1a4814..031994ced0 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/provider/MySQLHitting.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/provider/MySQLHitting.java @@ -25,21 +25,22 @@ ********************************************************************************/ package org.aoju.bus.cache.provider; -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.DruidDataSourceFactory; +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; import org.aoju.bus.core.lang.exception.InstrumentException; import org.springframework.jdbc.core.JdbcOperations; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.function.Supplier; import java.util.stream.Stream; /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MySQLHitting extends AbstractHitting { @@ -55,9 +56,13 @@ public MySQLHitting(String url, String username, String password) { protected Supplier jdbcOperationsSupplier(Map context) { return () -> { try { - DruidDataSource druidDataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(context); - druidDataSource.init(); - JdbcTemplate template = new JdbcTemplate(druidDataSource); + Properties properties = new Properties(); + for (String key : context.keySet()) { + properties.setProperty(key, context.get(key).toString()); + } + + HikariDataSource dataSource = new HikariDataSource(new HikariConfig(properties)); + JdbcTemplate template = new JdbcTemplate(dataSource); template.execute("CREATE TABLE IF NOT EXISTS hi_cache_rate(" + "id BIGINT PRIMARY KEY AUTO_INCREMENT," + "pattern VARCHAR(64) NOT NULL UNIQUE," + diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/provider/SqliteHitting.java b/bus-cache/src/main/java/org/aoju/bus/cache/provider/SqliteHitting.java index 55dcb6d15b..500ca425f4 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/provider/SqliteHitting.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/provider/SqliteHitting.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqliteHitting extends AbstractHitting { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/provider/ZookeeperHitting.java b/bus-cache/src/main/java/org/aoju/bus/cache/provider/ZookeeperHitting.java index 5941cb4b46..fe6cf9e53b 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/provider/ZookeeperHitting.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/provider/ZookeeperHitting.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZookeeperHitting implements Hitting { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/provider/package-info.java b/bus-cache/src/main/java/org/aoju/bus/cache/provider/package-info.java index 8811ef566f..828330e5c4 100644 --- a/bus-cache/src/main/java/org/aoju/bus/cache/provider/package-info.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/provider/package-info.java @@ -2,7 +2,7 @@ * 缓存方案实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cache.provider; \ No newline at end of file diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/AbstractSerializer.java b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/AbstractSerializer.java index be36795b7f..a1586f2a1e 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/AbstractSerializer.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/AbstractSerializer.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractSerializer implements BaseSerializer { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/BaseSerializer.java b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/BaseSerializer.java index 83c4956b04..282dc27c2a 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/BaseSerializer.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/BaseSerializer.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BaseSerializer { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/FastJsonSerializer.java b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/FastJsonSerializer.java index 65b4f14422..8d7b6a86c0 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/FastJsonSerializer.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/FastJsonSerializer.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FastJsonSerializer extends AbstractSerializer { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/Hessian2Serializer.java b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/Hessian2Serializer.java index 1defccdb1b..79e26d093c 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/Hessian2Serializer.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/Hessian2Serializer.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Hessian2Serializer extends AbstractSerializer { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkGzipSerializer.java b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkGzipSerializer.java index d92ae1cc08..603209f6d9 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkGzipSerializer.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkGzipSerializer.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkGzipSerializer extends AbstractSerializer { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkSerializer.java b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkSerializer.java index a2e7ecd08b..537930a0f8 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkSerializer.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/JdkSerializer.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkSerializer extends AbstractSerializer { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/package-info.java b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/package-info.java index 0cd14ce03b..67986a08e5 100644 --- a/bus-cache/src/main/java/org/aoju/bus/cache/serialize/package-info.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/serialize/package-info.java @@ -2,7 +2,7 @@ * 序列化支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cache.serialize; \ No newline at end of file diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/Addables.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/Addables.java index 9fc482803f..8d6024c104 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/Addables.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/Addables.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Addables { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/ArgNameGenerator.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/ArgNameGenerator.java index 33922fe294..37886b6ced 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/ArgNameGenerator.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/ArgNameGenerator.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ArgNameGenerator { @@ -86,7 +86,7 @@ public static String[] getXArgNames(int valueSize) { return xArgs; } - // Java1.8之后提供了获取参数名方法, 但需要编译时添加`–parameters`参数支持, 如`javac –parameters`, 不然参数名为'arg0' + // Java 8 之后提供了获取参数名方法, 但需要编译时添加`–parameters`参数支持, 如`javac –parameters`, 不然参数名为'arg0' private static String[] doGetArgNamesWithJava8(Method method) { Parameter[] parameters = method.getParameters(); String[] argNames = Arrays.stream(parameters).map(Parameter::getName).toArray(String[]::new); diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/CacheInfoContainer.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/CacheInfoContainer.java index 5e2fd6d9ef..b7e783e117 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/CacheInfoContainer.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/CacheInfoContainer.java @@ -49,8 +49,8 @@ * 定位: 将@Cached、@Invalid、@CachedGet、(@CachedPut未来)以及将@CacheKey整体融合到一起 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CacheInfoContainer { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyGenerator.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyGenerator.java index 9a9b42af01..08d0106ca3 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyGenerator.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyGenerator.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class KeyGenerator { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyValue.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyValue.java index e391082f3a..88bd51f804 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyValue.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/KeyValue.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class KeyValue { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/PatternGenerator.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/PatternGenerator.java index d7be907250..f9e7367f1b 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/PatternGenerator.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/PatternGenerator.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PatternGenerator { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/PreventObjects.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/PreventObjects.java index 69dbc76116..2bec64e5ab 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/PreventObjects.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/PreventObjects.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PreventObjects { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/SpelCalculator.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/SpelCalculator.java index ed3b6078c5..6afc154971 100755 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/SpelCalculator.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/SpelCalculator.java @@ -36,8 +36,8 @@ * Spel表达式的计算功能(@Cached内的condition、@CacheKey内的spel只是作为一个增值服务, 并不作为核心功能, 只是作为key拼装的一个亮点, 并不是必须功能) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SpelCalculator { diff --git a/bus-cache/src/main/java/org/aoju/bus/cache/support/package-info.java b/bus-cache/src/main/java/org/aoju/bus/cache/support/package-info.java index 14f2e6432a..2fda5df8b4 100644 --- a/bus-cache/src/main/java/org/aoju/bus/cache/support/package-info.java +++ b/bus-cache/src/main/java/org/aoju/bus/cache/support/package-info.java @@ -2,7 +2,7 @@ * 表达式等计算功能支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cache.support; \ No newline at end of file diff --git a/bus-core/README.md b/bus-core/README.md index e89d6e5f27..e7bf1e4f33 100755 --- a/bus-core/README.md +++ b/bus-core/README.md @@ -4,7 +4,7 @@ ## 运行环境 -要求JDK1.8+ +要求java 17+ ## 快速开始 @@ -14,7 +14,7 @@ org.aoju bus-core - 6.3.5 + 6.5.0 ``` @@ -24,7 +24,7 @@ ## **功能特性** -* 纯JDK的API,无第三方依赖 +* 纯Java的API,无第三方依赖 * 支持多种路径风格的资源加载 * 完全惰性加载,避免性能浪费 * 可自定义资源过滤器实现精确加载 diff --git a/bus-core/pom.xml b/bus-core/pom.xml index 21aa781997..a808fc9bd1 100755 --- a/bus-core/pom.xml +++ b/bus-core/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-core - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 @@ -59,7 +59,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -68,7 +68,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -102,7 +102,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -115,7 +115,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -129,7 +129,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-core/src/main/java/org/aoju/bus/core/Binder.java b/bus-core/src/main/java/org/aoju/bus/core/Binder.java index cdc33e3635..42787dfd88 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/Binder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/Binder.java @@ -43,8 +43,8 @@ * 属性绑定器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RequiredArgsConstructor public class Binder { @@ -87,10 +87,24 @@ public class Binder { private final boolean ignoreUnresolvablePlaceholders; private PropertySource source; + /** + * 构造 + * + * @param placeholderPrefix 占位符前缀 + * @param placeholderSuffix 占位符后缀 + */ public Binder(String placeholderPrefix, String placeholderSuffix) { this(placeholderPrefix, placeholderSuffix, null, true); } + /** + * 构造 + * + * @param placeholderPrefix 占位符前缀 + * @param placeholderSuffix 占位符后缀 + * @param valueSeparator 值分隔符 + * @param ignoreUnresolvablePlaceholders 忽略不可解析的占位符 + */ public Binder(String placeholderPrefix, String placeholderSuffix, String valueSeparator, @@ -234,6 +248,14 @@ public String replacePlaceholders(String value, final Properties properties) { return parseStringValue(value, properties, new HashSet<>()); } + /** + * 替换字符串 + * + * @param value 字符串 + * @param properties 属性 + * @param visitedPlaceholders 参数占位符 + * @return 替换后的字符串 + */ protected String parseStringValue(String value, Properties properties, Set visitedPlaceholders) { StringBuilder result = new StringBuilder(value); diff --git a/bus-core/src/main/java/org/aoju/bus/core/Order.java b/bus-core/src/main/java/org/aoju/bus/core/Order.java index 95c7c9219e..ff19bc8250 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/Order.java +++ b/bus-core/src/main/java/org/aoju/bus/core/Order.java @@ -29,8 +29,8 @@ * 排序 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Order extends Comparable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/Plugin.java b/bus-core/src/main/java/org/aoju/bus/core/Plugin.java index 14ef0b2340..958fc24766 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/Plugin.java +++ b/bus-core/src/main/java/org/aoju/bus/core/Plugin.java @@ -29,8 +29,8 @@ * 插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Plugin extends Order { diff --git a/bus-core/src/main/java/org/aoju/bus/core/Version.java b/bus-core/src/main/java/org/aoju/bus/core/Version.java index 3fe0b17d56..061bdc4c9f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/Version.java +++ b/bus-core/src/main/java/org/aoju/bus/core/Version.java @@ -34,8 +34,8 @@ * Version is Licensed under the MIT License, Version 3.0.0 (the "License") * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Version { diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Alias.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Alias.java index 145c44a1a3..e4646388f1 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Alias.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Alias.java @@ -34,8 +34,8 @@ * 用于字段、方法、参数等提供别名 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/AnnoProxy.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/AnnoProxy.java new file mode 100644 index 0000000000..b249920341 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/AnnoProxy.java @@ -0,0 +1,84 @@ +package org.aoju.bus.core.annotation; + +import org.aoju.bus.core.toolkit.ReflectKit; +import org.aoju.bus.core.toolkit.StringKit; + +import java.io.Serializable; +import java.lang.annotation.Annotation; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; + +/** + * 注解代理 + * 通过代理指定注解,可以自定义调用注解的方法逻辑,如支持{@link Alias} 注解 + * + * @param 注解类型 + */ +public class AnnoProxy implements Annotation, InvocationHandler, Serializable { + + private static final long serialVersionUID = 1L; + + private final T annotation; + private final Class type; + private final Map attributes; + + /** + * 构造 + * + * @param annotation 注解 + */ + public AnnoProxy(T annotation) { + this.annotation = annotation; + this.type = (Class) annotation.annotationType(); + this.attributes = initAttributes(); + } + + @Override + public Class annotationType() { + return type; + } + + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + Alias alias = method.getAnnotation(Alias.class); + if (null != alias) { + final String name = alias.value(); + if (StringKit.isNotBlank(name)) { + if (false == attributes.containsKey(name)) { + throw new IllegalArgumentException(StringKit.format("No method for alias: [{}]", name)); + } + return attributes.get(name); + } + } + + final Object value = attributes.get(method.getName()); + if (value != null) { + return value; + } + return method.invoke(this, args); + } + + /** + * 初始化注解的属性 + * 此方法预先调用所有注解的方法,将注解方法值缓存于attributes中 + * + * @return 属性(方法结果)映射 + */ + private Map initAttributes() { + final Method[] methods = ReflectKit.getMethods(this.type); + final Map attributes = new HashMap<>(methods.length, 1); + + for (Method method : methods) { + if (method.isSynthetic()) { + continue; + } + + attributes.put(method.getName(), ReflectKit.invoke(this.annotation, method)); + } + + return attributes; + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Async.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Async.java index 187d42b019..c20f4829d2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Async.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Async.java @@ -36,8 +36,8 @@ * 将类或方法标记为异步 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Binding.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Binding.java index a0c44cf04e..72bccbb320 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Binding.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Binding.java @@ -34,8 +34,8 @@ * 用于绑定的注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target(ElementType.ANNOTATION_TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Copyable.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Copyable.java index 6f0e840676..29a8869cc9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Copyable.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Copyable.java @@ -29,8 +29,8 @@ * 设置返回元素的类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Copyable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Element.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Element.java index 7fea694ed3..93accd26ad 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Element.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Element.java @@ -39,8 +39,8 @@ * 核心实现使用了递归获取指定元素上的注解以及注解的注解,以实现复合注解的获取 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Element implements AnnotatedElement { diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/GuardeBy.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/GuardeBy.java index 8fc8f3f334..67c3c45830 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/GuardeBy.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/GuardeBy.java @@ -34,8 +34,8 @@ * 有助于代码的维护与审查,以及一些自动化的分析工具找到潜在的安全性错误 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Ignore.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Ignore.java index 4bee58c37c..3834e9fed3 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Ignore.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Ignore.java @@ -31,8 +31,8 @@ * 忽略该属性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Immutable.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Immutable.java index 9b3a1c91d1..7a951c7290 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Immutable.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Immutable.java @@ -31,8 +31,8 @@ * 不可变类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Inject.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Inject.java index 074c2dbe1a..735d34ff6c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Inject.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Inject.java @@ -31,8 +31,8 @@ * 注释实现类的成员(构造函数、方法和字段) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Label.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Label.java index 91f08c9307..99bf7b6c08 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Label.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Label.java @@ -34,8 +34,8 @@ * 用于在输出到CLI表或Excel/CSV等时为字段/getter提供标签. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD, ElementType.METHOD}) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Lazy.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Lazy.java index ce0aa3381a..f1a6d40445 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Lazy.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Lazy.java @@ -35,8 +35,8 @@ * 或者标记为不受立即加载影响的方法(例如,AppConfig中的方法) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Metadata.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Metadata.java index 2a703f975f..623b1db58e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Metadata.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Metadata.java @@ -31,8 +31,8 @@ * 元注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Inherited diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Named.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Named.java index 8ad8081def..704bb2cca8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Named.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Named.java @@ -34,8 +34,8 @@ * 注解命名 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Binding @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/NotThreadSafe.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/NotThreadSafe.java index 33b9dc65f2..bec569dea2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/NotThreadSafe.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/NotThreadSafe.java @@ -31,8 +31,8 @@ * 线程不安全安全注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Inherited diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Qualifier.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Qualifier.java index a95a228d0f..cad15bd907 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Qualifier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Qualifier.java @@ -32,8 +32,8 @@ * 标识qualifier注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target(ElementType.ANNOTATION_TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/SPI.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/SPI.java index 034738b5f1..b1ef18796f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/SPI.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/SPI.java @@ -48,8 +48,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(ElementType.TYPE) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Scheduled.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Scheduled.java index a816faa996..183edfbe8d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Scheduled.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Scheduled.java @@ -33,8 +33,8 @@ * 定时任务注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(ElementType.METHOD) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Scope.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Scope.java index 56877eba81..5b753d27ab 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Scope.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Scope.java @@ -35,8 +35,8 @@ * 注释用于确定作用域的注释. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target(ElementType.ANNOTATION_TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Singleton.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Singleton.java index b4130ba86a..3d92cb1ad8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Singleton.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Singleton.java @@ -34,8 +34,8 @@ * 当您希望仅对该绑定的所有注入重用一个实例时,将此应用于实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Scope @Target({ElementType.TYPE, ElementType.METHOD}) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/ThreadSafe.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/ThreadSafe.java index 9a80176490..b16754f36f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/ThreadSafe.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/ThreadSafe.java @@ -37,8 +37,8 @@ * 后期用途:可能会直接基于 class 进行反射创建,要求有些类需要显示指定这个注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Inherited diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Trace.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Trace.java index 0c7315c042..8bb61cd406 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Trace.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Trace.java @@ -33,8 +33,8 @@ * 日志追溯 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/Values.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/Values.java index 6320df9288..b1e46881e1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/Values.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/Values.java @@ -33,8 +33,8 @@ * 配置注解,用于添加前缀 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java index 4679c8d837..ef1a33bca4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Dev.java @@ -32,8 +32,8 @@ * 表示当前方法禁止用于生产环境,仅可用于开发测试 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java index 874004946f..bb6e726f44 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/Prod.java @@ -32,8 +32,8 @@ * 表示当前方法性能安全性各方面达标,可以用于生产环境 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/package-info.java index 5d6dbccde7..1d81b44f1a 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/env/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/env/package-info.java @@ -2,7 +2,7 @@ * 注解包,提供项目环境增强 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.annotation.env; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/annotation/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/annotation/package-info.java index 578bd4a552..17ce872d5e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/annotation/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/annotation/package-info.java @@ -2,7 +2,7 @@ * 注解包,提供增强型注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.annotation; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/BeanCache.java b/bus-core/src/main/java/org/aoju/bus/core/beans/BeanCache.java index ed841951f6..5878fe734c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/BeanCache.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/BeanCache.java @@ -33,13 +33,18 @@ * 缓存用于防止多次反射造成的性能问题 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum BeanCache { + /** + * 实例 + */ INSTANCE; - + /** + * 缓存 + */ private final SimpleCache, BeanDesc> bdCache = new SimpleCache<>(); /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java b/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java index ea54a8746b..0ebdc3e31e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/BeanDesc.java @@ -52,8 +52,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BeanDesc implements Serializable { @@ -216,7 +216,7 @@ private PropertyDesc createProp(Field field, Method[] methods) { * @param field 字段 * @param methods 类中所有的Getter或Setter方法 * @param ignoreCase 是否忽略大小写匹配 - * @return PropDesc + * @return this */ private PropertyDesc findProp(Field field, Method[] methods, boolean ignoreCase) { final String fieldName = field.getName(); diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/DynamicBean.java b/bus-core/src/main/java/org/aoju/bus/core/beans/DynamicBean.java index 9b294e46c5..2ccdee1de6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/DynamicBean.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/DynamicBean.java @@ -40,8 +40,8 @@ * 支持Map和普通Bean * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DynamicBean extends Cloning implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/NullWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/beans/NullWrapper.java index b71a32b402..88c47d1a37 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/NullWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/NullWrapper.java @@ -30,8 +30,8 @@ * * @param Null值对应的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullWrapper { diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/PathExpression.java b/bus-core/src/main/java/org/aoju/bus/core/beans/PathExpression.java index ae92547963..e82a7d9ff1 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/PathExpression.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/PathExpression.java @@ -41,8 +41,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PathExpression implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyCache.java b/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyCache.java index d60305869a..42d2bc32b4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyCache.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyCache.java @@ -36,8 +36,8 @@ * 缓存用于防止多次反射造成的性能问题 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum PropertyCache { diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyDesc.java b/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyDesc.java index 49312a2026..d477d7a74d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyDesc.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/PropertyDesc.java @@ -40,8 +40,8 @@ * 属性描述 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PropertyDesc { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryQueryType.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/AbstractCopier.java similarity index 68% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryQueryType.java rename to bus-core/src/main/java/org/aoju/bus/core/beans/copier/AbstractCopier.java index 14e6d716eb..4094530cb5 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryQueryType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/AbstractCopier.java @@ -23,31 +23,46 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.beans.copier; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import org.aoju.bus.core.lang.copier.Copier; +import org.aoju.bus.core.toolkit.ObjectKit; /** + * 抽象的对象拷贝封装,提供来源对象、目标对象持有 + * + * @param 来源对象类型 + * @param 目标对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "AdhocQueryQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"queryExpressionBranch"}) -public class AdhocQueryQueryType extends RegistryObjectQueryType { +public abstract class AbstractCopier implements Copier { - @XmlElement(name = "QueryExpressionBranch") - protected QueryExpressionBranchType queryExpressionBranch; + /** + * 源对象 + */ + protected final S source; + /** + * 目标对象 + */ + protected final T target; + /** + * 拷贝选项 + */ + protected final CopyOptions copyOptions; - public QueryExpressionBranchType getQueryExpressionBranch() { - return this.queryExpressionBranch; - } - - public void setQueryExpressionBranch(QueryExpressionBranchType value) { - this.queryExpressionBranch = value; + /** + * 构造 + * + * @param source 源对象 + * @param target 目标对象 + * @param copyOptions 拷贝选项 + */ + public AbstractCopier(S source, T target, CopyOptions copyOptions) { + this.source = source; + this.target = target; + this.copyOptions = ObjectKit.defaultIfNull(copyOptions, CopyOptions::create); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanCopier.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanCopier.java old mode 100755 new mode 100644 index a454b307e2..6720b3be0c --- a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanCopier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanCopier.java @@ -25,59 +25,59 @@ ********************************************************************************/ package org.aoju.bus.core.beans.copier; -import org.aoju.bus.core.beans.copier.provider.BeanValueProvider; -import org.aoju.bus.core.beans.copier.provider.MapValueProvider; import org.aoju.bus.core.lang.copier.Copier; -import org.aoju.bus.core.lang.exception.InstrumentException; -import org.aoju.bus.core.toolkit.*; import java.io.Serializable; import java.lang.reflect.Type; -import java.util.HashSet; import java.util.Map; /** - * Bean拷贝 + * Bean拷贝,提供: + * + *
+ *     1. Bean 转 Bean
+ *     2. Bean 转 Map
+ *     3. Map  转 Bean
+ *     4. Map  转 Map
+ * 
* * @param 目标对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BeanCopier implements Copier, Serializable { private static final long serialVersionUID = 1L; - /** - * 源对象 - */ - private final Object source; - /** - * 目标对象 - */ - private final T dest; - /** - * 目标的类型(用于泛型类注入) - */ - private final Type destType; - /** - * 拷贝选项 - */ - private final CopyOptions copyOptions; + private final Copier copier; /** * 构造 * * @param source 来源对象,可以是Bean或者Map - * @param dest 目标Bean对象 - * @param destType 目标的泛型类型,用于标注有泛型参数的Bean对象 + * @param target 目标Bean对象 + * @param targetType 目标的泛型类型,用于标注有泛型参数的Bean对象 * @param copyOptions 拷贝属性选项 */ - public BeanCopier(Object source, T dest, Type destType, CopyOptions copyOptions) { - this.source = source; - this.dest = dest; - this.destType = destType; - this.copyOptions = copyOptions; + public BeanCopier(Object source, T target, Type targetType, CopyOptions copyOptions) { + Copier copier; + if (source instanceof Map) { + if (target instanceof Map) { + copier = (Copier) new MapToMapCopier((Map) source, (Map) target, targetType, copyOptions); + } else { + copier = new MapToBeanCopier<>((Map) source, target, targetType, copyOptions); + } + } else if (source instanceof ValueProvider) { + copier = new ValueProviderToBeanCopier<>((ValueProvider) source, target, targetType, copyOptions); + } else { + if (target instanceof Map) { + copier = (Copier) new BeanToMapCopier(source, (Map) target, targetType, copyOptions); + } else { + copier = new BeanToBeanCopier<>(source, target, targetType, copyOptions); + } + } + this.copier = copier; } /** @@ -85,252 +85,31 @@ public BeanCopier(Object source, T dest, Type destType, CopyOptions copyOptions) * * @param 目标Bean类型 * @param source 来源对象,可以是Bean或者Map - * @param dest 目标Bean对象 + * @param target 目标Bean对象 * @param copyOptions 拷贝属性选项 * @return BeanCopier */ - public static BeanCopier create(Object source, T dest, CopyOptions copyOptions) { - return create(source, dest, dest.getClass(), copyOptions); + public static BeanCopier create(Object source, T target, CopyOptions copyOptions) { + return create(source, target, target.getClass(), copyOptions); } /** * 创建BeanCopier * * @param 目标Bean类型 - * @param source 来源对象,可以是Bean或者Map - * @param dest 目标Bean对象 - * @param destType 目标的泛型类型,用于标注有泛型参数的Bean对象 + * @param source 来源对象,可以是Bean或者Map + * @param target 目标Bean对象 + * @param destType 目标的泛型类型,用于标注有泛型参数的Bean对象 * @param copyOptions 拷贝属性选项 * @return BeanCopier */ - public static BeanCopier create(Object source, T dest, Type destType, CopyOptions copyOptions) { - return new BeanCopier<>(source, dest, destType, copyOptions); - } - - /** - * 获取指定字段名对应的映射值 - * - * @param mapping 反向映射Map - * @param fieldName 字段名 - * @return 映射值,无对应值返回字段名 - */ - private static String mappingKey(Map mapping, String fieldName) { - if (MapKit.isEmpty(mapping)) { - return fieldName; - } - return ObjectKit.defaultIfNull(mapping.get(fieldName), fieldName); + public static BeanCopier create(Object source, T target, Type destType, CopyOptions copyOptions) { + return new BeanCopier<>(source, target, destType, copyOptions); } @Override public T copy() { - if (null != this.source) { - if (this.source instanceof ValueProvider) { - // 目标只支持Bean - valueProviderToBean((ValueProvider) this.source, this.dest); - } else if (this.source instanceof Map) { - if (this.dest instanceof Map) { - mapToMap((Map) this.source, (Map) this.dest); - } else { - mapToBean((Map) this.source, this.dest); - } - } else { - if (this.dest instanceof Map) { - beanToMap(this.source, (Map) this.dest); - } else { - beanToBean(this.source, this.dest); - } - } - } - return this.dest; - } - - /** - * Bean和Bean之间属性拷贝 - * - * @param providerBean 来源Bean - * @param destBean 目标Bean - */ - private void beanToBean(Object providerBean, Object destBean) { - valueProviderToBean(new BeanValueProvider(providerBean, this.copyOptions.ignoreCase, this.copyOptions.ignoreError), destBean); - } - - /** - * Map转Bean属性拷贝 - * - * @param map Map - * @param bean Bean - */ - private void mapToBean(Map map, Object bean) { - valueProviderToBean( - new MapValueProvider(map, this.copyOptions.ignoreCase, this.copyOptions.ignoreError), - bean - ); - } - - /** - * Map转Map - * - * @param source 源Map - * @param dest 目标Map - */ - private void mapToMap(Map source, Map dest) { - source.forEach((key, value) -> { - final CopyOptions copyOptions = this.copyOptions; - final HashSet ignoreSet = (null != copyOptions.ignoreProperties) ? CollKit.newHashSet(copyOptions.ignoreProperties) : null; - - // 非覆盖模式下,如果目标值存在,则跳过 - if (false == copyOptions.override && null != dest.get(key)) { - return; - } - - if (key instanceof CharSequence) { - if (CollKit.contains(ignoreSet, key)) { - // 目标属性值被忽略或值提供者无此key时跳过 - return; - } - - // 对key做映射,映射后为null的忽略之 - key = copyOptions.editFieldName(copyOptions.getMappedFieldName(key.toString(), false)); - if (null == key) { - return; - } - - value = copyOptions.editFieldValue(key.toString(), value); - } - - if ((null == value && copyOptions.ignoreNullValue) || source == value) { - // 当允许跳过空时,跳过 - //值不能为bean本身,防止循环引用,此类也跳过 - return; - } - - dest.put(key, value); - }); - } - - /** - * 对象转Map - * - * @param bean bean对象 - * @param targetMap 目标的Map - */ - private void beanToMap(Object bean, Map targetMap) { - final CopyOptions copyOptions = this.copyOptions; - final HashSet ignoreSet = (null != copyOptions.ignoreProperties) ? CollKit.newHashSet(copyOptions.ignoreProperties) : null; - - BeanKit.descForEach(bean.getClass(), (prop) -> { - if (false == prop.isReadable(copyOptions.transientSupport)) { - // 忽略的属性跳过之 - return; - } - String key = prop.getFieldName(); - if (CollKit.contains(ignoreSet, key)) { - // 目标属性值被忽略或值提供者无此key时跳过 - return; - } - - // 对key做映射,映射后为null的忽略之 - key = copyOptions.editFieldName(copyOptions.getMappedFieldName(key, false)); - if (null == key) { - return; - } - - // 非覆盖模式下,如果目标值存在,则跳过 - if (false == copyOptions.override && null != targetMap.get(key)) { - return; - } - - Object value; - try { - value = prop.getValue(bean); - } catch (Exception e) { - if (copyOptions.ignoreError) { - return;// 忽略反射失败 - } else { - throw new InstrumentException("Get value of [{}] error!", prop.getFieldName()); - } - } - if (null != copyOptions.propertiesFilter && false == copyOptions.propertiesFilter.test(prop.getField(), value)) { - return; - } - - value = copyOptions.editFieldValue(key, value); - - if ((null == value && copyOptions.ignoreNullValue) || bean == value) { - // 当允许跳过空时,跳过 - //值不能为bean本身,防止循环引用,此类也跳过 - return; - } - - targetMap.put(key, value); - }); - } - - /** - * 值提供器转Bean - * - * @param valueProvider 值提供器 - * @param bean Bean - */ - private void valueProviderToBean(ValueProvider valueProvider, Object bean) { - if (null == valueProvider) { - return; - } - - final CopyOptions copyOptions = this.copyOptions; - Class actualEditable = bean.getClass(); - if (null != copyOptions.editable) { - // 检查限制类是否为target的父类或接口 - if (false == copyOptions.editable.isInstance(bean)) { - throw new IllegalArgumentException(StringKit.format("Target class [{}] not assignable to Editable class [{}]", bean.getClass().getName(), copyOptions.editable.getName())); - } - actualEditable = copyOptions.editable; - } - final HashSet ignoreSet = (null != copyOptions.ignoreProperties) ? CollKit.newHashSet(copyOptions.ignoreProperties) : null; - - // 遍历目标bean的所有属性 - BeanKit.descForEach(actualEditable, (prop) -> { - if (false == prop.isWritable(this.copyOptions.transientSupport)) { - // 字段不可写,跳过之 - return; - } - // 检查属性名 - String fieldName = prop.getFieldName(); - if (CollKit.contains(ignoreSet, fieldName)) { - // 目标属性值被忽略或值提供者无此key时跳过 - return; - } - - // 对key做映射,映射后为null的忽略之 - // 这里 copyOptions.editFieldName() 不能少,否则导致 CopyOptions setFieldNameEditor 失效 - final String providerKey = copyOptions.editFieldName(copyOptions.getMappedFieldName(fieldName, true)); - if (null == providerKey) { - return; - } - if (false == valueProvider.containsKey(providerKey)) { - // 无对应值可提供 - return; - } - - // 获取目标字段真实类型 - final Type fieldType = TypeKit.getActualType(this.destType, prop.getFieldType()); - - // 获取属性值 - Object value = valueProvider.value(providerKey, fieldType); - if (null != copyOptions.propertiesFilter && false == copyOptions.propertiesFilter.test(prop.getField(), value)) { - return; - } - - value = copyOptions.editFieldValue(providerKey, value); - - if ((null == value && copyOptions.ignoreNullValue) || bean == value) { - // 当允许跳过空时,跳过 - // 值不能为bean本身,防止循环引用 - return; - } - - prop.setValue(bean, value, copyOptions.ignoreNullValue, copyOptions.ignoreError, copyOptions.override); - }); + return copier.copy(); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanToBeanCopier.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanToBeanCopier.java new file mode 100755 index 0000000000..c63ce87dc1 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanToBeanCopier.java @@ -0,0 +1,114 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.beans.copier; + +import org.aoju.bus.core.beans.PropertyDesc; +import org.aoju.bus.core.convert.Convert; +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.toolkit.BeanKit; +import org.aoju.bus.core.toolkit.TypeKit; + +import java.lang.reflect.Type; +import java.util.Map; + +/** + * Bean属性拷贝到Bean中的拷贝器 + * + * @param 源Bean类型 + * @param 目标Bean类型 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class BeanToBeanCopier extends AbstractCopier { + + /** + * 目标的类型(用于泛型类注入) + */ + private final Type targetType; + + /** + * 构造 + * + * @param source 来源Map + * @param target 目标Bean对象 + * @param targetType 目标泛型类型 + * @param copyOptions 拷贝选项 + */ + public BeanToBeanCopier(S source, T target, Type targetType, CopyOptions copyOptions) { + super(source, target, copyOptions); + this.targetType = targetType; + } + + @Override + public T copy() { + Class actualEditable = target.getClass(); + if (null != copyOptions.editable) { + // 检查限制类是否为target的父类或接口 + Assert.isTrue(copyOptions.editable.isInstance(target), + "Target class [{}] not assignable to Editable class [{}]", actualEditable.getName(), copyOptions.editable.getName()); + actualEditable = copyOptions.editable; + } + final Map targetPropertyDescMap = BeanKit.getBeanDesc(actualEditable).getPropMap(copyOptions.ignoreCase); + + final Map sourcePropertyDescMap = BeanKit.getBeanDesc(source.getClass()).getPropMap(copyOptions.ignoreCase); + sourcePropertyDescMap.forEach((sFieldName, sDesc) -> { + if (null == sFieldName || false == sDesc.isReadable(copyOptions.transientSupport)) { + // 字段空或不可读,跳过 + return; + } + + sFieldName = copyOptions.editFieldName(sFieldName); + // 对key做转换,转换后为null的跳过 + if (null == sFieldName) { + return; + } + + // 检查目标字段可写性 + final PropertyDesc tDesc = targetPropertyDescMap.get(sFieldName); + if (null == tDesc || false == tDesc.isWritable(this.copyOptions.transientSupport)) { + // 字段不可写,跳过之 + return; + } + + // 检查源对象属性是否过滤属性 + Object sValue = sDesc.getValue(this.source); + if (false == copyOptions.testPropertyFilter(sDesc.getField(), sValue)) { + return; + } + + // 获取目标字段真实类型并转换源值 + final Type fieldType = TypeKit.getActualType(this.targetType, tDesc.getFieldType()); + sValue = Convert.convertWithCheck(fieldType, sValue, null, this.copyOptions.ignoreError); + sValue = copyOptions.editFieldValue(sFieldName, sValue); + + // 目标赋值 + tDesc.setValue(this.target, sValue, copyOptions.ignoreNullValue, copyOptions.ignoreError, copyOptions.override); + }); + return this.target; + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanToMapCopier.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanToMapCopier.java new file mode 100755 index 0000000000..ddd3b6e8ee --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/BeanToMapCopier.java @@ -0,0 +1,109 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.beans.copier; + +import org.aoju.bus.core.beans.PropertyDesc; +import org.aoju.bus.core.convert.Convert; +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.toolkit.BeanKit; +import org.aoju.bus.core.toolkit.TypeKit; + +import java.lang.reflect.Type; +import java.util.Map; + +/** + * Bean属性拷贝到Map中的拷贝器 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class BeanToMapCopier extends AbstractCopier { + + /** + * 目标的Map类型(用于泛型类注入) + */ + private final Type targetType; + + /** + * 构造 + * + * @param source 来源Map + * @param target 目标Bean对象 + * @param targetType 目标泛型类型 + * @param copyOptions 拷贝选项 + */ + public BeanToMapCopier(Object source, Map target, Type targetType, CopyOptions copyOptions) { + super(source, target, copyOptions); + this.targetType = targetType; + } + + @Override + public Map copy() { + Class actualEditable = source.getClass(); + if (null != copyOptions.editable) { + // 检查限制类是否为target的父类或接口 + Assert.isTrue(copyOptions.editable.isInstance(source), + "Source class [{}] not assignable to Editable class [{}]", actualEditable.getName(), copyOptions.editable.getName()); + actualEditable = copyOptions.editable; + } + + final Map sourcePropertyDescMap = BeanKit.getBeanDesc(actualEditable).getPropMap(copyOptions.ignoreCase); + sourcePropertyDescMap.forEach((sFieldName, sDesc) -> { + if (null == sFieldName || false == sDesc.isReadable(copyOptions.transientSupport)) { + // 字段空或不可读,跳过 + return; + } + + sFieldName = copyOptions.editFieldName(sFieldName); + // 对key做转换,转换后为null的跳过 + if (null == sFieldName) { + return; + } + + // 检查源对象属性是否过滤属性 + Object sValue = sDesc.getValue(this.source); + if (false == copyOptions.testPropertyFilter(sDesc.getField(), sValue)) { + return; + } + + // 获取目标值真实类型并转换源值 + final Type[] typeArguments = TypeKit.getTypeArguments(this.targetType); + if (null != typeArguments) { + sValue = Convert.convertWithCheck(typeArguments[1], sValue, null, this.copyOptions.ignoreError); + sValue = copyOptions.editFieldValue(sFieldName, sValue); + } + + // 目标赋值 + if (null != sValue || false == copyOptions.ignoreNullValue) { + //noinspection unchecked + target.put(sFieldName, sValue); + } + }); + return this.target; + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/CopyOptions.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/CopyOptions.java old mode 100755 new mode 100644 index 8b02518b5e..94376a9e7a --- a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/CopyOptions.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/CopyOptions.java @@ -26,8 +26,7 @@ package org.aoju.bus.core.beans.copier; import org.aoju.bus.core.lang.Editor; -import org.aoju.bus.core.toolkit.MapKit; -import org.aoju.bus.core.toolkit.ObjectKit; +import org.aoju.bus.core.toolkit.ArrayKit; import java.io.Serializable; import java.lang.reflect.Field; @@ -38,35 +37,27 @@ /** * 属性拷贝选项 * 包括: - * 1、限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性, - * 例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 - * 2、是否忽略空值,当源对象的值为null时,true: 忽略,false: 注入 - * 3、忽略的属性列表,设置一个属性列表,不拷贝这些属性值 + * 1、限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 + * 2、是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null + * 3、忽略的属性列表,设置一个属性列表,不拷贝这些属性值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CopyOptions implements Serializable { private static final long serialVersionUID = 1L; /** - * 限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 + * 限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 + * 如果目标对象是Map,源对象是Bean,则作用于源对象上 */ protected Class editable; /** - * 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null + * 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null */ protected boolean ignoreNullValue; - /** - * 忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值 - */ - protected BiPredicate propertiesFilter; - /** - * 忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值 - */ - protected String[] ignoreProperties; /** * 是否忽略字段注入错误 */ @@ -76,29 +67,29 @@ public class CopyOptions implements Serializable { */ protected boolean ignoreCase; /** - * 拷贝属性的字段映射,用于不同的属性之前拷贝做对应表用 - */ - protected Map fieldMapping; - /** - * 字段属性编辑器,用于自定义属性转换规则,例如驼峰转下划线等 - */ - protected Editor fieldNameEditor; - /** - * 反向映射表,自动生成用于反向查找 + * 字段属性值编辑器,用于自定义属性值转换规则,例如null转""等 */ protected BiFunction fieldValueEditor; - /** - * 反向映射表,自动生成用于反向查找 - */ - protected Map reversedFieldMapping; /** * 是否支持transient关键字修饰和@Transient注解,如果支持,被修饰的字段或方法对应的字段将被忽略。 */ - protected boolean transientSupport = false; + protected boolean transientSupport = true; /** * 是否覆盖目标值,如果不覆盖,会先读取目标对象的值,非{@code null}则写,否则忽略。如果覆盖,则不判断直接写 */ protected boolean override = true; + /** + * 属性过滤器,断言通过的属性才会被复制 + * 断言参数中Field为源对象的字段对象,如果源对象为Map,使用目标对象,Object为源对象的对应值 + */ + private BiPredicate propertiesFilter; + /** + * 字段属性编辑器,用于自定义属性转换规则,例如驼峰转下划线等 + * 规则为,{@link Editor#edit(Object)}属性为源对象的字段名称或key,返回值为目标对象的字段名称或key + */ + private Editor fieldNameEditor; + + //region create /** * 构造拷贝选项 @@ -118,7 +109,7 @@ public CopyOptions(Class editable, boolean ignoreNullValue, String... ignoreP this.propertiesFilter = (f, v) -> true; this.editable = editable; this.ignoreNullValue = ignoreNullValue; - this.ignoreProperties = ignoreProperties; + this.setIgnoreProperties(ignoreProperties); } /** @@ -143,7 +134,7 @@ public static CopyOptions create(Class editable, boolean ignoreNullValue, Str } /** - * 设置限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性 + * 设置限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性 * * @param editable 限制的类或接口 * @return this @@ -154,9 +145,9 @@ public CopyOptions setEditable(Class editable) { } /** - * 设置是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null + * 设置是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null * - * @param ignoreNullVall 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null + * @param ignoreNullVall 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null * @return this */ public CopyOptions setIgnoreNullValue(boolean ignoreNullVall) { @@ -175,6 +166,7 @@ public CopyOptions ignoreNullValue() { /** * 属性过滤器,断言通过的属性才会被复制 + * {@link BiPredicate#test(Object, Object)}返回{@code true}则属性通过,{@code false}不通过,抛弃之 * * @param propertiesFilter 属性过滤器 * @return this @@ -191,8 +183,7 @@ public CopyOptions setPropertiesFilter(BiPredicate propertiesFilt * @return this */ public CopyOptions setIgnoreProperties(String... ignoreProperties) { - this.ignoreProperties = ignoreProperties; - return this; + return setPropertiesFilter((field, o) -> false == ArrayKit.contains(ignoreProperties, field.getName())); } /** @@ -242,8 +233,7 @@ public CopyOptions ignoreCase() { * @return this */ public CopyOptions setFieldMapping(Map fieldMapping) { - this.fieldMapping = fieldMapping; - return this; + return setFieldNameEditor((key -> fieldMapping.getOrDefault(key, key))); } /** @@ -305,23 +295,7 @@ public CopyOptions setOverride(boolean override) { } /** - * 获得映射后的字段名 - * 当非反向,则根据源字段名获取目标字段名,反之根据目标字段名获取源字段名。 - * - * @param fieldName 字段名 - * @param reversed 是否反向映射 - * @return 映射后的字段名 - */ - protected String getMappedFieldName(String fieldName, boolean reversed) { - Map mapping = reversed ? getReversedMapping() : this.fieldMapping; - if (MapKit.isEmpty(mapping)) { - return fieldName; - } - return ObjectKit.defaultIfNull(mapping.get(fieldName), fieldName); - } - - /** - * 编辑字段值 + * 转换字段名为编辑后的字段名 * * @param fieldName 字段名 * @return 编辑后的字段名 @@ -331,18 +305,14 @@ protected String editFieldName(String fieldName) { } /** - * 获取反转之后的映射 + * 测试是否保留字段,{@code true}保留,{@code false}不保留 * - * @return 反转映射 + * @param field 字段 + * @param value 值 + * @return 是否保留 */ - private Map getReversedMapping() { - if (null == this.fieldMapping) { - return null; - } - if (null == this.reversedFieldMapping) { - reversedFieldMapping = MapKit.reverse(this.fieldMapping); - } - return reversedFieldMapping; + protected boolean testPropertyFilter(Field field, Object value) { + return null == this.propertiesFilter || this.propertiesFilter.test(field, value); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/MapToBeanCopier.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/MapToBeanCopier.java new file mode 100755 index 0000000000..6195d0c979 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/MapToBeanCopier.java @@ -0,0 +1,153 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.beans.copier; + +import org.aoju.bus.core.beans.PropertyDesc; +import org.aoju.bus.core.convert.Convert; +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.map.CaseInsensitiveMap; +import org.aoju.bus.core.map.MapWrapper; +import org.aoju.bus.core.toolkit.BeanKit; +import org.aoju.bus.core.toolkit.StringKit; +import org.aoju.bus.core.toolkit.TypeKit; + +import java.lang.reflect.Type; +import java.util.Map; + +/** + * Map属性拷贝到Bean中的拷贝器 + * + * @param 目标Bean类型 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class MapToBeanCopier extends AbstractCopier, T> { + + /** + * 目标的类型(用于泛型类注入) + */ + private final Type targetType; + + /** + * 构造 + * + * @param source 来源Map + * @param target 目标Bean对象 + * @param targetType 目标泛型类型 + * @param copyOptions 拷贝选项 + */ + public MapToBeanCopier(Map source, T target, Type targetType, CopyOptions copyOptions) { + super(source, target, copyOptions); + + // 针对MapWrapper特殊处理,提供的Map包装了忽略大小写的Map,则默认转Bean的时候也忽略大小写,如JSONObject + if (source instanceof MapWrapper) { + final Map raw = ((MapWrapper) source).getRaw(); + if (raw instanceof CaseInsensitiveMap) { + copyOptions.setIgnoreCase(true); + } + } + + this.targetType = targetType; + } + + @Override + public T copy() { + Class actualEditable = target.getClass(); + if (null != copyOptions.editable) { + // 检查限制类是否为target的父类或接口 + Assert.isTrue(copyOptions.editable.isInstance(target), + "Target class [{}] not assignable to Editable class [{}]", actualEditable.getName(), copyOptions.editable.getName()); + actualEditable = copyOptions.editable; + } + final Map targetPropertyDescMap = BeanKit.getBeanDesc(actualEditable).getPropMap(copyOptions.ignoreCase); + + this.source.forEach((sKey, sValue) -> { + if (null == sKey) { + return; + } + String sKeyStr = copyOptions.editFieldName(sKey.toString()); + // 对key做转换,转换后为null的跳过 + if (null == sKeyStr) { + return; + } + + // 检查目标字段可写性 + PropertyDesc tDesc = findPropertyDesc(targetPropertyDescMap, sKeyStr); + if (null == tDesc || false == tDesc.isWritable(this.copyOptions.transientSupport)) { + // 字段不可写,跳过之 + return; + } + sKeyStr = tDesc.getFieldName(); + + // 检查目标是否过滤属性 + if (false == copyOptions.testPropertyFilter(tDesc.getField(), sValue)) { + return; + } + + // 获取目标字段真实类型并转换源值 + final Type fieldType = TypeKit.getActualType(this.targetType, tDesc.getFieldType()); + Object newValue = Convert.convertWithCheck(fieldType, sValue, null, this.copyOptions.ignoreError); + newValue = copyOptions.editFieldValue(sKeyStr, newValue); + + // 目标赋值 + tDesc.setValue(this.target, newValue, copyOptions.ignoreNullValue, copyOptions.ignoreError, copyOptions.override); + }); + return this.target; + } + + /** + * 查找Map对应Bean的名称
+ * 尝试原名称、转驼峰名称、isXxx去掉is的名称 + * + * @param targetPropertyDescMap 目标bean的属性描述Map + * @param sKeyStr 键或字段名 + * @return {@link PropertyDesc} + */ + private PropertyDesc findPropertyDesc(Map targetPropertyDescMap, String sKeyStr) { + PropertyDesc PropertyDesc = targetPropertyDescMap.get(sKeyStr); + if (null != PropertyDesc) { + return PropertyDesc; + } + + // 转驼峰尝试查找 + sKeyStr = StringKit.toCamelCase(sKeyStr); + PropertyDesc = targetPropertyDescMap.get(sKeyStr); + if (null != PropertyDesc) { + return PropertyDesc; + } + + // boolean类型参数名转换尝试查找 + if (sKeyStr.startsWith("is")) { + sKeyStr = StringKit.removePreAndLowerFirst(sKeyStr, 2); + PropertyDesc = targetPropertyDescMap.get(sKeyStr); + return PropertyDesc; + } + + return null; + } + +} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SpecificationLinkQueryType.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/MapToMapCopier.java similarity index 54% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SpecificationLinkQueryType.java rename to bus-core/src/main/java/org/aoju/bus/core/beans/copier/MapToMapCopier.java index 22de9122b4..70bd537525 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SpecificationLinkQueryType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/MapToMapCopier.java @@ -23,51 +23,70 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.beans.copier; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import org.aoju.bus.core.convert.Convert; +import org.aoju.bus.core.toolkit.TypeKit; + +import java.lang.reflect.Type; +import java.util.Map; /** + * Map属性拷贝到Map中的拷贝器 + * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SpecificationLinkQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"usageDescriptionBranch", "serviceBindingQuery", "specificationObjectQuery"}) -public class SpecificationLinkQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "UsageDescriptionBranch") - protected InternationalStringBranchType usageDescriptionBranch; - @XmlElement(name = "ServiceBindingQuery") - protected ServiceBindingQueryType serviceBindingQuery; - @XmlElement(name = "SpecificationObjectQuery") - protected RegistryObjectQueryType specificationObjectQuery; +public class MapToMapCopier extends AbstractCopier { - public InternationalStringBranchType getUsageDescriptionBranch() { - return this.usageDescriptionBranch; - } + /** + * 目标的类型(用于泛型类注入) + */ + private final Type targetType; - public void setUsageDescriptionBranch(InternationalStringBranchType value) { - this.usageDescriptionBranch = value; + /** + * 构造 + * + * @param source 来源Map + * @param target 目标Bean对象 + * @param targetType 目标泛型类型 + * @param copyOptions 拷贝选项 + */ + public MapToMapCopier(Map source, Map target, Type targetType, CopyOptions copyOptions) { + super(source, target, copyOptions); + this.targetType = targetType; } - public ServiceBindingQueryType getServiceBindingQuery() { - return this.serviceBindingQuery; - } + @Override + public Map copy() { + this.source.forEach((sKey, sValue) -> { + if (null == sKey) { + return; + } + final String sKeyStr = copyOptions.editFieldName(sKey.toString()); + // 对key做转换,转换后为null的跳过 + if (null == sKeyStr) { + return; + } - public void setServiceBindingQuery(ServiceBindingQueryType value) { - this.serviceBindingQuery = value; - } + final Object targetValue = target.get(sKeyStr); + // 非覆盖模式下,如果目标值存在,则跳过 + if (false == copyOptions.override && null != targetValue) { + return; + } - public RegistryObjectQueryType getSpecificationObjectQuery() { - return this.specificationObjectQuery; - } + // 获取目标值真实类型并转换源值 + final Type[] typeArguments = TypeKit.getTypeArguments(this.targetType); + if (null != typeArguments) { + sValue = Convert.convertWithCheck(typeArguments[1], sValue, null, this.copyOptions.ignoreError); + sValue = copyOptions.editFieldValue(sKeyStr, sValue); + } - public void setSpecificationObjectQuery(RegistryObjectQueryType value) { - this.specificationObjectQuery = value; + // 目标赋值 + target.put(sKeyStr, sValue); + }); + return this.target; } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/ValueProvider.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/ValueProvider.java old mode 100755 new mode 100644 index da8c9971dc..2ce382e4d6 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/ValueProvider.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/ValueProvider.java @@ -28,20 +28,20 @@ import java.lang.reflect.Type; /** - * 值提供者,用于提供Bean注入时参数对应值得抽象接口 + * 值提供者,用于提供Bean注入时参数对应值得抽象接口 * 继承或匿名实例化此接口 - * 在Bean注入过程中,Bean获得字段名, - * 通过外部方式根据这个字段名查找相应的字段值,然后注入Bean + * 在Bean注入过程中,Bean获得字段名,通过外部方式根据这个字段名查找相应的字段值,然后注入Bean * - * @param KEY类型,一般情况下为 {@link String} + * @param KEY类型,一般情况下为 {@link String} * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ValueProvider { /** * 获取值 + * 返回值一般需要匹配被注入类型,如果不匹配会调用默认转换 Convert#convert(Type, Object)实现转换 * * @param key Bean对象中参数名 * @param valueType 被注入的值的类型 @@ -50,11 +50,8 @@ public interface ValueProvider { Object value(T key, Type valueType); /** - * 是否包含指定KEY,如果不包含则忽略注入 - * 此接口方法单独需要实现的意义在于: - * 有些值提供者比如(Map)key是存在的, - * 但是value为null,此时如果需要注入null, - * 需要根据此方法判断 + * 是否包含指定KEY,如果不包含则忽略注入 + * 此接口方法单独需要实现的意义在于:有些值提供者(比如Map)key是存在的,但是value为null,此时如果需要注入这个null,需要根据此方法判断 * * @param key Bean对象中参数名 * @return 是否包含指定KEY diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/ValueProviderToBeanCopier.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/ValueProviderToBeanCopier.java new file mode 100755 index 0000000000..f9148ff4ba --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/ValueProviderToBeanCopier.java @@ -0,0 +1,107 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.beans.copier; + +import org.aoju.bus.core.beans.PropertyDesc; +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.toolkit.BeanKit; +import org.aoju.bus.core.toolkit.TypeKit; + +import java.lang.reflect.Type; +import java.util.Map; + +/** + * {@link ValueProvider}属性拷贝到Bean中的拷贝器 + * + * @param 目标Bean类型 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class ValueProviderToBeanCopier extends AbstractCopier, T> { + + /** + * 目标的类型(用于泛型类注入) + */ + private final Type targetType; + + /** + * 构造 + * + * @param source 来源Map + * @param target 目标Bean对象 + * @param targetType 目标泛型类型 + * @param copyOptions 拷贝选项 + */ + public ValueProviderToBeanCopier(ValueProvider source, T target, Type targetType, CopyOptions copyOptions) { + super(source, target, copyOptions); + this.targetType = targetType; + } + + @Override + public T copy() { + Class actualEditable = target.getClass(); + if (null != copyOptions.editable) { + // 检查限制类是否为target的父类或接口 + Assert.isTrue(copyOptions.editable.isInstance(target), + "Target class [{}] not assignable to Editable class [{}]", actualEditable.getName(), copyOptions.editable.getName()); + actualEditable = copyOptions.editable; + } + final Map targetPropertyDescMap = BeanKit.getBeanDesc(actualEditable).getPropMap(copyOptions.ignoreCase); + + targetPropertyDescMap.forEach((tFieldName, tDesc) -> { + if (null == tFieldName) { + return; + } + + // 无字段内容跳过 + if (false == source.containsKey(tFieldName)) { + return; + } + + // 检查目标字段可写性 + if (null == tDesc || false == tDesc.isWritable(this.copyOptions.transientSupport)) { + // 字段不可写,跳过之 + return; + } + + // 获取目标字段真实类型 + final Type fieldType = TypeKit.getActualType(this.targetType, tDesc.getFieldType()); + + // 检查目标对象属性是否过滤属性 + Object sValue = source.value(tFieldName, fieldType); + if (false == copyOptions.testPropertyFilter(tDesc.getField(), sValue)) { + return; + } + sValue = copyOptions.editFieldValue(tFieldName, sValue); + + // 目标赋值 + tDesc.setValue(this.target, sValue, copyOptions.ignoreNullValue, copyOptions.ignoreError, copyOptions.override); + }); + return this.target; + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/package-info.java index d2785cf19c..2841d74815 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/package-info.java @@ -2,7 +2,7 @@ * Bean拷贝实现,包括拷贝选项等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.beans.copier; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/BeanValueProvider.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/BeanValueProvider.java deleted file mode 100755 index c9050a2b40..0000000000 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/BeanValueProvider.java +++ /dev/null @@ -1,100 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.core.beans.copier.provider; - -import org.aoju.bus.core.beans.PropertyDesc; -import org.aoju.bus.core.beans.copier.ValueProvider; -import org.aoju.bus.core.convert.Convert; -import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.exception.InstrumentException; -import org.aoju.bus.core.toolkit.BeanKit; -import org.aoju.bus.core.toolkit.StringKit; - -import java.lang.reflect.Method; -import java.lang.reflect.Type; -import java.util.Map; - -/** - * Bean的值提供者 - * - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class BeanValueProvider implements ValueProvider { - - final Map sourcePdMap; - private final Object source; - private final boolean ignoreError; - - /** - * 构造 - * - * @param bean Bean - * @param ignoreCase 是否忽略字段大小写 - * @param ignoreError 是否忽略字段值读取错误 - */ - public BeanValueProvider(Object bean, boolean ignoreCase, boolean ignoreError) { - this.source = bean; - this.ignoreError = ignoreError; - sourcePdMap = BeanKit.getBeanDesc(source.getClass()).getPropMap(ignoreCase); - } - - @Override - public Object value(String key, Type valueType) { - PropertyDesc sourcePd = sourcePdMap.get(key); - if (null == sourcePd && (Boolean.class == valueType || boolean.class == valueType)) { - // boolean类型字段字段名支持两种方式 - sourcePd = sourcePdMap.get(StringKit.upperFirstAndAddPre(key, Normal.IS)); - } - - Object result = null; - if (null != sourcePd) { - final Method getter = sourcePd.getGetter(); - if (null != getter) { - try { - result = getter.invoke(source); - } catch (Exception e) { - if (false == ignoreError) { - throw new InstrumentException("Inject [{}] error!", key); - } - } - // 尝试转换为目标类型,失败将返回原类型 - final Object convertValue = Convert.convertWithCheck(valueType, result, null, ignoreError); - if (null != convertValue) { - result = convertValue; - } - } - } - return result; - } - - @Override - public boolean containsKey(String key) { - return sourcePdMap.containsKey(key) || sourcePdMap.containsKey(StringKit.upperFirstAndAddPre(key, Normal.IS)); - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/EmailAddressType.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/DynamicBeanValueProvider.java old mode 100755 new mode 100644 similarity index 67% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/EmailAddressType.java rename to bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/DynamicBeanValueProvider.java index de7e1b37f4..dc4b5fd9b3 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/EmailAddressType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/DynamicBeanValueProvider.java @@ -23,41 +23,46 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.beans.copier.provider; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import org.aoju.bus.core.beans.DynamicBean; +import org.aoju.bus.core.beans.copier.ValueProvider; +import org.aoju.bus.core.convert.Convert; + +import java.lang.reflect.Type; /** + * DynaBean值提供者 + * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "EmailAddressType") -public class EmailAddressType { - - @XmlAttribute(name = "address", required = true) - protected String address; - @XmlAttribute(name = "type") - protected String type; +public class DynamicBeanValueProvider implements ValueProvider { - public String getAddress() { - return this.address; - } + private final DynamicBean dynaBean; + private final boolean ignoreError; - public void setAddress(String value) { - this.address = value; + /** + * 构造 + * + * @param dynaBean DynaBean + * @param ignoreError 是否忽略错误 + */ + public DynamicBeanValueProvider(DynamicBean dynaBean, boolean ignoreError) { + this.dynaBean = dynaBean; + this.ignoreError = ignoreError; } - public String getType() { - return this.type; + @Override + public Object value(String key, Type valueType) { + final Object value = dynaBean.get(key); + return Convert.convertWithCheck(valueType, value, null, this.ignoreError); } - public void setType(String value) { - this.type = value; + @Override + public boolean containsKey(String key) { + return dynaBean.contains(key); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/MapValueProvider.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/MapValueProvider.java deleted file mode 100755 index 49f7a3b728..0000000000 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/MapValueProvider.java +++ /dev/null @@ -1,126 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.core.beans.copier.provider; - -import org.aoju.bus.core.beans.copier.ValueProvider; -import org.aoju.bus.core.convert.Convert; -import org.aoju.bus.core.map.CaseInsensitiveMap; -import org.aoju.bus.core.toolkit.StringKit; - -import java.lang.reflect.Type; -import java.util.Map; - -/** - * Map值提供者 - * - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class MapValueProvider implements ValueProvider { - - private final Map map; - - private final boolean ignoreError; - - /** - * 构造 - * - * @param map Map - * @param ignoreCase 是否忽略key的大小写 - */ - public MapValueProvider(Map map, boolean ignoreCase) { - this(map, ignoreCase, false); - } - - /** - * 构造 - * - * @param map Map - * @param ignoreCase 是否忽略key的大小写 - * @param ignoreError 是否忽略错误 - */ - public MapValueProvider(Map map, boolean ignoreCase, boolean ignoreError) { - if (false == ignoreCase || map instanceof CaseInsensitiveMap) { - //不忽略大小写或者提供的Map本身为CaseInsensitiveMap则无需转换 - this.map = map; - } else { - //转换为大小写不敏感的Map - this.map = new CaseInsensitiveMap<>(map); - } - this.ignoreError = ignoreError; - } - - @Override - public Object value(String key, Type valueType) { - final String keys = getKey(key, valueType); - if (null == keys) { - return null; - } - return Convert.convertWithCheck(valueType, map.get(keys), null, this.ignoreError); - } - - @Override - public boolean containsKey(String key) { - return null != getKey(key, null); - } - - /** - * 获得map中可能包含的key,不包含返回null - * - * @param key map中可能包含的key - * @param valueType 值类型,用于判断是否为Boolean,可以为null - * @return map中可能包含的key - */ - private String getKey(String key, Type valueType) { - if (map.containsKey(key)) { - return key; - } - - //检查下划线模式 - String customKey = StringKit.toUnderlineCase(key); - if (map.containsKey(customKey)) { - return customKey; - } - - //检查boolean类型 - if (null == valueType || Boolean.class == valueType || boolean.class == valueType) { - //boolean类型字段字段名支持两种方式 - customKey = StringKit.upperFirstAndAddPre(key, "is"); - if (map.containsKey(customKey)) { - return customKey; - } - - //检查下划线模式 - customKey = StringKit.toUnderlineCase(customKey); - if (map.containsKey(customKey)) { - return customKey; - } - } - return null; - } - -} diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/package-info.java index 8d13a06add..9d7083332f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/copier/provider/package-info.java @@ -2,7 +2,7 @@ * Bean值提供者方式封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.beans.copier.provider; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/beans/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/beans/package-info.java index 4a69ca6333..a55d57eb64 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/beans/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/beans/package-info.java @@ -2,7 +2,7 @@ * Bean相关操作,包括Bean信息描述,Bean路径表达式、动态Bean等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.beans; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/BitMapBloomFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/BitMapBloomFilter.java index 470d15eee0..9d5dd0561f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/BitMapBloomFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/BitMapBloomFilter.java @@ -37,8 +37,8 @@ * 此实现方式可以指定Hash算法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BitMapBloomFilter implements BloomFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/BitSetBloomFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/BitSetBloomFilter.java index 3c7244401b..af02f4775a 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/BitSetBloomFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/BitSetBloomFilter.java @@ -38,8 +38,8 @@ * Hash算法的使用使用固定顺序,只需指定个数即可 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BitSetBloomFilter implements BloomFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/BloomFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/BloomFilter.java index 914fb58633..db0d725c22 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/BloomFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/BloomFilter.java @@ -33,8 +33,8 @@ * 这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BloomFilter extends Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/BitMap.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/BitMap.java index 498a7a0851..8a567bc407 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/BitMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/BitMap.java @@ -31,12 +31,18 @@ * BitMap接口,用于将某个int或long值映射到一个数组中,从而判定某个值是否存在 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BitMap { + /** + * 长度32 + */ int MACHINE32 = Normal._32; + /** + * 长度64 + */ int MACHINE64 = Normal._64; /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/IntMap.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/IntMap.java index 9b212455ca..de98e21ad1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/IntMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/IntMap.java @@ -31,8 +31,8 @@ * 过滤器BitMap在32位机器上.这个类能发生更好的效果.一般情况下建议使用此类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IntMap implements BitMap, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/LongMap.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/LongMap.java index a223da65af..3e744135d9 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/LongMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/LongMap.java @@ -31,8 +31,8 @@ * 过滤器BitMap在64位机器上.这个类能发生更好的效果.一般机器不建议使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LongMap implements BitMap, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/package-info.java index 6e3961a065..f69c9e06d8 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/bitmap/package-info.java @@ -2,7 +2,7 @@ * BitMap实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.bloom.bitmap; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/AbstractFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/AbstractFilter.java index 2311412108..7ad9bb0b0c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/AbstractFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/AbstractFilter.java @@ -34,13 +34,20 @@ * 抽象Bloom过滤器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractFilter implements BloomFilter { private static final long serialVersionUID = 1L; + + /** + * 容量 + */ protected long size = 0; + /** + * BitMap接口 + */ private BitMap bm = null; /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/DefaultFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/DefaultFilter.java index 0095d51cc4..cbec828e3e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/DefaultFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/DefaultFilter.java @@ -31,8 +31,8 @@ * 默认Bloom过滤器,使用Java自带的Hash算法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/ELFFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/ELFFilter.java index ab14282d15..b52ecf12ae 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/ELFFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/ELFFilter.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ELFFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/FNVFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/FNVFilter.java index b5a21b8870..cb3781b103 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/FNVFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/FNVFilter.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FNVFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfFilter.java index c8dd6cbdc9..8d206158bb 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfFilter.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HfFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfIpFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfIpFilter.java index 505e0f08a6..a351852180 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfIpFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/HfIpFilter.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HfIpFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/JSFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/JSFilter.java index 8f51849a3f..60bf09b734 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/JSFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/JSFilter.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JSFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/PJWFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/PJWFilter.java index 39113b42de..74ad5f4cb8 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/PJWFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/PJWFilter.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PJWFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/RSFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/RSFilter.java index 8ac132d5a9..52eb07e438 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/RSFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/RSFilter.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RSFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/SDBMFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/SDBMFilter.java index b90f80a01d..ddb100d9ea 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/SDBMFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/SDBMFilter.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SDBMFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/TianlFilter.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/TianlFilter.java index 7751f6c13d..3227f38882 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/TianlFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/TianlFilter.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TianlFilter extends AbstractFilter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/package-info.java index e96a93fbe5..12ebf21758 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/filter/package-info.java @@ -2,7 +2,7 @@ * 各种Hash算法的过滤器实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.bloom.filter; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/bloom/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/bloom/package-info.java index 6eacdb87d4..a41e0c60a0 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/bloom/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/bloom/package-info.java @@ -2,7 +2,7 @@ * 布隆过滤,提供一些Hash算法的布隆过滤 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.bloom; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/Builder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/Builder.java index 5e1376ffd7..c0b14dac1e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/Builder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/Builder.java @@ -32,8 +32,8 @@ * * @param 建造对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Builder extends Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/CompareBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/CompareBuilder.java index bb7db2e452..230a385c83 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/CompareBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/CompareBuilder.java @@ -70,8 +70,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompareBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/Different.java b/bus-core/src/main/java/org/aoju/bus/core/builder/Different.java index 687b51a5ca..5c0845fa81 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/Different.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/Different.java @@ -38,8 +38,8 @@ * * @param 这个{@code Diff}中包含的对象类型. * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Different extends Pair { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentBuilder.java index 07f47ae989..39186938e6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentBuilder.java @@ -59,12 +59,12 @@ * {@link DifferentResult#toString(ToStringStyle)}覆盖此样式选择。. * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Differentable * @see Different * @see DifferentResult * @see ToStringStyle - * @since JDK 1.8+ + * @since Java 17+ */ public class DifferentBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentResult.java b/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentResult.java index 202ef8ba50..8b5df8955a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentResult.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/DifferentResult.java @@ -38,8 +38,8 @@ * 该方法返回一个字符串,该字符串描述对象之间不同的字段. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DifferentResult implements Iterable> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/Differentable.java b/bus-core/src/main/java/org/aoju/bus/core/builder/Differentable.java index 848c357abc..b5e5c2cf3b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/Differentable.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/Differentable.java @@ -41,8 +41,8 @@ * * @param 这个对象可能被区分的对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Differentable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java index 1a7f22f0e4..ca7d5ef084 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsBuilder.java @@ -63,8 +63,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EqualsBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsExclude.java b/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsExclude.java index f1d78c5ab5..73688bedef 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsExclude.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/EqualsExclude.java @@ -35,8 +35,8 @@ * 上的各种reflectionEquals方法使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/GenericBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/GenericBuilder.java index 4b97a16076..ca998cf58e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/GenericBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/GenericBuilder.java @@ -25,6 +25,8 @@ ********************************************************************************/ package org.aoju.bus.core.builder; +import org.aoju.bus.core.lang.function.*; + import java.util.ArrayList; import java.util.List; import java.util.function.BiConsumer; @@ -35,8 +37,8 @@ * 通用Builder * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GenericBuilder implements Builder { @@ -70,6 +72,92 @@ public static GenericBuilder of(Supplier instant) { return new GenericBuilder<>(instant); } + /** + * 通过1参数实例化器创建GenericBuilder + * + * @param instant 实例化器 + * @param p1 参数一 + * @param 目标类型 + * @param 参数一类型 + * @return GenericBuilder对象 + */ + public static GenericBuilder of(Supplier1 instant, P1 p1) { + return of(instant.toSupplier(p1)); + } + + /** + * 通过2参数实例化器创建GenericBuilder + * + * @param instant 实例化器 + * @param p1 参数一 + * @param p2 参数二 + * @param 目标类型 + * @param 参数一类型 + * @param 参数二类型 + * @return GenericBuilder对象 + */ + public static GenericBuilder of(Supplier2 instant, P1 p1, P2 p2) { + return of(instant.toSupplier(p1, p2)); + } + + /** + * 通过3参数实例化器创建GenericBuilder + * + * @param instant 实例化器 + * @param p1 参数一 + * @param p2 参数二 + * @param p3 参数三 + * @param 目标类型 + * @param 参数一类型 + * @param 参数二类型 + * @param 参数三类型 + * @return GenericBuilder对象 + */ + public static GenericBuilder of(Supplier3 instant, P1 p1, P2 p2, P3 p3) { + return of(instant.toSupplier(p1, p2, p3)); + } + + /** + * 通过4参数实例化器创建GenericBuilder + * + * @param instant 实例化器 + * @param p1 参数一 + * @param p2 参数二 + * @param p3 参数三 + * @param p4 参数四 + * @param 目标类型 + * @param 参数一类型 + * @param 参数二类型 + * @param 参数三类型 + * @param 参数四类型 + * @return GenericBuilder对象 + */ + public static GenericBuilder of(Supplier4 instant, P1 p1, P2 p2, P3 p3, P4 p4) { + return of(instant.toSupplier(p1, p2, p3, p4)); + } + + /** + * 通过5参数实例化器创建GenericBuilder + * + * @param instant 实例化器 + * @param p1 参数一 + * @param p2 参数二 + * @param p3 参数三 + * @param p4 参数四 + * @param p5 参数五 + * @param 目标类型 + * @param 参数一类型 + * @param 参数二类型 + * @param 参数三类型 + * @param 参数四类型 + * @param 参数五类型 + * @return GenericBuilder对象 + */ + public static GenericBuilder of(Supplier5 instant, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { + return of(instant.toSupplier(p1, p2, p3, p4, p5)); + } + + /** * 调用无参数方法 * @@ -81,12 +169,13 @@ public GenericBuilder with(Consumer consumer) { return this; } + /** * 调用1参数方法 * - * @param 参数一类型 - * @param consumer 1参数Consumer,一般为Setter方法引用 + * @param consumer 1参数Consumer * @param p1 参数一 + * @param 参数一类型 * @return GenericBuilder对象 */ public GenericBuilder with(BiConsumer consumer, P1 p1) { @@ -94,6 +183,21 @@ public GenericBuilder with(BiConsumer consumer, P1 p1) { return this; } + /** + * 调用2参数方法 + * + * @param consumer 2参数Consumer + * @param p1 参数一 + * @param p2 参数二 + * @param 参数一类型 + * @param 参数二类型 + * @return GenericBuilder对象 + */ + public GenericBuilder with(Consumer3 consumer, P1 p1, P2 p2) { + modifiers.add(instant -> consumer.accept(instant, p1, p2)); + return this; + } + /** * 构建 * diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeBuilder.java index d7a2b8d9d1..7ebf26e1d7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeBuilder.java @@ -65,8 +65,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HashCodeBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeExclude.java b/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeExclude.java index 6853cdfc02..979cd6dbc1 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeExclude.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/HashCodeExclude.java @@ -35,8 +35,8 @@ * 上的各种reflectionHashcode方法使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/MultilineToStringStyle.java b/bus-core/src/main/java/org/aoju/bus/core/builder/MultilineToStringStyle.java index e609e700e7..063cb0aea7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/MultilineToStringStyle.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/MultilineToStringStyle.java @@ -54,8 +54,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MultilineToStringStyle extends RecursiveToStringStyle { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/RecursiveToStringStyle.java b/bus-core/src/main/java/org/aoju/bus/core/builder/RecursiveToStringStyle.java index eab958daeb..fc05891a09 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/RecursiveToStringStyle.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/RecursiveToStringStyle.java @@ -54,8 +54,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RecursiveToStringStyle extends ToStringStyle { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionBuilder.java index 0b915d90cb..118b7a5d6a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionBuilder.java @@ -59,8 +59,8 @@ *

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReflectionBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionToStringBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionToStringBuilder.java index 8038d32c5f..5850100482 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionToStringBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/ReflectionToStringBuilder.java @@ -55,8 +55,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReflectionToStringBuilder extends ToStringBuilder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/StandardToStringStyle.java b/bus-core/src/main/java/org/aoju/bus/core/builder/StandardToStringStyle.java index 3befa3c69f..052e2c0050 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/StandardToStringStyle.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/StandardToStringStyle.java @@ -34,8 +34,8 @@ *

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StandardToStringStyle extends ToStringStyle { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringBuilder.java index 5e0c0a5a6f..6f96079138 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringBuilder.java @@ -65,8 +65,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ToStringBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringExclude.java b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringExclude.java index 58010d1c72..0c254ce2c0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringExclude.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringExclude.java @@ -34,8 +34,8 @@ * 使用这个注释来排除字段被{@link ReflectionToStringBuilder}使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringStyle.java b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringStyle.java index 3c659b7128..4228942cb0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringStyle.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringStyle.java @@ -63,8 +63,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class ToStringStyle implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringSummary.java b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringSummary.java index 76d327a123..ec8a339952 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringSummary.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/ToStringSummary.java @@ -35,8 +35,8 @@ * 在字段上使用这个注释来获得摘要,而不是详细信息. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/bus-core/src/main/java/org/aoju/bus/core/builder/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/builder/package-info.java index 2637d11532..2e3ff818df 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/builder/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/builder/package-info.java @@ -3,7 +3,7 @@ * 用于建造特定对象或结果 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.builder; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java b/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java index 7fc4ea8721..513eb9db89 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java +++ b/bus-core/src/main/java/org/aoju/bus/core/clone/Cloneable.java @@ -30,8 +30,8 @@ * * @param 实现克隆接口的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Cloneable extends java.lang.Cloneable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/clone/Cloning.java b/bus-core/src/main/java/org/aoju/bus/core/clone/Cloning.java index d42515ddbe..9889a0cfca 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/clone/Cloning.java +++ b/bus-core/src/main/java/org/aoju/bus/core/clone/Cloning.java @@ -32,8 +32,8 @@ * * @param 继承类的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Cloning implements Cloneable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/clone/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/clone/package-info.java index 1a40fe2261..925c970a24 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/clone/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/clone/package-info.java @@ -2,7 +2,7 @@ * 克隆封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.clone; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java b/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java old mode 100755 new mode 100644 index ba103cc376..1e806e207f --- a/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/BCD.java @@ -34,8 +34,8 @@ * 使二进制和十进制之间的转换得以快捷的进行 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BCD { @@ -88,6 +88,7 @@ public static byte[] strToBcd(String asc) { * @return BCD */ public static byte[] ascToBcd(byte[] ascii) { + Assert.notNull(ascii, "Ascii must be not null!"); return ascToBcd(ascii, ascii.length); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java old mode 100755 new mode 100644 index 8c157e34b6..0f313d1b44 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base32.java @@ -25,9 +25,8 @@ ********************************************************************************/ package org.aoju.bus.core.codec; +import org.aoju.bus.core.codec.provider.Base32Provider; import org.aoju.bus.core.lang.Charset; -import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.Symbol; import org.aoju.bus.core.toolkit.StringKit; /** @@ -37,10 +36,10 @@ * see http://blog.csdn.net/earbao/article/details/44453937 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public final class Base32 { +public class Base32 { /** * 编码 @@ -49,39 +48,7 @@ public final class Base32 { * @return base32 */ public static String encode(final byte[] bytes) { - int i = 0; - int index = 0; - int digit; - int currByte; - int nextByte; - StringBuilder base32 = new StringBuilder((bytes.length + 7) * 8 / 5); - - while (i < bytes.length) { - currByte = (bytes[i] >= 0) ? bytes[i] : (bytes[i] + Normal._256); - - if (index > 3) { - if ((i + 1) < bytes.length) { - nextByte = (bytes[i + 1] >= 0) ? bytes[i + 1] : (bytes[i + 1] + 256); - } else { - nextByte = 0; - } - - digit = currByte & (0xFF >> index); - index = (index + 5) % 8; - digit <<= index; - digit |= nextByte >> (8 - index); - i++; - } else { - digit = (currByte >> (8 - (index + 5))) & 0x1F; - index = (index + 5) % 8; - if (index == 0) { - i++; - } - } - base32.append(Normal.ENCODE_32_TABLE[digit]); - } - - return base32.toString(); + return Base32Provider.INSTANCE.encode(bytes); } /** @@ -101,19 +68,39 @@ public static String encode(String source) { * @param charset 字符集 * @return 被加密后的字符串 */ - public static String encode(String source, String charset) { + public static String encode(String source, java.nio.charset.Charset charset) { return encode(StringKit.bytes(source, charset)); } /** - * base32编码 + * 编码 + * + * @param bytes 数据(Hex模式) + * @return base32 + */ + public static String encodeHex(final byte[] bytes) { + return Base32Provider.INSTANCE.encode(bytes, true); + } + + /** + * base32编码(Hex模式) + * + * @param source 被编码的base32字符串 + * @return 被加密后的字符串 + */ + public static String encodeHex(String source) { + return encodeHex(source, org.aoju.bus.core.lang.Charset.UTF_8); + } + + /** + * base32编码(Hex模式) * * @param source 被编码的base32字符串 * @param charset 字符集 * @return 被加密后的字符串 */ - public static String encode(String source, java.nio.charset.Charset charset) { - return encode(StringKit.bytes(source, charset)); + public static String encodeHex(String source, java.nio.charset.Charset charset) { + return encodeHex(StringKit.bytes(source, charset)); } /** @@ -122,48 +109,8 @@ public static String encode(String source, java.nio.charset.Charset charset) { * @param base32 base32编码 * @return 数据 */ - public static byte[] decode(final String base32) { - int i, index, lookup, offset, digit; - byte[] bytes = new byte[base32.length() * 5 / 8]; - - for (i = 0, index = 0, offset = 0; i < base32.length(); i++) { - lookup = base32.charAt(i) - Symbol.C_ZERO; - - /* Skip chars outside the lookup table */ - if (lookup < 0 || lookup >= Normal.DECODE_32_TABLE.length) { - continue; - } - - digit = Normal.DECODE_32_TABLE[lookup]; - - /* If this digit is not in the table, ignore it */ - if (digit == 0xFF) { - continue; - } - - if (index <= 3) { - index = (index + 5) % 8; - if (index == 0) { - bytes[offset] |= digit; - offset++; - if (offset >= bytes.length) { - break; - } - } else { - bytes[offset] |= digit << (8 - index); - } - } else { - index = (index + 5) % 8; - bytes[offset] |= (digit >>> index); - offset++; - - if (offset >= bytes.length) { - break; - } - bytes[offset] |= digit << (8 - index); - } - } - return bytes; + public static byte[] decode(String base32) { + return Base32Provider.INSTANCE.decode(base32); } /** @@ -173,7 +120,7 @@ public static byte[] decode(final String base32) { * @return 被加密后的字符串 */ public static String decodeStr(String source) { - return decodeStr(source, Charset.UTF_8); + return decodeStr(source, org.aoju.bus.core.lang.Charset.UTF_8); } /** @@ -183,10 +130,30 @@ public static String decodeStr(String source) { * @param charset 字符集 * @return 被加密后的字符串 */ - public static String decodeStr(String source, String charset) { + public static String decodeStr(String source, java.nio.charset.Charset charset) { return StringKit.toString(decode(source), charset); } + /** + * 解码 + * + * @param base32 base32编码 + * @return 数据 + */ + public static byte[] decodeHex(String base32) { + return Base32Provider.INSTANCE.decode(base32, true); + } + + /** + * base32解码 + * + * @param source 被解码的base32字符串 + * @return 被加密后的字符串 + */ + public static String decodeStrHex(String source) { + return decodeStrHex(source, org.aoju.bus.core.lang.Charset.UTF_8); + } + /** * base32解码 * @@ -194,8 +161,8 @@ public static String decodeStr(String source, String charset) { * @param charset 字符集 * @return 被加密后的字符串 */ - public static String decodeStr(String source, java.nio.charset.Charset charset) { - return StringKit.toString(decode(source), charset); + public static String decodeStrHex(String source, java.nio.charset.Charset charset) { + return StringKit.toString(decodeHex(source), charset); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base58.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base58.java new file mode 100644 index 0000000000..13ceaa111d --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base58.java @@ -0,0 +1,178 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.codec; + +import org.aoju.bus.core.codec.provider.Base58Provider; +import org.aoju.bus.core.lang.Algorithm; +import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.lang.exception.ValidateException; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; + + +/** + * Base58工具类,提供Base58的编码和解码方案 + * 参考: https://github.com/Anujraval24/Base58Encoding + * 规范见:https://en.bitcoin.it/wiki/Base58Check_encoding + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class Base58 { + + private static final int CHECKSUM_SIZE = 4; + + /** + * Base58编码 + * 包含版本位和校验位 + * + * @param version 编码版本,{@code null}表示不包含版本位 + * @param data 被编码的数组,添加校验和。 + * @return 编码后的字符串 + */ + public static String encodeChecked(Integer version, byte[] data) { + return encode(addChecksum(version, data)); + } + + /** + * Base58编码 + * + * @param data 被编码的数据,不带校验和。 + * @return 编码后的字符串 + */ + public static String encode(byte[] data) { + return Base58Provider.INSTANCE.encode(data); + } + + /** + * Base58解码 + * 解码包含标志位验证和版本呢位去除 + * + * @param encoded 被解码的base58字符串 + * @return 解码后的bytes + * @throws ValidateException 标志位验证错误抛出此异常 + */ + public static byte[] decodeChecked(CharSequence encoded) throws ValidateException { + try { + return decodeChecked(encoded, true); + } catch (ValidateException ignore) { + return decodeChecked(encoded, false); + } + } + + /** + * Base58解码 + * 解码包含标志位验证和版本呢位去除 + * + * @param encoded 被解码的base58字符串 + * @param withVersion 是否包含版本位 + * @return 解码后的bytes + * @throws ValidateException 标志位验证错误抛出此异常 + */ + public static byte[] decodeChecked(CharSequence encoded, boolean withVersion) throws ValidateException { + byte[] valueWithChecksum = decode(encoded); + return verifyAndRemoveChecksum(valueWithChecksum, withVersion); + } + + /** + * Base58解码 + * + * @param encoded 被编码的base58字符串 + * @return 解码后的bytes + */ + public static byte[] decode(CharSequence encoded) { + return Base58Provider.INSTANCE.decode(encoded); + } + + /** + * 验证并去除验证位和版本位 + * + * @param data 编码的数据 + * @param withVersion 是否包含版本位 + * @return 载荷数据 + */ + private static byte[] verifyAndRemoveChecksum(byte[] data, boolean withVersion) { + final byte[] payload = Arrays.copyOfRange(data, withVersion ? 1 : 0, data.length - CHECKSUM_SIZE); + final byte[] checksum = Arrays.copyOfRange(data, data.length - CHECKSUM_SIZE, data.length); + final byte[] expectedChecksum = checksum(payload); + if (false == Arrays.equals(checksum, expectedChecksum)) { + throw new ValidateException("Base58 checksum is invalid"); + } + return payload; + } + + /** + * 数据 + 校验码 + * + * @param version 版本,{@code null}表示不添加版本位 + * @param payload Base58数据(不含校验码) + * @return Base58数据 + */ + private static byte[] addChecksum(Integer version, byte[] payload) { + final byte[] addressBytes; + if (null != version) { + addressBytes = new byte[1 + payload.length + CHECKSUM_SIZE]; + addressBytes[0] = (byte) version.intValue(); + System.arraycopy(payload, 0, addressBytes, 1, payload.length); + } else { + addressBytes = new byte[payload.length + CHECKSUM_SIZE]; + System.arraycopy(payload, 0, addressBytes, 0, payload.length); + } + final byte[] checksum = checksum(payload); + System.arraycopy(checksum, 0, addressBytes, addressBytes.length - CHECKSUM_SIZE, CHECKSUM_SIZE); + return addressBytes; + } + + /** + * 获取校验码 + * 计算规则为对数据进行两次sha256计算,然后取{@link #CHECKSUM_SIZE}长度 + * + * @param data 数据 + * @return 校验码 + */ + private static byte[] checksum(byte[] data) { + byte[] hash = hash256(hash256(data)); + return Arrays.copyOfRange(hash, 0, CHECKSUM_SIZE); + } + + /** + * 计算数据的SHA-256值 + * + * @param data 数据 + * @return sha-256值 + */ + private static byte[] hash256(byte[] data) { + try { + return MessageDigest.getInstance(Algorithm.SHA256.getValue()).digest(data); + } catch (NoSuchAlgorithmException e) { + throw new InstrumentException(e); + } + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base62.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base62.java new file mode 100644 index 0000000000..6a61c6d24a --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base62.java @@ -0,0 +1,286 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.codec; + +import org.aoju.bus.core.codec.provider.Base62Provider; +import org.aoju.bus.core.toolkit.FileKit; +import org.aoju.bus.core.toolkit.IoKit; +import org.aoju.bus.core.toolkit.StringKit; + +import java.io.File; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.Charset; + +/** + * Base62工具类,提供Base62的编码和解码方案 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class Base62 { + + /** + * Base62编码 + * + * @param source 被编码的Base62字符串 + * @return 被加密后的字符串 + */ + public static String encode(CharSequence source) { + return encode(source, org.aoju.bus.core.lang.Charset.UTF_8); + } + + /** + * Base62编码 + * + * @param source 被编码的Base62字符串 + * @param charset 字符集 + * @return 被加密后的字符串 + */ + public static String encode(CharSequence source, Charset charset) { + return encode(StringKit.bytes(source, charset)); + } + + /** + * Base62编码 + * + * @param source 被编码的Base62字符串 + * @return 被加密后的字符串 + */ + public static String encode(byte[] source) { + return new String(Base62Provider.INSTANCE.encode(source)); + } + + /** + * Base62编码 + * + * @param in 被编码Base62的流(一般为图片流或者文件流) + * @return 被加密后的字符串 + */ + public static String encode(InputStream in) { + return encode(IoKit.readBytes(in)); + } + + /** + * Base62编码 + * + * @param file 被编码Base62的文件 + * @return 被加密后的字符串 + */ + public static String encode(File file) { + return encode(FileKit.readBytes(file)); + } + + /** + * Base62编码(反转字母表模式) + * + * @param source 被编码的Base62字符串 + * @return 被加密后的字符串 + */ + public static String encodeInverted(CharSequence source) { + return encodeInverted(source, org.aoju.bus.core.lang.Charset.UTF_8); + } + + /** + * Base62编码(反转字母表模式) + * + * @param source 被编码的Base62字符串 + * @param charset 字符集 + * @return 被加密后的字符串 + */ + public static String encodeInverted(CharSequence source, Charset charset) { + return encodeInverted(StringKit.bytes(source, charset)); + } + + /** + * Base62编码(反转字母表模式) + * + * @param source 被编码的Base62字符串 + * @return 被加密后的字符串 + */ + public static String encodeInverted(byte[] source) { + return new String(Base62Provider.INSTANCE.encode(source, true)); + } + + /** + * Base62编码 + * + * @param in 被编码Base62的流(一般为图片流或者文件流) + * @return 被加密后的字符串 + */ + public static String encodeInverted(InputStream in) { + return encodeInverted(IoKit.readBytes(in)); + } + + /** + * Base62编码(反转字母表模式) + * + * @param file 被编码Base62的文件 + * @return 被加密后的字符串 + */ + public static String encodeInverted(File file) { + return encodeInverted(FileKit.readBytes(file)); + } + + // -------------------------------------------------------------------- decode + + /** + * Base62解码 + * + * @param source 被解码的Base62字符串 + * @return 被加密后的字符串 + */ + public static String decodeStrGbk(CharSequence source) { + return decodeStr(source, org.aoju.bus.core.lang.Charset.GBK); + } + + /** + * Base62解码 + * + * @param source 被解码的Base62字符串 + * @return 被加密后的字符串 + */ + public static String decodeStr(CharSequence source) { + return decodeStr(source, org.aoju.bus.core.lang.Charset.UTF_8); + } + + /** + * Base62解码 + * + * @param source 被解码的Base62字符串 + * @param charset 字符集 + * @return 被加密后的字符串 + */ + public static String decodeStr(CharSequence source, Charset charset) { + return StringKit.toString(decode(source), charset); + } + + /** + * Base62解码 + * + * @param Base62 被解码的Base62字符串 + * @param destFile 目标文件 + * @return 目标文件 + */ + public static File decodeToFile(CharSequence Base62, File destFile) { + return FileKit.writeBytes(decode(Base62), destFile); + } + + /** + * Base62解码 + * + * @param base62Str 被解码的Base62字符串 + * @param out 写出到的流 + * @param isCloseOut 是否关闭输出流 + */ + public static void decodeToStream(CharSequence base62Str, OutputStream out, boolean isCloseOut) { + IoKit.write(out, isCloseOut, decode(base62Str)); + } + + /** + * Base62解码 + * + * @param base62Str 被解码的Base62字符串 + * @return 被加密后的字符串 + */ + public static byte[] decode(CharSequence base62Str) { + return decode(StringKit.bytes(base62Str, org.aoju.bus.core.lang.Charset.UTF_8)); + } + + /** + * 解码Base62 + * + * @param base62bytes Base62输入 + * @return 解码后的bytes + */ + public static byte[] decode(byte[] base62bytes) { + return Base62Provider.INSTANCE.decode(base62bytes); + } + + /** + * Base62解码(反转字母表模式) + * + * @param source 被解码的Base62字符串 + * @return 被加密后的字符串 + */ + public static String decodeStrInverted(CharSequence source) { + return decodeStrInverted(source, org.aoju.bus.core.lang.Charset.UTF_8); + } + + /** + * Base62解码(反转字母表模式) + * + * @param source 被解码的Base62字符串 + * @param charset 字符集 + * @return 被加密后的字符串 + */ + public static String decodeStrInverted(CharSequence source, Charset charset) { + return StringKit.toString(decodeInverted(source), charset); + } + + /** + * Base62解码(反转字母表模式) + * + * @param Base62 被解码的Base62字符串 + * @param destFile 目标文件 + * @return 目标文件 + */ + public static File decodeToFileInverted(CharSequence Base62, File destFile) { + return FileKit.writeBytes(decodeInverted(Base62), destFile); + } + + /** + * Base62解码(反转字母表模式) + * + * @param base62Str 被解码的Base62字符串 + * @param out 写出到的流 + * @param isCloseOut 是否关闭输出流 + */ + public static void decodeToStreamInverted(CharSequence base62Str, OutputStream out, boolean isCloseOut) { + IoKit.write(out, isCloseOut, decodeInverted(base62Str)); + } + + /** + * Base62解码(反转字母表模式) + * + * @param base62Str 被解码的Base62字符串 + * @return 被加密后的字符串 + */ + public static byte[] decodeInverted(CharSequence base62Str) { + return decodeInverted(StringKit.bytes(base62Str, org.aoju.bus.core.lang.Charset.UTF_8)); + } + + /** + * 解码Base62(反转字母表模式) + * + * @param base62bytes Base62输入 + * @return 解码后的bytes + */ + public static byte[] decodeInverted(byte[] base62bytes) { + return Base62Provider.INSTANCE.decode(base62bytes, true); + } +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java old mode 100755 new mode 100644 index 6c85af11f6..8db8df58a8 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64.java @@ -26,10 +26,11 @@ package org.aoju.bus.core.codec; import org.aoju.bus.core.lang.Charset; +import org.aoju.bus.core.lang.Normal; import org.aoju.bus.core.lang.Symbol; -import org.aoju.bus.core.toolkit.FileKit; -import org.aoju.bus.core.toolkit.IoKit; -import org.aoju.bus.core.toolkit.StringKit; +import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.lang.mutable.MutableInt; +import org.aoju.bus.core.toolkit.*; import java.io.File; import java.io.IOException; @@ -42,11 +43,13 @@ * 也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Base64 { + private static final byte PADDING = -2; + /** * 编码为Base64,非URL安全的 * @@ -55,18 +58,9 @@ public class Base64 { * @return 编码后的bytes */ public static byte[] encode(byte[] arr, boolean lineSep) { - return Base64Encoder.encode(arr, lineSep); - } - - /** - * 编码为Base64,URL安全的 - * - * @param arr 被编码的数组 - * @param lineSep 在76个char之后是CRLF还是EOF - * @return 编码后的bytes - */ - public static byte[] encodeUrlSafe(byte[] arr, boolean lineSep) { - return Base64Encoder.encodeUrlSafe(arr, lineSep); + return lineSep ? + java.util.Base64.getMimeEncoder().encode(arr) : + java.util.Base64.getEncoder().encode(arr); } /** @@ -76,7 +70,7 @@ public static byte[] encodeUrlSafe(byte[] arr, boolean lineSep) { * @return 被加密后的字符串 */ public static String encode(CharSequence source) { - return Base64Encoder.encode(source); + return encode(source, org.aoju.bus.core.lang.Charset.UTF_8); } /** @@ -86,7 +80,7 @@ public static String encode(CharSequence source) { * @return 被加密后的字符串 */ public static String encodeUrlSafe(CharSequence source) { - return Base64Encoder.encodeUrlSafe(source); + return encodeUrlSafe(source, org.aoju.bus.core.lang.Charset.UTF_8); } /** @@ -97,18 +91,18 @@ public static String encodeUrlSafe(CharSequence source) { * @return 被加密后的字符串 */ public static String encode(CharSequence source, String charset) { - return Base64Encoder.encode(source, Charset.charset(charset)); + return encode(source, org.aoju.bus.core.lang.Charset.charset(charset)); } /** - * base64编码,URL安全 + * base64编码,不进行padding(末尾不会填充'=') * * @param source 被编码的base64字符串 - * @param charset 字符集 + * @param charset 编码 * @return 被加密后的字符串 */ - public static String encodeUrlSafe(CharSequence source, String charset) { - return Base64Encoder.encodeUrlSafe(source, Charset.charset(charset)); + public static String encodeWithoutPadding(CharSequence source, String charset) { + return encodeWithoutPadding(StringKit.bytes(source, charset)); } /** @@ -119,7 +113,7 @@ public static String encodeUrlSafe(CharSequence source, String charset) { * @return 被加密后的字符串 */ public static String encode(CharSequence source, java.nio.charset.Charset charset) { - return Base64Encoder.encode(source, charset); + return encode(StringKit.bytes(source, charset)); } /** @@ -130,7 +124,7 @@ public static String encode(CharSequence source, java.nio.charset.Charset charse * @return 被加密后的字符串 */ public static String encodeUrlSafe(CharSequence source, java.nio.charset.Charset charset) { - return Base64Encoder.encodeUrlSafe(source, charset); + return encodeUrlSafe(StringKit.bytes(source, charset)); } /** @@ -140,7 +134,17 @@ public static String encodeUrlSafe(CharSequence source, java.nio.charset.Charset * @return 被加密后的字符串 */ public static String encode(byte[] source) { - return Base64Encoder.encode(source); + return java.util.Base64.getEncoder().encodeToString(source); + } + + /** + * base64编码,不进行padding(末尾不会填充'=') + * + * @param source 被编码的base64字符串 + * @return 被加密后的字符串 + */ + public static String encodeWithoutPadding(byte[] source) { + return java.util.Base64.getEncoder().withoutPadding().encodeToString(source); } /** @@ -150,7 +154,7 @@ public static String encode(byte[] source) { * @return 被加密后的字符串 */ public static String encodeUrlSafe(byte[] source) { - return Base64Encoder.encodeUrlSafe(source); + return java.util.Base64.getUrlEncoder().withoutPadding().encodeToString(source); } /** @@ -160,7 +164,7 @@ public static String encodeUrlSafe(byte[] source) { * @return 被加密后的字符串 */ public static String encode(InputStream in) { - return Base64Encoder.encode(IoKit.readBytes(in)); + return encode(IoKit.readBytes(in)); } /** @@ -170,7 +174,7 @@ public static String encode(InputStream in) { * @return 被加密后的字符串 */ public static String encodeUrlSafe(InputStream in) { - return Base64Encoder.encodeUrlSafe(IoKit.readBytes(in)); + return encodeUrlSafe(IoKit.readBytes(in)); } /** @@ -180,7 +184,7 @@ public static String encodeUrlSafe(InputStream in) { * @return 被加密后的字符串 */ public static String encode(File file) { - return Base64Encoder.encode(FileKit.readBytes(file)); + return encode(FileKit.readBytes(file)); } /** @@ -190,46 +194,128 @@ public static String encode(File file) { * @return 被加密后的字符串 */ public static String encodeUrlSafe(File file) { - return Base64Encoder.encodeUrlSafe(FileKit.readBytes(file)); - } - - /** - * base64编码,不进行padding(末尾不会填充'=') - * - * @param source 被编码的base64字符串 - * @return 被加密后的字符串 - */ - public static String encodeWithoutPadding(byte[] source) { - return java.util.Base64.getEncoder().withoutPadding().encodeToString(source); + return encodeUrlSafe(FileKit.readBytes(file)); } /** - * base64编码,不进行padding(末尾不会填充'=') + * 编码为Base64字符串 + * 如果isMultiLine为{@code true},则每76个字符一个换行符,否则在一行显示 * - * @param source 被编码的base64字符串 - * @param charset 编码 - * @return 被加密后的字符串 + * @param arr 被编码的数组 + * @param isMultiLine 在76个char之后是CRLF还是EOF + * @param isUrlSafe 是否使用URL安全字符,一般为{@code false} + * @return 编码后的bytes */ - public static String encodeWithoutPadding(CharSequence source, String charset) { - return encodeWithoutPadding(StringKit.bytes(source, charset)); + public static String encodeStr(byte[] arr, boolean isMultiLine, boolean isUrlSafe) { + return StringKit.toString(encode(arr, isMultiLine, isUrlSafe), org.aoju.bus.core.lang.Charset.UTF_8); } /** * 编码为Base64 - * 如果isMultiLine为true,则每76个字符一个换行符,否则在一行显示 + * 如果isMultiLine为true,则每76个字符一个换行符,否则在一行显示 * * @param arr 被编码的数组 * @param isMultiLine 在76个char之后是CRLF还是EOF - * @param isUrlSafe 是否使用URL安全字符,一般为false + * @param isUrlSafe 是否使用URL安全字符,一般为false * @return 编码后的bytes */ public static byte[] encode(byte[] arr, boolean isMultiLine, boolean isUrlSafe) { - return Base64Encoder.encode(arr, isMultiLine, isUrlSafe); + if (null == arr) { + return null; + } + + int len = arr.length; + if (len == 0) { + return Normal.EMPTY_BYTE_ARRAY; + } + + int evenlen = (len / 3) * 3; + int cnt = ((len - 1) / 3 + 1) << 2; + int destlen = cnt + (isMultiLine ? (cnt - 1) / 76 << 1 : 0); + byte[] dest = new byte[destlen]; + + byte[] encodeTable = isUrlSafe ? Normal.ENCODE_URL_TABLE : Normal.ENCODE_64_TABLE; + + for (int s = 0, d = 0, cc = 0; s < evenlen; ) { + int i = (arr[s++] & 0xff) << Normal._16 | (arr[s++] & 0xff) << 8 | (arr[s++] & 0xff); + + dest[d++] = encodeTable[(i >>> 18) & 0x3f]; + dest[d++] = encodeTable[(i >>> 12) & 0x3f]; + dest[d++] = encodeTable[(i >>> 6) & 0x3f]; + dest[d++] = encodeTable[i & 0x3f]; + + if (isMultiLine && ++cc == 19 && d < destlen - 2) { + dest[d++] = Symbol.C_CR; + dest[d++] = Symbol.C_LF; + cc = 0; + } + } + + int left = len - evenlen;// 剩余位数 + if (left > 0) { + int i = ((arr[evenlen] & 0xff) << 10) | (left == 2 ? ((arr[len - 1] & 0xff) << 2) : 0); + + dest[destlen - 4] = encodeTable[i >> 12]; + dest[destlen - 3] = encodeTable[(i >>> 6) & 0x3f]; + + if (isUrlSafe) { + // 在URL Safe模式下,=为URL中的关键字符,不需要补充 空余的byte位要去掉 + int urlSafeLen = destlen - 2; + if (2 == left) { + dest[destlen - 2] = encodeTable[i & 0x3f]; + urlSafeLen += 1; + } + byte[] urlSafeDest = new byte[urlSafeLen]; + System.arraycopy(dest, 0, urlSafeDest, 0, urlSafeLen); + return urlSafeDest; + } else { + dest[destlen - 2] = (left == 2) ? encodeTable[i & 0x3f] : (byte) Symbol.C_EQUAL; + dest[destlen - 1] = Symbol.C_EQUAL; + } + } + return dest; } + /** + * 编码为Base64 + * + * @param src 源字符信息 + * @param srcPos 开始位置 + * @param srcLen 长度 + * @param dest 字符信息 + * @param destPos 开始位置 + */ public static void encode(byte[] src, int srcPos, int srcLen, char[] dest, int destPos) { - Base64Encoder.encode(src, srcPos, srcLen, dest, destPos); + if (srcPos < 0 || srcLen < 0 || srcLen > src.length - srcPos) + throw new IndexOutOfBoundsException(); + int destLen = (srcLen * 4 / 3 + 3) & ~3; + if (destPos < 0 || destLen > dest.length - destPos) + throw new IndexOutOfBoundsException(); + byte b1, b2, b3; + int n = srcLen / 3; + int r = srcLen - 3 * n; + while (n-- > 0) { + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 = src[srcPos++]) >>> 2) & 0x3F]; + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 & 0x03) << 4) + | (((b2 = src[srcPos++]) >>> 4) & 0x0F)]; + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b2 & 0x0F) << 2) + | (((b3 = src[srcPos++]) >>> 6) & 0x03)]; + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[b3 & 0x3F]; + } + if (r > 0) + if (r == 1) { + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 = src[srcPos]) >>> 2) & 0x3F]; + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 & 0x03) << 4)]; + dest[destPos++] = Symbol.C_EQUAL; + dest[destPos++] = Symbol.C_EQUAL; + } else { + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 = src[srcPos++]) >>> 2) & 0x3F]; + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 & 0x03) << 4) + | (((b2 = src[srcPos]) >>> 4) & 0x0F)]; + dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[(b2 & 0x0F) << 2]; + dest[destPos++] = Symbol.C_EQUAL; + } } /** @@ -239,7 +325,7 @@ public static void encode(byte[] src, int srcPos, int srcLen, char[] dest, * @return 解码后的字符串 */ public static String decodeStrGbk(CharSequence source) { - return Base64Decoder.decodeStr(source, Charset.GBK); + return StringKit.toString(decode(source), Charset.GBK); } /** @@ -249,7 +335,7 @@ public static String decodeStrGbk(CharSequence source) { * @return 解码后的字符串 */ public static String decodeStr(CharSequence source) { - return Base64Decoder.decodeStr(source); + return decodeStr(source, Charset.UTF_8); } /** @@ -260,7 +346,7 @@ public static String decodeStr(CharSequence source) { * @return 解码后的字符串 */ public static String decodeStr(CharSequence source, String charset) { - return Base64Decoder.decodeStr(source, Charset.charset(charset)); + return decodeStr(source, Charset.charset(charset)); } /** @@ -271,7 +357,7 @@ public static String decodeStr(CharSequence source, String charset) { * @return 解码后的字符串 */ public static String decodeStr(CharSequence source, java.nio.charset.Charset charset) { - return Base64Decoder.decodeStr(source, charset); + return StringKit.toString(decode(source), charset); } /** @@ -282,7 +368,7 @@ public static String decodeStr(CharSequence source, java.nio.charset.Charset cha * @return 目标文件 */ public static File decodeToFile(CharSequence base64, File destFile) { - return FileKit.writeBytes(Base64Decoder.decode(base64), destFile); + return FileKit.writeBytes(decode(base64), destFile); } /** @@ -293,7 +379,7 @@ public static File decodeToFile(CharSequence base64, File destFile) { * @param isCloseOut 是否关闭输出流 */ public static void decodeToStream(CharSequence base64, OutputStream out, boolean isCloseOut) { - IoKit.write(out, isCloseOut, Base64Decoder.decode(base64)); + IoKit.write(out, isCloseOut, decode(base64)); } /** @@ -303,7 +389,7 @@ public static void decodeToStream(CharSequence base64, OutputStream out, boolean * @return 解码后的bytes */ public static byte[] decode(CharSequence base64) { - return Base64Decoder.decode(base64); + return decode(StringKit.bytes(base64, Charset.UTF_8)); } /** @@ -313,15 +399,85 @@ public static byte[] decode(CharSequence base64) { * @return 解码后的bytes */ public static byte[] decode(byte[] in) { - return Base64Decoder.decode(in); + if (ArrayKit.isEmpty(in)) { + return in; + } + return decode(in, 0, in.length); + } + + /** + * 解码Base64 + * + * @param in 输入 + * @param pos 开始位置 + * @param length 长度 + * @return 解码后的bytes + */ + public static byte[] decode(byte[] in, int pos, int length) { + if (ArrayKit.isEmpty(in)) { + return in; + } + + final MutableInt offset = new MutableInt(pos); + + byte sestet0; + byte sestet1; + byte sestet2; + byte sestet3; + int maxPos = pos + length - 1; + int octetId = 0; + byte[] octet = new byte[length * 3 / 4];// over-estimated if non-base64 characters present + while (offset.intValue() <= maxPos) { + sestet0 = getNextValidDecodeByte(in, offset, maxPos); + sestet1 = getNextValidDecodeByte(in, offset, maxPos); + sestet2 = getNextValidDecodeByte(in, offset, maxPos); + sestet3 = getNextValidDecodeByte(in, offset, maxPos); + + if (PADDING != sestet1) { + octet[octetId++] = (byte) ((sestet0 << 2) | (sestet1 >>> 4)); + } + if (PADDING != sestet2) { + octet[octetId++] = (byte) (((sestet1 & 0xf) << 4) | (sestet2 >>> 2)); + } + if (PADDING != sestet3) { + octet[octetId++] = (byte) (((sestet2 & 3) << 6) | sestet3); + } + } + + if (octetId == octet.length) { + return octet; + } else { + // 如果有非Base64字符混入,则实际结果比解析的要短,截取之 + return (byte[]) ArrayKit.copy(octet, new byte[octetId], octetId); + } } + /** + * 解码Base64 + * + * @param ch 字符信息 + * @param off 结束为止 + * @param len 长度 + * @param out 输出流 + */ public static void decode(char[] ch, int off, int len, OutputStream out) { try { - Base64Decoder.decode(ch, off, len, out); + byte b2, b3; + while ((len -= 2) >= 0) { + out.write((byte) ((Normal.DECODE_64_TABLE[ch[off++]] << 2) + | ((b2 = Normal.DECODE_64_TABLE[ch[off++]]) >>> 4))); + if ((len-- == 0) || ch[off] == Symbol.C_EQUAL) + break; + out.write((byte) ((b2 << 4) + | ((b3 = Normal.DECODE_64_TABLE[ch[off++]]) >>> 2))); + if ((len-- == 0) || ch[off] == Symbol.C_EQUAL) + break; + out.write((byte) ((b3 << 6) | Normal.DECODE_64_TABLE[ch[off++]])); + } } catch (IOException e) { - e.printStackTrace(); + throw new InstrumentException(e); } + } /** @@ -362,13 +518,47 @@ public static boolean isBase64(byte[] base64Bytes) { } else if (Symbol.C_EQUAL == base64Byte) { // 发现'=' 标记之 hasPadding = true; - } else if (false == (Base64Decoder.isBase64Code(base64Byte) || isWhiteSpace(base64Byte))) { + } else if (false == (isBase64Code(base64Byte) || isWhiteSpace(base64Byte))) { return false; } } return true; } + /** + * 给定的字符是否为Base64字符 + * + * @param octet 被检查的字符 + * @return 是否为Base64字符 + */ + public static boolean isBase64Code(byte octet) { + return octet == Symbol.C_EQUAL || (octet >= 0 && octet < Normal.DECODE_64_TABLE.length && Normal.DECODE_64_TABLE[octet] != -1); + } + + /** + * 获取下一个有效的byte字符 + * + * @param in 输入 + * @param pos 当前位置,调用此方法后此位置保持在有效字符的下一个位置 + * @param maxPos 最大位置 + * @return 有效字符,如果达到末尾返回 + */ + private static byte getNextValidDecodeByte(byte[] in, MutableInt pos, int maxPos) { + byte base64Byte; + byte decodeByte; + while (pos.intValue() <= maxPos) { + base64Byte = in[pos.intValue()]; + pos.increment(); + if (base64Byte > -1) { + decodeByte = Normal.DECODE_64_TABLE[base64Byte]; + if (decodeByte > -1) { + return decodeByte; + } + } + } + return PADDING; + } + private static boolean isWhiteSpace(byte byteToCheck) { switch (byteToCheck) { case Symbol.C_SPACE: diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Decoder.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Decoder.java deleted file mode 100755 index a440f9357d..0000000000 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Decoder.java +++ /dev/null @@ -1,208 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.core.codec; - -import org.aoju.bus.core.lang.Charset; -import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.Symbol; -import org.aoju.bus.core.toolkit.ArrayKit; -import org.aoju.bus.core.toolkit.StringKit; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * Base64解码实现 - * - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class Base64Decoder { - - private static final byte PADDING = -2; - - /** - * base64解码 - * - * @param source 被解码的base64字符串 - * @return 被加密后的字符串 - */ - public static String decodeStr(CharSequence source) { - return decodeStr(source, Charset.UTF_8); - } - - /** - * base64解码 - * - * @param source 被解码的base64字符串 - * @param charset 字符集 - * @return 被加密后的字符串 - */ - public static String decodeStr(CharSequence source, java.nio.charset.Charset charset) { - return StringKit.toString(decode(source), charset); - } - - /** - * base64解码 - * - * @param source 被解码的base64字符串 - * @return 被加密后的字符串 - */ - public static byte[] decode(CharSequence source) { - return decode(StringKit.bytes(source, Charset.UTF_8)); - } - - /** - * 解码Base64 - * - * @param in 输入 - * @return 解码后的bytes - */ - public static byte[] decode(byte[] in) { - if (ArrayKit.isEmpty(in)) { - return in; - } - return decode(in, 0, in.length); - } - - /** - * 解码Base64 - * - * @param in 输入 - * @param pos 开始位置 - * @param length 长度 - * @return 解码后的bytes - */ - public static byte[] decode(byte[] in, int pos, int length) { - if (ArrayKit.isEmpty(in)) { - return in; - } - - final IntWrapper offset = new IntWrapper(pos); - - byte sestet0; - byte sestet1; - byte sestet2; - byte sestet3; - int maxPos = pos + length - 1; - int octetId = 0; - byte[] octet = new byte[length * 3 / 4];// over-estimated if non-base64 characters present - while (offset.value <= maxPos) { - sestet0 = getNextValidDecodeByte(in, offset, maxPos); - sestet1 = getNextValidDecodeByte(in, offset, maxPos); - sestet2 = getNextValidDecodeByte(in, offset, maxPos); - sestet3 = getNextValidDecodeByte(in, offset, maxPos); - - if (PADDING != sestet1) { - octet[octetId++] = (byte) ((sestet0 << 2) | (sestet1 >>> 4)); - } - if (PADDING != sestet2) { - octet[octetId++] = (byte) (((sestet1 & 0xf) << 4) | (sestet2 >>> 2)); - } - if (PADDING != sestet3) { - octet[octetId++] = (byte) (((sestet2 & 3) << 6) | sestet3); - } - } - - if (octetId == octet.length) { - return octet; - } else { - // 如果有非Base64字符混入,则实际结果比解析的要短,截取之 - return (byte[]) ArrayKit.copy(octet, new byte[octetId], octetId); - } - } - - /** - * 解码Base64 - * - * @param ch 字符信息 - * @param off 结束为止 - * @param len 长度 - * @param out 输出流 - * @throws IOException 异常信息 - */ - public static void decode(char[] ch, int off, int len, OutputStream out) - throws IOException { - byte b2, b3; - while ((len -= 2) >= 0) { - out.write((byte) ((Normal.DECODE_64_TABLE[ch[off++]] << 2) - | ((b2 = Normal.DECODE_64_TABLE[ch[off++]]) >>> 4))); - if ((len-- == 0) || ch[off] == Symbol.C_EQUAL) - break; - out.write((byte) ((b2 << 4) - | ((b3 = Normal.DECODE_64_TABLE[ch[off++]]) >>> 2))); - if ((len-- == 0) || ch[off] == Symbol.C_EQUAL) - break; - out.write((byte) ((b3 << 6) | Normal.DECODE_64_TABLE[ch[off++]])); - } - } - - /** - * 给定的字符是否为Base64字符 - * - * @param octet 被检查的字符 - * @return 是否为Base64字符 - */ - public static boolean isBase64Code(byte octet) { - return octet == Symbol.C_EQUAL || (octet >= 0 && octet < Normal.DECODE_64_TABLE.length && Normal.DECODE_64_TABLE[octet] != -1); - } - - /** - * 获取下一个有效的byte字符 - * - * @param in 输入 - * @param pos 当前位置,调用此方法后此位置保持在有效字符的下一个位置 - * @param maxPos 最大位置 - * @return 有效字符,如果达到末尾返回 - */ - private static byte getNextValidDecodeByte(byte[] in, IntWrapper pos, int maxPos) { - byte base64Byte; - byte decodeByte; - while (pos.value <= maxPos) { - base64Byte = in[pos.value++]; - if (base64Byte > -1) { - decodeByte = Normal.DECODE_64_TABLE[base64Byte]; - if (decodeByte > -1) { - return decodeByte; - } - } - } - return PADDING; - } - - /** - * int包装,使之可变 - */ - private static class IntWrapper { - int value; - - IntWrapper(int value) { - this.value = value; - } - } - -} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Encoder.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Encoder.java deleted file mode 100755 index 3cd9c41162..0000000000 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Base64Encoder.java +++ /dev/null @@ -1,235 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.core.codec; - -import org.aoju.bus.core.lang.Charset; -import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.Symbol; -import org.aoju.bus.core.toolkit.CharsKit; -import org.aoju.bus.core.toolkit.StringKit; - -/** - * Base64编码 - * - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class Base64Encoder { - - /** - * 编码为Base64,非URL安全的 - * - * @param arr 被编码的数组 - * @param lineSep 在76个char之后是CRLF还是EOF - * @return 编码后的bytes - */ - public static byte[] encode(byte[] arr, boolean lineSep) { - return encode(arr, lineSep, false); - } - - /** - * 编码为Base64,URL安全的 - * - * @param arr 被编码的数组 - * @param lineSep 在76个char之后是CRLF还是EOF - * @return 编码后的bytes - */ - public static byte[] encodeUrlSafe(byte[] arr, boolean lineSep) { - return encode(arr, lineSep, true); - } - - /** - * base64编码 - * - * @param source 被编码的base64字符串 - * @return 被加密后的字符串 - */ - public static String encode(CharSequence source) { - return encode(source, Charset.UTF_8); - } - - /** - * base64编码,URL安全 - * - * @param source 被编码的base64字符串 - * @return 被加密后的字符串 - */ - public static String encodeUrlSafe(CharSequence source) { - return encodeUrlSafe(source, Charset.UTF_8); - } - - /** - * base64编码 - * - * @param source 被编码的base64字符串 - * @param charset 字符集 - * @return 被加密后的字符串 - */ - public static String encode(CharSequence source, java.nio.charset.Charset charset) { - return encode(StringKit.bytes(source, charset)); - } - - /** - * base64编码,URL安全的 - * - * @param source 被编码的base64字符串 - * @param charset 字符集 - * @return 被加密后的字符串 - */ - public static String encodeUrlSafe(CharSequence source, java.nio.charset.Charset charset) { - return encodeUrlSafe(StringKit.bytes(source, charset)); - } - - /** - * base64编码 - * - * @param source 被编码的base64字符串 - * @return 被加密后的字符串 - */ - public static String encode(byte[] source) { - return StringKit.toString(encode(source, false), Charset.UTF_8); - } - - /** - * base64编码,URL安全的 - * - * @param source 被编码的base64字符串 - * @return 被加密后的字符串 - */ - public static String encodeUrlSafe(byte[] source) { - return StringKit.toString(encodeUrlSafe(source, false), Charset.UTF_8); - } - - /** - * 编码为Base64 - * 如果isMultiLine为true,则每76个字符一个换行符,否则在一行显示 - * - * @param arr 被编码的数组 - * @param isMultiLine 在76个char之后是CRLF还是EOF - * @param isUrlSafe 是否使用URL安全字符,一般为false - * @return 编码后的bytes - */ - public static byte[] encode(byte[] arr, boolean isMultiLine, boolean isUrlSafe) { - if (null == arr) { - return null; - } - - int len = arr.length; - if (len == 0) { - return Normal.EMPTY_BYTE_ARRAY; - } - - int evenlen = (len / 3) * 3; - int cnt = ((len - 1) / 3 + 1) << 2; - int destlen = cnt + (isMultiLine ? (cnt - 1) / 76 << 1 : 0); - byte[] dest = new byte[destlen]; - - byte[] encodeTable = isUrlSafe ? Normal.ENCODE_URL_TABLE : Normal.ENCODE_64_TABLE; - - for (int s = 0, d = 0, cc = 0; s < evenlen; ) { - int i = (arr[s++] & 0xff) << Normal._16 | (arr[s++] & 0xff) << 8 | (arr[s++] & 0xff); - - dest[d++] = encodeTable[(i >>> 18) & 0x3f]; - dest[d++] = encodeTable[(i >>> 12) & 0x3f]; - dest[d++] = encodeTable[(i >>> 6) & 0x3f]; - dest[d++] = encodeTable[i & 0x3f]; - - if (isMultiLine && ++cc == 19 && d < destlen - 2) { - dest[d++] = Symbol.C_CR; - dest[d++] = Symbol.C_LF; - cc = 0; - } - } - - int left = len - evenlen;// 剩余位数 - if (left > 0) { - int i = ((arr[evenlen] & 0xff) << 10) | (left == 2 ? ((arr[len - 1] & 0xff) << 2) : 0); - - dest[destlen - 4] = encodeTable[i >> 12]; - dest[destlen - 3] = encodeTable[(i >>> 6) & 0x3f]; - - if (isUrlSafe) { - // 在URL Safe模式下,=为URL中的关键字符,不需要补充 空余的byte位要去掉 - int urlSafeLen = destlen - 2; - if (2 == left) { - dest[destlen - 2] = encodeTable[i & 0x3f]; - urlSafeLen += 1; - } - byte[] urlSafeDest = new byte[urlSafeLen]; - System.arraycopy(dest, 0, urlSafeDest, 0, urlSafeLen); - return urlSafeDest; - } else { - dest[destlen - 2] = (left == 2) ? encodeTable[i & 0x3f] : (byte) Symbol.C_EQUAL; - dest[destlen - 1] = Symbol.C_EQUAL; - } - } - return dest; - } - - /** - * 编码为Base64 - * - * @param src 源字符信息 - * @param srcPos 开始位置 - * @param srcLen 长度 - * @param dest 字符信息 - * @param destPos 开始位置 - */ - public static void encode(byte[] src, int srcPos, int srcLen, char[] dest, - int destPos) { - if (srcPos < 0 || srcLen < 0 || srcLen > src.length - srcPos) - throw new IndexOutOfBoundsException(); - int destLen = (srcLen * 4 / 3 + 3) & ~3; - if (destPos < 0 || destLen > dest.length - destPos) - throw new IndexOutOfBoundsException(); - byte b1, b2, b3; - int n = srcLen / 3; - int r = srcLen - 3 * n; - while (n-- > 0) { - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 = src[srcPos++]) >>> 2) & 0x3F]; - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 & 0x03) << 4) - | (((b2 = src[srcPos++]) >>> 4) & 0x0F)]; - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b2 & 0x0F) << 2) - | (((b3 = src[srcPos++]) >>> 6) & 0x03)]; - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[b3 & 0x3F]; - } - if (r > 0) - if (r == 1) { - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 = src[srcPos]) >>> 2) & 0x3F]; - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 & 0x03) << 4)]; - dest[destPos++] = Symbol.C_EQUAL; - dest[destPos++] = Symbol.C_EQUAL; - } else { - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 = src[srcPos++]) >>> 2) & 0x3F]; - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[((b1 & 0x03) << 4) - | (((b2 = src[srcPos]) >>> 4) & 0x0F)]; - dest[destPos++] = CharsKit.getChars(Normal.ENCODE_64_TABLE)[(b2 & 0x0F) << 2]; - dest[destPos++] = Symbol.C_EQUAL; - } - } - -} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java old mode 100755 new mode 100644 index c10c26e7e0..b972a797a0 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Caesar.java @@ -31,8 +31,8 @@ * 凯撒密码实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Caesar { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UserType.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Decoder.java old mode 100755 new mode 100644 similarity index 86% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UserType.java rename to bus-core/src/main/java/org/aoju/bus/core/codec/Decoder.java index c40a7b2549..ca9db54cd3 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UserType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Decoder.java @@ -23,20 +23,25 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +package org.aoju.bus.core.codec; /** + * 解码接口 + * + * @param 被解码的数据类型 + * @param 解码后的数据类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "UserType") -public class UserType extends PersonType { +public interface Decoder { -} + /** + * 执行解码 + * + * @param data 被解码的数据 + * @return 解码后的数据 + */ + R decode(T data); +} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotBranchType.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Encoder.java old mode 100755 new mode 100644 similarity index 83% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotBranchType.java rename to bus-core/src/main/java/org/aoju/bus/core/codec/Encoder.java index 3bc03cedd8..86948dfcb3 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotBranchType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Encoder.java @@ -23,20 +23,25 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +package org.aoju.bus.core.codec; /** + * 编码接口 + * + * @param 被编码的数据类型 + * @param 编码后的数据类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SlotBranchType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class SlotBranchType extends BranchType { +public interface Encoder { -} + /** + * 执行编码 + * + * @param data 被编码的数据 + * @return 编码后的数据 + */ + R encode(T data); +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Morse.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Morse.java old mode 100755 new mode 100644 index 952f555fb2..70ed6d9a2c --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Morse.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Morse.java @@ -37,8 +37,8 @@ * 莫尔斯电码的编码和解码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Morse { diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/Percent.java b/bus-core/src/main/java/org/aoju/bus/core/codec/Percent.java index 74a151d297..4b89551814 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/Percent.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/Percent.java @@ -46,8 +46,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Percent implements Serializable { @@ -152,6 +152,8 @@ public Percent orNew(Percent codec) { /** * 是否将空格编码为+ + * 如果为{@code true},则将空格编码为"+",此项只在"application/x-www-form-urlencoded"中使用
+ * 如果为{@code false},则空格编码为"%20",此项一般用于URL的Query部分(RFC3986规范) * * @param encodeSpaceAsPlus 是否将空格编码为+ * @return this @@ -195,6 +197,7 @@ public String encode(CharSequence path, Charset charset) { continue; } + // 兼容双字节的Unicode符处理(如部分emoji) byte[] ba = buf.toByteArray(); for (byte toEncode : ba) { // Converting each byte in the buffer diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/PunyCode.java b/bus-core/src/main/java/org/aoju/bus/core/codec/PunyCode.java new file mode 100644 index 0000000000..712a3e2da4 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/PunyCode.java @@ -0,0 +1,290 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.codec; + +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.lang.Symbol; +import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.toolkit.StringKit; + +/** + * Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名 + * 从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码 + *

+ * 参考:https://blog.csdn.net/a19881029/article/details/18262671 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class PunyCode { + + public static final String PUNY_CODE_PREFIX = "xn--"; + private static final int TMIN = 1; + private static final int TMAX = 26; + private static final int BASE = 36; + private static final int INITIAL_N = 128; + private static final int INITIAL_BIAS = 72; + private static final int DAMP = 700; + private static final int SKEW = 38; + + /** + * 将内容编码为PunyCode + * + * @param input 字符串 + * @return PunyCode字符串 + * @throws InstrumentException 计算异常 + */ + public static String encode(CharSequence input) throws InstrumentException { + return encode(input, false); + } + + /** + * 将内容编码为PunyCode + * + * @param input 字符串 + * @param withPrefix 是否包含 "xn--"前缀 + * @return PunyCode字符串 + * @throws InstrumentException 计算异常 + */ + public static String encode(CharSequence input, boolean withPrefix) throws InstrumentException { + int n = INITIAL_N; + int delta = 0; + int bias = INITIAL_BIAS; + StringBuilder output = new StringBuilder(); + // Copy all basic code points to the output + final int length = input.length(); + int b = 0; + for (int i = 0; i < length; i++) { + char c = input.charAt(i); + if (isBasic(c)) { + output.append(c); + b++; + } + } + // Append delimiter + if (b > 0) { + output.append(Symbol.C_MINUS); + } + int h = b; + while (h < length) { + int m = Integer.MAX_VALUE; + // Find the minimum code point >= n + for (int i = 0; i < length; i++) { + final char c = input.charAt(i); + if (c >= n && c < m) { + m = c; + } + } + if (m - n > (Integer.MAX_VALUE - delta) / (h + 1)) { + throw new InstrumentException("OVERFLOW"); + } + delta = delta + (m - n) * (h + 1); + n = m; + for (int j = 0; j < length; j++) { + int c = input.charAt(j); + if (c < n) { + delta++; + if (0 == delta) { + throw new InstrumentException("OVERFLOW"); + } + } + if (c == n) { + int q = delta; + for (int k = BASE; ; k += BASE) { + int t; + if (k <= bias) { + t = TMIN; + } else if (k >= bias + TMAX) { + t = TMAX; + } else { + t = k - bias; + } + if (q < t) { + break; + } + output.append((char) digit2codepoint(t + (q - t) % (BASE - t))); + q = (q - t) / (BASE - t); + } + output.append((char) digit2codepoint(q)); + bias = adapt(delta, h + 1, h == b); + delta = 0; + h++; + } + } + delta++; + n++; + } + + if (withPrefix) { + output.insert(0, PUNY_CODE_PREFIX); + } + return output.toString(); + } + + /** + * 解码 PunyCode为字符串 + * + * @param input PunyCode + * @return 字符串 + * @throws InstrumentException 计算异常 + */ + public static String decode(String input) throws InstrumentException { + input = StringKit.removePrefixIgnoreCase(input, PUNY_CODE_PREFIX); + + int n = INITIAL_N; + int i = 0; + int bias = INITIAL_BIAS; + StringBuilder output = new StringBuilder(); + int d = input.lastIndexOf(Symbol.C_MINUS); + if (d > 0) { + for (int j = 0; j < d; j++) { + final char c = input.charAt(j); + if (isBasic(c)) { + output.append(c); + } + } + d++; + } else { + d = 0; + } + final int length = input.length(); + while (d < length) { + int oldi = i; + int w = 1; + for (int k = BASE; ; k += BASE) { + if (d == length) { + throw new InstrumentException("BAD_INPUT"); + } + int c = input.charAt(d++); + int digit = codepoint2digit(c); + if (digit > (Integer.MAX_VALUE - i) / w) { + throw new InstrumentException("OVERFLOW"); + } + i = i + digit * w; + int t; + if (k <= bias) { + t = TMIN; + } else if (k >= bias + TMAX) { + t = TMAX; + } else { + t = k - bias; + } + if (digit < t) { + break; + } + w = w * (BASE - t); + } + bias = adapt(i - oldi, output.length() + 1, oldi == 0); + if (i / (output.length() + 1) > Integer.MAX_VALUE - n) { + throw new InstrumentException("OVERFLOW"); + } + n = n + i / (output.length() + 1); + i = i % (output.length() + 1); + output.insert(i, (char) n); + i++; + } + + return output.toString(); + } + + private static int adapt(int delta, int numpoints, boolean first) { + if (first) { + delta = delta / DAMP; + } else { + delta = delta / 2; + } + delta = delta + (delta / numpoints); + int k = 0; + while (delta > ((BASE - TMIN) * TMAX) / 2) { + delta = delta / (BASE - TMIN); + k = k + BASE; + } + return k + ((BASE - TMIN + 1) * delta) / (delta + SKEW); + } + + private static boolean isBasic(char c) { + return c < 0x80; + } + + /** + * 将数字转为字符,对应关系为: + *

+     *     0 -> a
+     *     1 -> b
+     *     ...
+     *     25 -> z
+     *     26 -> '0'
+     *     ...
+     *     35 -> '9'
+     * 
+ * + * @param d 输入字符 + * @return 转换后的字符 + * @throws InstrumentException 无效字符 + */ + private static int digit2codepoint(int d) throws InstrumentException { + Assert.checkBetween(d, 0, 35); + if (d < 26) { + // 0..25 : 'a'..'z' + return d + 'a'; + } else if (d < 36) { + // 26..35 : '0'..'9'; + return d - 26 + '0'; + } else { + throw new InstrumentException("BAD_INPUT"); + } + } + + /** + * 将字符转为数字,对应关系为: + *
+     *     a -> 0
+     *     b -> 1
+     *     ...
+     *     z -> 25
+     *     '0' -> 26
+     *     ...
+     *     '9' -> 35
+     * 
+ * + * @param c 输入字符 + * @return 转换后的字符 + * @throws InstrumentException 无效字符 + */ + private static int codepoint2digit(int c) throws InstrumentException { + if (c - '0' < 10) { + // '0'..'9' : 26..35 + return c - '0' + 26; + } else if (c - 'a' < 26) { + // 'a'..'z' : 0..25 + return c - 'a'; + } else { + throw new InstrumentException("BAD_INPUT"); + } + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/codec/package-info.java index be1ee2825f..8076a52665 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/codec/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/package-info.java @@ -2,7 +2,7 @@ * BaseX以及BCD编码封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.codec; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base16Provider.java b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base16Provider.java new file mode 100644 index 0000000000..e5a7a01a2f --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base16Provider.java @@ -0,0 +1,147 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.codec.provider; + +import org.aoju.bus.core.codec.Decoder; +import org.aoju.bus.core.codec.Encoder; +import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.toolkit.StringKit; + +/** + * Base16(Hex)编码解码器 + * 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15) + * 例如十进制数57,在二进制写作111001,在16进制写作39 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class Base16Provider implements Encoder, Decoder { + + /** + * 字符信息 + */ + private final char[] alphabets; + + /** + * 构造 + * + * @param lowerCase 是否小写 + */ + public Base16Provider(boolean lowerCase) { + this.alphabets = (lowerCase ? "0123456789abcdef" : "0123456789ABCDEF").toCharArray(); + } + + /** + * 将十六进制字符转换成一个整数 + * + * @param ch 十六进制char + * @param index 十六进制字符在字符数组中的位置 + * @return 一个整数 + * @throws InstrumentException 当ch不是一个合法的十六进制字符时,抛出运行时异常 + */ + private static int toDigit(char ch, int index) { + int digit = Character.digit(ch, 16); + if (digit < 0) { + throw new InstrumentException("Illegal hexadecimal character {} at index {}", ch, index); + } + return digit; + } + + @Override + public char[] encode(byte[] data) { + final int len = data.length; + final char[] out = new char[len << 1];// len*2 + // two characters from the hex value. + for (int i = 0, j = 0; i < len; i++) { + out[j++] = alphabets[(0xF0 & data[i]) >>> 4];// 高位 + out[j++] = alphabets[0x0F & data[i]];// 低位 + } + return out; + } + + @Override + public byte[] decode(CharSequence encoded) { + if (StringKit.isEmpty(encoded)) { + return null; + } + + encoded = StringKit.cleanBlank(encoded); + int len = encoded.length(); + + if ((len & 0x01) != 0) { + // 如果提供的数据是奇数长度,则前面补0凑偶数 + encoded = "0" + encoded; + len = encoded.length(); + } + + final byte[] out = new byte[len >> 1]; + + // two characters form the hex value. + for (int i = 0, j = 0; j < len; i++) { + int f = toDigit(encoded.charAt(j), j) << 4; + j++; + f = f | toDigit(encoded.charAt(j), j); + j++; + out[i] = (byte) (f & 0xFF); + } + + return out; + } + + /** + * 将指定char值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式 + * 转换的字符串如果u后不足4位,则前面用0填充,例如: + * + *
+     * '你' =》'\u4f60'
+     * 
+ * + * @param ch char值 + * @return Unicode表现形式 + */ + public String toUnicodeHex(char ch) { + return "\\u" + + alphabets[(ch >> 12) & 15] + + alphabets[(ch >> 8) & 15] + + alphabets[(ch >> 4) & 15] + + alphabets[(ch) & 15]; + } + + /** + * 将byte值转为16进制并添加到{@link StringBuilder}中 + * + * @param builder {@link StringBuilder} + * @param b byte + */ + public void appendHex(StringBuilder builder, byte b) { + int high = (b & 0xf0) >>> 4;// 高位 + int low = b & 0x0f;// 低位 + builder.append(alphabets[high]); + builder.append(alphabets[low]); + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base32Provider.java b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base32Provider.java new file mode 100755 index 0000000000..4bcaf18bde --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base32Provider.java @@ -0,0 +1,270 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.codec.provider; + +import org.aoju.bus.core.codec.Decoder; +import org.aoju.bus.core.codec.Encoder; +import org.aoju.bus.core.lang.Symbol; + +import java.util.Arrays; + +/** + * Base32 - encodes and decodes RFC4648 Base32 (see https://datatracker.ietf.org/doc/html/rfc4648#section-6 ) + * base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码 + * 所以,5个ASCII字符经过base32编码后会变为8个字符(公约数为40),长度增加3/5.不足8n用“=”补足 + * 根据RFC4648 Base32规范,支持两种模式: + *
    + *
  • Base 32 Alphabet (ABCDEFGHIJKLMNOPQRSTUVWXYZ234567)
  • + *
  • "Extended Hex" Base 32 Alphabet (0123456789ABCDEFGHIJKLMNOPQRSTUV)
  • + *
+ * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class Base32Provider implements Encoder, Decoder { + + /** + * 实例 + */ + public static Base32Provider INSTANCE = new Base32Provider(); + + @Override + public String encode(byte[] data) { + return encode(data, false); + } + + /** + * 编码数据 + * + * @param data 数据 + * @param useHex 是否使用Hex Alphabet + * @return 编码后的Base32字符串 + */ + public String encode(byte[] data, boolean useHex) { + final Base32Encoder encoder = useHex ? Base32Encoder.HEX_ENCODER : Base32Encoder.ENCODER; + return encoder.encode(data); + } + + @Override + public byte[] decode(CharSequence encoded) { + return decode(encoded, false); + } + + /** + * 解码数据 + * + * @param encoded base32字符串 + * @param useHex 是否使用Hex Alphabet + * @return 解码后的内容 + */ + public byte[] decode(CharSequence encoded, boolean useHex) { + final Base32Decoder decoder = useHex ? Base32Decoder.HEX_DECODER : Base32Decoder.DECODER; + return decoder.decode(encoded); + } + + /** + * Bas32编码器 + */ + public static class Base32Encoder implements Encoder { + + /** + * 默认字符 + */ + private static final String DEFAULT_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"; + /** + * 默认编码器 + */ + public static final Base32Encoder ENCODER = new Base32Encoder(DEFAULT_ALPHABET, Symbol.C_EQUAL); + /** + * HEX字符 + */ + private static final String HEX_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUV"; + /** + * HEX编码器 + */ + public static final Base32Encoder HEX_ENCODER = new Base32Encoder(HEX_ALPHABET, Symbol.C_EQUAL); + private static final int[] BASE32_FILL = {-1, 4, 1, 6, 3}; + private final char[] alphabet; + private final Character pad; + + /** + * 构造 + * + * @param alphabet 自定义编码字母表,见 {@link #DEFAULT_ALPHABET}和 {@link #HEX_ALPHABET} + * @param pad 补位字符 + */ + public Base32Encoder(String alphabet, Character pad) { + this.alphabet = alphabet.toCharArray(); + this.pad = pad; + } + + @Override + public String encode(byte[] data) { + int i = 0; + int index = 0; + int digit; + int currByte; + int nextByte; + + int encodeLen = data.length * 8 / 5; + if (encodeLen != 0) { + encodeLen = encodeLen + 1 + BASE32_FILL[(data.length * 8) % 5]; + } + + StringBuilder base32 = new StringBuilder(encodeLen); + + while (i < data.length) { + // unsign + currByte = (data[i] >= 0) ? data[i] : (data[i] + 256); + + // Is the current digit going to span a byte boundary? + if (index > 3) { + if ((i + 1) < data.length) { + nextByte = (data[i + 1] >= 0) ? data[i + 1] : (data[i + 1] + 256); + } else { + nextByte = 0; + } + + digit = currByte & (0xFF >> index); + index = (index + 5) % 8; + digit <<= index; + digit |= nextByte >> (8 - index); + i++; + } else { + digit = (currByte >> (8 - (index + 5))) & 0x1F; + index = (index + 5) % 8; + if (index == 0) { + i++; + } + } + base32.append(alphabet[digit]); + } + + if (null != pad) { + // 末尾补充不足长度的 + while (base32.length() < encodeLen) { + base32.append(pad.charValue()); + } + } + + return base32.toString(); + } + } + + /** + * Base32解码器 + */ + public static class Base32Decoder implements Decoder { + + /** + * 默认解码器 + */ + public static final Base32Decoder DECODER = new Base32Decoder(Base32Encoder.DEFAULT_ALPHABET); + /** + * HEX解码器 + */ + public static final Base32Decoder HEX_DECODER = new Base32Decoder(Base32Encoder.HEX_ALPHABET); + /** + * 默认字符 + */ + private static final char BASE_CHAR = '0'; + /** + * 查找表 + */ + private final byte[] lookupTable; + + /** + * 构造 + * + * @param alphabet 编码字母表 + */ + public Base32Decoder(String alphabet) { + lookupTable = new byte[128]; + Arrays.fill(lookupTable, (byte) -1); + + final int length = alphabet.length(); + + char c; + for (int i = 0; i < length; i++) { + c = alphabet.charAt(i); + lookupTable[c - BASE_CHAR] = (byte) i; + // 支持小写字母解码 + if (c >= 'A' && c <= 'Z') { + lookupTable[Character.toLowerCase(c) - BASE_CHAR] = (byte) i; + } + } + } + + @Override + public byte[] decode(CharSequence encoded) { + int i, index, lookup, offset, digit; + final String base32 = encoded.toString(); + int len = base32.endsWith("=") ? base32.indexOf("=") * 5 / 8 : base32.length() * 5 / 8; + byte[] bytes = new byte[len]; + + for (i = 0, index = 0, offset = 0; i < base32.length(); i++) { + lookup = base32.charAt(i) - BASE_CHAR; + + // Skip chars outside the lookup table + if (lookup < 0 || lookup >= lookupTable.length) { + continue; + } + + digit = lookupTable[lookup]; + + // If this digit is not in the table, ignore it + if (digit < 0) { + continue; + } + + if (index <= 3) { + index = (index + 5) % 8; + if (index == 0) { + bytes[offset] |= digit; + offset++; + if (offset >= bytes.length) { + break; + } + } else { + bytes[offset] |= digit << (8 - index); + } + } else { + index = (index + 5) % 8; + bytes[offset] |= (digit >>> index); + offset++; + + if (offset >= bytes.length) { + break; + } + bytes[offset] |= digit << (8 - index); + } + } + return bytes; + } + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base58Provider.java b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base58Provider.java new file mode 100644 index 0000000000..7bcab40dc4 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base58Provider.java @@ -0,0 +1,230 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.codec.provider; + +import org.aoju.bus.core.codec.Decoder; +import org.aoju.bus.core.codec.Encoder; +import org.aoju.bus.core.lang.Normal; +import org.aoju.bus.core.toolkit.StringKit; + +import java.util.Arrays; + +/** + * Base58编码器 + * 此编码器不包括校验码、版本等信息 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class Base58Provider implements Encoder, Decoder { + + /** + * 实例 + */ + public static Base58Provider INSTANCE = new Base58Provider(); + + /** + * 将数字除以给定的除数,表示为字节数组,每个字节包含指定基数中的单个数字 + * 给定的数字被就地修改以包含商,返回值是余数 + * + * @param number 要除的数 + * @param firstDigit 在第一个非零数字的数组中的索引(这用于通过跳过前导零进行优化) + * @param base 表示数字位数的基数(最多 256) + * @param divisor 要除以的数(最多 256) + * @return 除法运算的其余部分 + */ + private static byte divmod(byte[] number, int firstDigit, int base, int divisor) { + // 用来表示输入数字的基数 + int remainder = 0; + for (int i = firstDigit; i < number.length; i++) { + int digit = (int) number[i] & 0xFF; + int temp = remainder * base + digit; + number[i] = (byte) (temp / divisor); + remainder = temp % divisor; + } + return (byte) remainder; + } + + /** + * Base58编码 + * + * @param data 被编码的数据,不带校验和 + * @return 编码后的字符串 + */ + @Override + public String encode(byte[] data) { + return Base58Encoder.ENCODER.encode(data); + } + + /** + * 解码给定的Base58字符串 + * + * @param encoded Base58编码字符串 + * @return 解码后的bytes + * @throws IllegalArgumentException 非标准Base58字符串 + */ + @Override + public byte[] decode(CharSequence encoded) throws IllegalArgumentException { + return Base58Decoder.DECODER.decode(encoded); + } + + /** + * Base58编码器 + */ + public static class Base58Encoder implements Encoder { + + /** + * 默认字符 + */ + private static final String DEFAULT_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; + /** + * 默认编码器 + */ + public static final Base58Encoder ENCODER = new Base58Encoder(DEFAULT_ALPHABET.toCharArray()); + /** + * 编码字母表 + */ + private final char[] alphabet; + /** + * 编码字符0 + */ + private final char alphabetZero; + + /** + * 构造 + * + * @param alphabet 编码字母表 + */ + public Base58Encoder(char[] alphabet) { + this.alphabet = alphabet; + alphabetZero = alphabet[0]; + } + + @Override + public String encode(byte[] data) { + if (null == data) { + return null; + } + if (data.length == 0) { + return Normal.EMPTY; + } + // 计算开头0的个数 + int zeroCount = 0; + while (zeroCount < data.length && data[zeroCount] == 0) { + ++zeroCount; + } + // 将256位编码转换为58位编码 + data = Arrays.copyOf(data, data.length); // since we modify it in-place + final char[] encoded = new char[data.length * 2]; // upper bound + int outputStart = encoded.length; + for (int inputStart = zeroCount; inputStart < data.length; ) { + encoded[--outputStart] = alphabet[divmod(data, inputStart, 256, 58)]; + if (data[inputStart] == 0) { + ++inputStart; // optimization - skip leading zeros + } + } + // Preserve exactly as many leading encoded zeros in output as there were leading zeros in input. + while (outputStart < encoded.length && encoded[outputStart] == alphabetZero) { + ++outputStart; + } + while (--zeroCount >= 0) { + encoded[--outputStart] = alphabetZero; + } + // Return encoded string (including encoded leading zeros). + return new String(encoded, outputStart, encoded.length - outputStart); + } + } + + /** + * Base58解码器 + */ + public static class Base58Decoder implements Decoder { + + /** + * 默认解码器 + */ + public static Base58Decoder DECODER = new Base58Decoder(Base58Encoder.DEFAULT_ALPHABET); + /** + * 查找表 + */ + private final byte[] lookupTable; + + /** + * 构造 + * + * @param alphabet 编码字符表 + */ + public Base58Decoder(String alphabet) { + final byte[] lookupTable = new byte['z' + 1]; + Arrays.fill(lookupTable, (byte) -1); + + final int length = alphabet.length(); + for (int i = 0; i < length; i++) { + lookupTable[alphabet.charAt(i)] = (byte) i; + } + this.lookupTable = lookupTable; + } + + @Override + public byte[] decode(CharSequence encoded) { + if (encoded.length() == 0) { + return new byte[0]; + } + // Convert the base58-encoded ASCII chars to a base58 byte sequence (base58 digits). + final byte[] input58 = new byte[encoded.length()]; + for (int i = 0; i < encoded.length(); ++i) { + char c = encoded.charAt(i); + int digit = c < 128 ? lookupTable[c] : -1; + if (digit < 0) { + throw new IllegalArgumentException(StringKit.format("Invalid char '{}' at [{}]", c, i)); + } + input58[i] = (byte) digit; + } + // Count leading zeros. + int zeros = 0; + while (zeros < input58.length && input58[zeros] == 0) { + ++zeros; + } + // Convert base-58 digits to base-256 digits. + byte[] decoded = new byte[encoded.length()]; + int outputStart = decoded.length; + for (int inputStart = zeros; inputStart < input58.length; ) { + decoded[--outputStart] = divmod(input58, inputStart, 58, 256); + if (input58[inputStart] == 0) { + ++inputStart; // optimization - skip leading zeros + } + } + // Ignore extra leading zeroes that were added during the calculation. + while (outputStart < decoded.length && decoded[outputStart] == 0) { + ++outputStart; + } + // Return decoded data (including original number of leading zeros). + return Arrays.copyOfRange(decoded, outputStart - zeros, decoded.length); + } + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base62Provider.java b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base62Provider.java new file mode 100644 index 0000000000..354b9b20fa --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/codec/provider/Base62Provider.java @@ -0,0 +1,275 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.codec.provider; + +import org.aoju.bus.core.codec.Decoder; +import org.aoju.bus.core.codec.Encoder; +import org.aoju.bus.core.toolkit.ArrayKit; + +import java.io.ByteArrayOutputStream; +import java.io.Serializable; + +/** + * Base62编码解码实现,常用于短URL + * From https://github.com/seruco/base62 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class Base62Provider implements Encoder, Decoder, Serializable { + + private static final long serialVersionUID = 1L; + + private static final int STANDARD_BASE = 256; + private static final int TARGET_BASE = 62; + + /** + * 实例 + */ + public static Base62Provider INSTANCE = new Base62Provider(); + + /** + * 按照字典转换bytes + * + * @param indices 内容 + * @param dictionary 字典 + * @return 转换值 + */ + private static byte[] translate(byte[] indices, byte[] dictionary) { + final byte[] translation = new byte[indices.length]; + + for (int i = 0; i < indices.length; i++) { + translation[i] = dictionary[indices[i]]; + } + + return translation; + } + + /** + * 使用定义的字母表从源基准到目标基准 + * + * @param message 消息bytes + * @param sourceBase 源基准长度 + * @param targetBase 目标基准长度 + * @return 计算结果 + */ + private static byte[] convert(byte[] message, int sourceBase, int targetBase) { + // 计算结果长度,算法来自:http://codegolf.stackexchange.com/a/21672 + final int estimatedLength = estimateOutputLength(message.length, sourceBase, targetBase); + + final ByteArrayOutputStream out = new ByteArrayOutputStream(estimatedLength); + + byte[] source = message; + + while (source.length > 0) { + final ByteArrayOutputStream quotient = new ByteArrayOutputStream(source.length); + + int remainder = 0; + + for (byte b : source) { + final int accumulator = (b & 0xFF) + remainder * sourceBase; + final int digit = (accumulator - (accumulator % targetBase)) / targetBase; + + remainder = accumulator % targetBase; + + if (quotient.size() > 0 || digit > 0) { + quotient.write(digit); + } + } + + out.write(remainder); + + source = quotient.toByteArray(); + } + + // pad output with zeroes corresponding to the number of leading zeroes in the message + for (int i = 0; i < message.length - 1 && message[i] == 0; i++) { + out.write(0); + } + + return ArrayKit.reverse(out.toByteArray()); + } + + /** + * 估算结果长度 + * + * @param inputLength 输入长度 + * @param sourceBase 源基准长度 + * @param targetBase 目标基准长度 + * @return 估算长度 + */ + private static int estimateOutputLength(int inputLength, int sourceBase, int targetBase) { + return (int) Math.ceil((Math.log(sourceBase) / Math.log(targetBase)) * inputLength); + } + + /** + * 编码指定消息bytes为Base62格式的bytes + * + * @param data 被编码的消息 + * @return Base62内容 + */ + @Override + public byte[] encode(byte[] data) { + return encode(data, false); + } + + /** + * 编码指定消息bytes为Base62格式的bytes + * + * @param data 被编码的消息 + * @param useInverted 是否使用反转风格,即将GMP风格中的大小写做转换 + * @return Base62内容 + */ + public byte[] encode(byte[] data, boolean useInverted) { + final Base62Encoder encoder = useInverted ? Base62Encoder.INVERTED_ENCODER : Base62Encoder.GMP_ENCODER; + return encoder.encode(data); + } + + /** + * 解码Base62消息 + * + * @param encoded Base62内容 + * @return 消息 + */ + @Override + public byte[] decode(byte[] encoded) { + return decode(encoded, false); + } + + /** + * 解码Base62消息 + * + * @param encoded Base62内容 + * @param useInverted 是否使用反转风格,即将GMP风格中的大小写做转换 + * @return 消息 + */ + public byte[] decode(byte[] encoded, boolean useInverted) { + final Base62Decoder decoder = useInverted ? Base62Decoder.INVERTED_DECODER : Base62Decoder.GMP_DECODER; + return decoder.decode(encoded); + } + + /** + * Base62编码器 + */ + public static class Base62Encoder implements Encoder { + + /** + * GMP风格 + */ + private static final byte[] GMP = { + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', + 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', + 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', + 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', + 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', + 'u', 'v', 'w', 'x', 'y', 'z' + }; + + /** + * 反转风格,即将GMP风格中的大小写做转换 + */ + private static final byte[] INVERTED = { + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', + 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', + 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', + 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', + 'U', 'V', 'W', 'X', 'Y', 'Z' + }; + + /** + * GMP 编码器 + */ + public static Base62Encoder GMP_ENCODER = new Base62Encoder(GMP); + /** + * INVERTED 编码器 + */ + public static Base62Encoder INVERTED_ENCODER = new Base62Encoder(INVERTED); + /** + * 字符信息 + */ + private final byte[] alphabet; + + /** + * 构造 + * + * @param alphabet 字符表 + */ + public Base62Encoder(byte[] alphabet) { + this.alphabet = alphabet; + } + + @Override + public byte[] encode(byte[] data) { + final byte[] indices = convert(data, STANDARD_BASE, TARGET_BASE); + return translate(indices, alphabet); + } + } + + /** + * Base62解码器 + */ + public static class Base62Decoder implements Decoder { + + /** + * GMP 解码器 + */ + public static Base62Decoder GMP_DECODER = new Base62Decoder(Base62Encoder.GMP); + /** + * INVERTED 解码器 + */ + public static Base62Decoder INVERTED_DECODER = new Base62Decoder(Base62Encoder.INVERTED); + /** + * 查找表 + */ + private final byte[] lookupTable; + + /** + * 构造 + * + * @param alphabet 字母表 + */ + public Base62Decoder(byte[] alphabet) { + lookupTable = new byte['z' + 1]; + for (int i = 0; i < alphabet.length; i++) { + lookupTable[alphabet[i]] = (byte) i; + } + } + + + @Override + public byte[] decode(byte[] encoded) { + final byte[] prepared = translate(encoded, lookupTable); + return convert(prepared, TARGET_BASE, STANDARD_BASE); + } + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java index 5e669e35b0..d50538f1ff 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/ArrayIterator.java @@ -39,8 +39,8 @@ * * @param 元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ArrayIterator implements IterableIterator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/ComputeIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/ComputeIterator.java index a90839dada..2f5d67de2a 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/ComputeIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/ComputeIterator.java @@ -10,8 +10,8 @@ * 当无下一个节点时,须返回{@code null}表示遍历结束 * * @param 节点类型 - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class ComputeIterator implements Iterator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/ConcurrentHashSet.java b/bus-core/src/main/java/org/aoju/bus/core/collection/ConcurrentHashSet.java index 3b1c46d05f..9c51e4e670 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/ConcurrentHashSet.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/ConcurrentHashSet.java @@ -35,8 +35,8 @@ * * @param 元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConcurrentHashSet extends AbstractSet implements java.io.Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIterator.java index 0408be627a..2eb3248f25 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/CopiedIterator.java @@ -41,8 +41,8 @@ * * @param 元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CopiedIterator implements IterableIterator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/EnumerationIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/EnumerationIterator.java index 539e8a9211..5fcf9fc3f9 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/EnumerationIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/EnumerationIterator.java @@ -34,8 +34,8 @@ * * @param 元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EnumerationIterator implements IterableIterator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/IterableIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/IterableIterator.java index 47ba96e440..7d4b5d9bc4 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/IterableIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/IterableIterator.java @@ -7,8 +7,8 @@ * * @param 节点类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IterableIterator extends Iterable, Iterator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/IteratorEnumeration.java b/bus-core/src/main/java/org/aoju/bus/core/collection/IteratorEnumeration.java index 2da56f2302..9a4539251b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/IteratorEnumeration.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/IteratorEnumeration.java @@ -33,8 +33,8 @@ * * @param 元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IteratorEnumeration implements Enumeration { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/LineIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/LineIterator.java index 2be463099a..3562b8f44a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/LineIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/LineIterator.java @@ -37,8 +37,8 @@ * 此对象遍历结束后,应关闭之,推荐使用方式: * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LineIterator extends ComputeIterator implements IterableIterator, Closeable, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/PartitionIterator.java b/bus-core/src/main/java/org/aoju/bus/core/collection/PartitionIterator.java index 96b0c8c3bd..765b83c7f3 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/PartitionIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/PartitionIterator.java @@ -40,8 +40,8 @@ * * @param 字段类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PartitionIterator implements IterableIterator>, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java b/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java index 3af1ff9c8c..7c65ec5ede 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/PriorityQueue.java @@ -33,8 +33,8 @@ * 按照给定的排序规则淘汰末尾元素 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PriorityQueue extends java.util.PriorityQueue { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/SimpleCollector.java b/bus-core/src/main/java/org/aoju/bus/core/collection/SimpleCollector.java index e1f65ad6b8..e53479ab05 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/SimpleCollector.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/SimpleCollector.java @@ -39,8 +39,8 @@ * @param
累积结果的容器类型 * @param 数据结果类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleCollector implements Collector { diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/UniqueKeySet.java b/bus-core/src/main/java/org/aoju/bus/core/collection/UniqueKeySet.java new file mode 100644 index 0000000000..c6cb2c1890 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/UniqueKeySet.java @@ -0,0 +1,168 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.collection; + +import org.aoju.bus.core.map.MapBuilder; +import org.aoju.bus.core.toolkit.ObjectKit; + +import java.io.Serializable; +import java.util.*; +import java.util.function.Function; + +/** + * 唯一键的Set + * 通过自定义唯一键,通过{@link #uniqueGenerator}生成节点对象对应的键作为Map的key,确定唯一 + * 此Set与HashSet不同的是,HashSet依赖于{@link Object#equals(Object)}确定唯一 + * 但是很多时候我们无法对对象进行修改,此时在外部定义一个唯一规则,即可完成去重 + *
+ * {@code Set set = new UniqueKeySet<>(UniqueTestBean::getId);}
+ * 
+ * + * @param 唯一键类型 + * @param 值对象 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class UniqueKeySet extends AbstractSet implements Serializable { + + private static final long serialVersionUID = 1L; + private final Function uniqueGenerator; + private Map map; + + /** + * 构造 + * + * @param uniqueGenerator 唯一键生成规则函数,用于生成对象对应的唯一键 + */ + public UniqueKeySet(Function uniqueGenerator) { + this(false, uniqueGenerator); + } + + /** + * 构造 + * + * @param isLinked 是否保持加入顺序 + * @param uniqueGenerator 唯一键生成规则函数,用于生成对象对应的唯一键 + */ + public UniqueKeySet(boolean isLinked, Function uniqueGenerator) { + this(MapBuilder.create(isLinked), uniqueGenerator); + } + + /** + * 构造 + * + * @param initialCapacity 初始容量 + * @param loadFactor 增长因子 + * @param uniqueGenerator 唯一键生成规则函数,用于生成对象对应的唯一键 + */ + public UniqueKeySet(int initialCapacity, float loadFactor, Function uniqueGenerator) { + this(MapBuilder.create(new HashMap<>(initialCapacity, loadFactor)), uniqueGenerator); + } + + /** + * 构造 + * + * @param builder 初始Map,定义了Map类型 + * @param uniqueGenerator 唯一键生成规则函数,用于生成对象对应的唯一键 + */ + public UniqueKeySet(MapBuilder builder, Function uniqueGenerator) { + this.map = builder.build(); + this.uniqueGenerator = uniqueGenerator; + } + + @Override + public Iterator iterator() { + return map.values().iterator(); + } + + @Override + public int size() { + return map.size(); + } + + @Override + public boolean isEmpty() { + return map.isEmpty(); + } + + @Override + public boolean contains(Object o) { + return map.containsKey(this.uniqueGenerator.apply((V) o)); + } + + @Override + public boolean add(V v) { + return null == map.put(this.uniqueGenerator.apply(v), v); + } + + /** + * 加入值,如果值已经存在,则忽略之 + * + * @param v 值 + * @return 是否成功加入 + */ + public boolean addIfAbsent(V v) { + return null == map.putIfAbsent(this.uniqueGenerator.apply(v), v); + } + + /** + * 加入集合中所有的值,如果值已经存在,则忽略之 + * + * @param c 集合 + * @return 是否有一个或多个被加入成功 + */ + public boolean addAllIfAbsent(Collection c) { + boolean modified = false; + for (V v : c) + if (addIfAbsent(v)) { + modified = true; + } + return modified; + } + + @Override + public boolean remove(Object o) { + return null != map.remove(this.uniqueGenerator.apply((V) o)); + } + + @Override + public void clear() { + map.clear(); + } + + @Override + public UniqueKeySet clone() { + try { + UniqueKeySet newSet = (UniqueKeySet) super.clone(); + newSet.map = ObjectKit.clone(this.map); + return newSet; + } catch (CloneNotSupportedException e) { + throw new InternalError(e); + } + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/collection/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/collection/package-info.java index 6d015532bf..6c9d1c1463 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/collection/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/collection/package-info.java @@ -2,7 +2,7 @@ * 集合以及Iterator封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.collection; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java b/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java index b9b0103dfa..6a3ef71207 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/CompareChain.java @@ -36,8 +36,8 @@ * 此类copy from Apache-commons-collections * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompareChain implements Chain, CompareChain>, Comparator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/FieldCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/FieldCompare.java index 6293c0028a..d948b309aa 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/FieldCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/FieldCompare.java @@ -37,8 +37,8 @@ * * @param 被比较的Bean * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FieldCompare extends FuncCompare { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/FuncCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/FuncCompare.java index 8b9e9be074..eb4358d568 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/FuncCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/FuncCompare.java @@ -35,8 +35,8 @@ * * @param 被比较的对象 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FuncCompare extends NullCompare { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java index 609f68b68b..f1f96da5bc 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/IndexedCompare.java @@ -36,8 +36,8 @@ * * @param 被排序元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IndexedCompare implements Comparator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/InstanceCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/InstanceCompare.java index bfeec06389..57416399a3 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/InstanceCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/InstanceCompare.java @@ -34,8 +34,8 @@ * * @param 用于比较的对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InstanceCompare implements Comparator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/NormalCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/NormalCompare.java index c4ae4b9ac0..eebb8b7053 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/NormalCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/NormalCompare.java @@ -33,8 +33,8 @@ * * @param 比较对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NormalCompare> implements Comparator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/NullCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/NullCompare.java index 491f075407..7f3d58f8be 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/NullCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/NullCompare.java @@ -38,8 +38,8 @@ * * @param 被比较的对象 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullCompare implements Comparator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/PinyinCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/PinyinCompare.java index fb6a0359c6..ef60acf859 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/PinyinCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/PinyinCompare.java @@ -34,8 +34,8 @@ * 按照GBK拼音顺序对给定的汉字字符串排序 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PinyinCompare implements Comparator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/PropertyCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/PropertyCompare.java index ff65fe9b08..570ea097c7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/PropertyCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/PropertyCompare.java @@ -33,8 +33,8 @@ * * @param 被比较的Bean * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PropertyCompare extends FuncCompare { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/ReverseCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/ReverseCompare.java index 102441d4ff..7314ec6767 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/ReverseCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/ReverseCompare.java @@ -33,8 +33,8 @@ * * @param 被比较对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReverseCompare implements Comparator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java b/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java index 8447b50a94..00c7eb3af2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/VersionCompare.java @@ -39,8 +39,8 @@ * 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class VersionCompare implements Comparator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compare/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/compare/package-info.java index 24ac8666c5..e8c6a6e5c1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compare/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compare/package-info.java @@ -2,7 +2,7 @@ * 各种比较器(Comparator)实现和封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.compare; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/compiler/DiagnosticCollectors.java b/bus-core/src/main/java/org/aoju/bus/core/compiler/DiagnosticCollectors.java index d2cb266847..939d827cb7 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compiler/DiagnosticCollectors.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compiler/DiagnosticCollectors.java @@ -8,8 +8,8 @@ * 诊断工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DiagnosticCollectors { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileManager.java b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileManager.java index b5d2943e8b..8eeb829e83 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileManager.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileManager.java @@ -19,8 +19,8 @@ * 我们采取此对象来管理运行时动态编译类生成的字节码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaClassFileManager extends ForwardingJavaFileManager { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileObject.java b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileObject.java index 09c5cda00f..7cc207db3c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileObject.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaClassFileObject.java @@ -14,8 +14,8 @@ * Java 字节码文件对象,用于在内存中暂存class字节码,从而可以在ClassLoader中动态加载 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaClassFileObject extends SimpleJavaFileObject { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaFileObject.java b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaFileObject.java index 1cd46bec3b..e9066e56a3 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaFileObject.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaFileObject.java @@ -12,8 +12,8 @@ * {@link javax.tools.JavaFileObject} 相关工具类封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaFileObject { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceCompiler.java b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceCompiler.java index 91b08f4ff3..005b1fa768 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceCompiler.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceCompiler.java @@ -36,8 +36,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaSourceCompiler { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceFileObject.java b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceFileObject.java index e0ccee3d2c..421feede9b 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceFileObject.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compiler/JavaSourceFileObject.java @@ -19,8 +19,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaSourceFileObject extends SimpleJavaFileObject { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compiler/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/compiler/package-info.java index 30757b3629..81cdc3b1f6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compiler/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compiler/package-info.java @@ -2,7 +2,7 @@ * 运行时编译java源码,动态从字符串或外部文件加载类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.compiler; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/compress/Deflate.java b/bus-core/src/main/java/org/aoju/bus/core/compress/Deflate.java index fc4ee95133..f1ebb8269e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compress/Deflate.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compress/Deflate.java @@ -42,8 +42,8 @@ * Deflate是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Deflate implements Closeable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compress/Gzip.java b/bus-core/src/main/java/org/aoju/bus/core/compress/Gzip.java index a60795253d..29a67f63b3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compress/Gzip.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compress/Gzip.java @@ -40,8 +40,8 @@ * gzip的基础是DEFLATE * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Gzip implements Closeable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compress/ZipCopyVisitor.java b/bus-core/src/main/java/org/aoju/bus/core/compress/ZipCopyVisitor.java index 143f6278bc..538a301d8d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/compress/ZipCopyVisitor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compress/ZipCopyVisitor.java @@ -36,8 +36,8 @@ * 此类在遍历源目录并复制过程中会自动创建目标目录中不存在的上级目录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipCopyVisitor extends SimpleFileVisitor { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compress/ZipReader.java b/bus-core/src/main/java/org/aoju/bus/core/compress/ZipReader.java index 18e2a8d533..0add33dbcd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compress/ZipReader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compress/ZipReader.java @@ -45,8 +45,8 @@ * Zip文件或流读取器,一般用于Zip文件解压 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipReader implements Closeable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compress/ZipWriter.java b/bus-core/src/main/java/org/aoju/bus/core/compress/ZipWriter.java index 34a09fac6c..c27df4cfaf 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compress/ZipWriter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compress/ZipWriter.java @@ -42,8 +42,8 @@ * Zip生成封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipWriter implements Closeable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/compress/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/compress/package-info.java index 0bb3cbcf07..eeb4a862a6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/compress/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/compress/package-info.java @@ -2,7 +2,7 @@ * 压缩解压封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.compress; diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java index 24eb787ddc..d4448bdf95 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/AbstractConverter.java @@ -38,8 +38,8 @@ * 转换器不会抛出转换异常,转换失败时会返回{@code null} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractConverter implements Converter, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/ArrayConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/ArrayConverter.java index 63ccb85499..742fdde81e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/ArrayConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/ArrayConverter.java @@ -38,8 +38,8 @@ * 数组转换器,包括原始类型数组 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ArrayConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicBooleanConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicBooleanConverter.java index fbcc5671db..ce5c1ecdfc 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicBooleanConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicBooleanConverter.java @@ -33,8 +33,8 @@ * {@link AtomicBoolean}转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AtomicBooleanConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicIntegerArrayConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicIntegerArrayConverter.java index b06ed33cc1..0cdb1f5de2 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicIntegerArrayConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicIntegerArrayConverter.java @@ -31,8 +31,8 @@ * {@link AtomicIntegerArray}转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AtomicIntegerArrayConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicLongArrayConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicLongArrayConverter.java index c70612c9ee..a56130c30b 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicLongArrayConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicLongArrayConverter.java @@ -31,8 +31,8 @@ * {@link AtomicLongArray}转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AtomicLongArrayConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicReferenceConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicReferenceConverter.java index 024cef61dc..409d98ef11 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicReferenceConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/AtomicReferenceConverter.java @@ -34,8 +34,8 @@ * {@link AtomicReference}转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AtomicReferenceConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java b/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java index ecd59806cd..5e59f8ba94 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/BasicType.java @@ -33,12 +33,54 @@ * 基本类型枚举包括原始类型和包装类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum BasicType { - - BYTE, SHORT, INT, INTEGER, LONG, DOUBLE, FLOAT, BOOLEAN, CHAR, CHARACTER, STRING; + /** + * byte + */ + BYTE, + /** + * short + */ + SHORT, + /** + * int + */ + INT, + /** + * integer + */ + INTEGER, + /** + * long + */ + LONG, + /** + * double + */ + DOUBLE, + /** + * float + */ + FLOAT, + /** + * boolean + */ + BOOLEAN, + /** + * char + */ + CHAR, + /** + * character + */ + CHARACTER, + /** + * string + */ + STRING; /** * 包装类型为Key,原始类型为Value,例如: Integer.class = int.class. diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/BeanConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/BeanConverter.java index 4137c21736..4f3ac68929 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/BeanConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/BeanConverter.java @@ -47,8 +47,8 @@ * * @param Bean类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BeanConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/BooleanConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/BooleanConverter.java index 78b00f16b3..0c1ba1d5e6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/BooleanConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/BooleanConverter.java @@ -31,8 +31,8 @@ * 布尔转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BooleanConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/ByteArrayConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/ByteArrayConverter.java index 63667b3172..1b74e0bdd0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/ByteArrayConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/ByteArrayConverter.java @@ -31,8 +31,8 @@ * byte 类型数组转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ByteArrayConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/CalendarConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/CalendarConverter.java index 6c85821030..c0bd4116e4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/CalendarConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/CalendarConverter.java @@ -35,8 +35,8 @@ * 日期转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CalendarConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/CastConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/CastConverter.java index 0395a75e1a..3d99e72860 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/CastConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/CastConverter.java @@ -32,8 +32,8 @@ * * @param 强制转换到的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CastConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/CharacterConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/CharacterConverter.java index 9ee103eaca..8ab13c14ab 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/CharacterConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/CharacterConverter.java @@ -32,8 +32,8 @@ * 字符转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CharacterConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/CharsetConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/CharsetConverter.java index 279f1b58c7..713c5a0d22 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/CharsetConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/CharsetConverter.java @@ -31,8 +31,8 @@ * 编码对象转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CharsetConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/ClassConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/ClassConverter.java index bd5c48aa4f..545d2cf52b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/ClassConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/ClassConverter.java @@ -32,8 +32,8 @@ * 将类名转换为类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ClassConverter extends AbstractConverter> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/CollectionConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/CollectionConverter.java index a874db40a7..70ef43fb0d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/CollectionConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/CollectionConverter.java @@ -36,8 +36,8 @@ * 各种集合类转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CollectionConverter implements Converter> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java b/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java index d5860259c4..93395919cb 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/Convert.java @@ -48,8 +48,8 @@ * 类型转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Convert { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java index ecd42cf8bb..430b26b86f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/Converter.java @@ -29,8 +29,8 @@ * 转换器接口,实现类型转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Converter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java b/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java index 67cc037f94..88518739ca 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/ConverterRegistry.java @@ -54,8 +54,8 @@ * 转换器,默认转换器预定义的一些转换器,自定义转换器存放用户自定的转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConverterRegistry { @@ -322,16 +322,18 @@ private ConverterRegistry defaultConverter() { // 包装类转换器 defaultConverterMap.put(Number.class, new NumberConverter()); defaultConverterMap.put(Integer.class, new NumberConverter(Integer.class)); - defaultConverterMap.put(AtomicInteger.class, new NumberConverter(AtomicInteger.class));// since 3.0.8 + defaultConverterMap.put(AtomicInteger.class, new NumberConverter(AtomicInteger.class)); defaultConverterMap.put(Long.class, new NumberConverter(Long.class)); - defaultConverterMap.put(AtomicLong.class, new NumberConverter(AtomicLong.class));// since 3.0.8 + defaultConverterMap.put(LongAdder.class, new NumberConverter(LongAdder.class)); + defaultConverterMap.put(AtomicLong.class, new NumberConverter(AtomicLong.class)); defaultConverterMap.put(Byte.class, new NumberConverter(Byte.class)); defaultConverterMap.put(Short.class, new NumberConverter(Short.class)); defaultConverterMap.put(Float.class, new NumberConverter(Float.class)); defaultConverterMap.put(Double.class, new NumberConverter(Double.class)); + defaultConverterMap.put(DoubleAdder.class, new NumberConverter(DoubleAdder.class)); defaultConverterMap.put(Character.class, new CharacterConverter()); defaultConverterMap.put(Boolean.class, new BooleanConverter()); - defaultConverterMap.put(AtomicBoolean.class, new AtomicBooleanConverter());// since 3.0.8 + defaultConverterMap.put(AtomicBoolean.class, new AtomicBooleanConverter()); defaultConverterMap.put(BigDecimal.class, new NumberConverter(BigDecimal.class)); defaultConverterMap.put(BigInteger.class, new NumberConverter(BigInteger.class)); defaultConverterMap.put(CharSequence.class, new StringConverter()); @@ -379,6 +381,7 @@ private ConverterRegistry defaultConverter() { defaultConverterMap.put(UUID.class, new UUIDConverter()); defaultConverterMap.put(StackTraceElement.class, new StackTraceConverter()); defaultConverterMap.put(Optional.class, new OptionalConverter()); + defaultConverterMap.put(Optional.class, new OptionalConverter()); return this; } diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/CurrencyConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/CurrencyConverter.java index 5df318b0c9..8b779f6b26 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/CurrencyConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/CurrencyConverter.java @@ -31,8 +31,8 @@ * 货币{@link Currency} 转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CurrencyConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/DateConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/DateConverter.java index c61402d115..d57301bee2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/DateConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/DateConverter.java @@ -38,8 +38,8 @@ * 日期转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DateConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/DurationConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/DurationConverter.java index 1601e35074..76aa57aea4 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/DurationConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/DurationConverter.java @@ -32,8 +32,8 @@ * {@link Duration}对象转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DurationConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/EnumConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/EnumConverter.java index 5ff5fcf999..b7fbd640de 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/EnumConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/EnumConverter.java @@ -38,8 +38,8 @@ * 无泛型检查的枚举转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EnumConverter extends AbstractConverter { @@ -58,27 +58,6 @@ public EnumConverter(Class enumClass) { this.enumClass = enumClass; } - - @Override - protected Object convertInternal(Object value) { - Enum enumValue = tryConvertEnum(value, this.enumClass); - if (null == enumValue && false == value instanceof String) { - // 最后尝试先将value转String,再valueOf转换 - enumValue = Enum.valueOf(this.enumClass, convertString(value)); - } - - if (null != enumValue) { - return enumValue; - } - - throw new ConvertException("Can not convert {} to {}", value, this.enumClass); - } - - @Override - public Class getTargetType() { - return this.enumClass; - } - /** * 尝试找到类似转换的静态方法调用实现转换 * @@ -134,4 +113,24 @@ private static Map, Method> getValueOfMethods(Class enumClass) { return valueOfMethods; } + @Override + protected Object convertInternal(Object value) { + Enum enumValue = tryConvertEnum(value, this.enumClass); + if (null == enumValue && false == value instanceof String) { + // 最后尝试先将value转String,再valueOf转换 + enumValue = Enum.valueOf(this.enumClass, convertString(value)); + } + + if (null != enumValue) { + return enumValue; + } + + throw new ConvertException("Can not convert {} to {}", value, this.enumClass); + } + + @Override + public Class getTargetType() { + return this.enumClass; + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/LocaleConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/LocaleConverter.java index d3731ca925..1dcf597612 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/LocaleConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/LocaleConverter.java @@ -35,8 +35,8 @@ * 只提供String转换支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LocaleConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/MapConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/MapConverter.java index 9f3e13a115..e38a3ca170 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/MapConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/MapConverter.java @@ -32,15 +32,14 @@ import java.lang.reflect.Type; import java.util.Map; -import java.util.Map.Entry; import java.util.Objects; /** * {@link Map} 转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MapConverter extends AbstractConverter> { @@ -85,10 +84,16 @@ public MapConverter(Type mapType, Type keyType, Type valueType) { protected Map convertInternal(Object value) { Map map; if (value instanceof Map) { - final Type[] typeArguments = TypeKit.getTypeArguments(value.getClass()); - if (null != typeArguments && 2 == typeArguments.length && Objects.equals(this.keyType, typeArguments[0]) && Objects.equals(this.valueType, typeArguments[1])) { - // 对于键值对类型一致的Map对象,不再做转换,直接返回原对象 - return (Map) value; + final Class valueClass = value.getClass(); + if (valueClass.equals(this.mapType)) { + final Type[] typeArguments = TypeKit.getTypeArguments(valueClass); + if (null != typeArguments + && 2 == typeArguments.length + && Objects.equals(this.keyType, typeArguments[0]) + && Objects.equals(this.valueType, typeArguments[1])) { + // 对于键值对类型一致的Map对象,不再做转换,直接返回原对象 + return (Map) value; + } } map = MapKit.createMap(TypeKit.getClass(this.mapType)); convertMapToMap((Map) value, map); @@ -115,13 +120,11 @@ public MapConverter(Type mapType, Type keyType, Type valueType) { */ private void convertMapToMap(Map srcMap, Map targetMap) { final ConverterRegistry convert = ConverterRegistry.getInstance(); - Object key; - Object value; - for (Entry entry : srcMap.entrySet()) { - key = TypeKit.isUnknown(this.keyType) ? entry.getKey() : convert.convert(this.keyType, entry.getKey()); - value = TypeKit.isUnknown(this.valueType) ? entry.getValue() : convert.convert(this.valueType, entry.getValue()); + srcMap.forEach((key, value) -> { + key = TypeKit.isUnknown(this.keyType) ? key : convert.convert(this.keyType, key); + value = TypeKit.isUnknown(this.valueType) ? value : convert.convert(this.valueType, value); targetMap.put(key, value); - } + }); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberConverter.java index ed8f14388c..4514f255e6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberConverter.java @@ -53,8 +53,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NumberConverter extends AbstractConverter { @@ -178,14 +178,14 @@ protected static Number convert(Object value, Class targetType return StringKit.isBlank(valueStr) ? null : MathKit.parseFloat(valueStr); } else if (Double.class == targetType) { if (value instanceof Number) { - return ((Number) value).doubleValue(); + return MathKit.toDouble((Number) value); } else if (value instanceof Boolean) { return BooleanKit.toDoubleObj((Boolean) value); } final String valueStr = toStrFunc.apply((value)); return StringKit.isBlank(valueStr) ? null : MathKit.parseDouble(valueStr); } else if (DoubleAdder.class == targetType) { - final Number number = convert(value, Long.class, toStrFunc); + final Number number = convert(value, Double.class, toStrFunc); if (null != number) { final DoubleAdder doubleAdder = new DoubleAdder(); doubleAdder.add(number.doubleValue()); diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberFormatter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberFormatter.java index 19caf3f120..2438dcd9a3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/NumberFormatter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/NumberFormatter.java @@ -43,8 +43,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NumberFormatter { @@ -73,6 +73,27 @@ public class NumberFormatter { new NameValue('亿', 1_0000_0000, true), }; + /** + * 阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 = -5.56万 + * + * @param amount 数字 + * @return 中文 + */ + public static String format(long amount) { + if (amount < 1_0000 && amount > -1_0000) { + return String.valueOf(amount); + } + String res; + if (amount < 1_0000_0000 && amount > -1_0000_0000) { + res = MathKit.div(amount, 1_0000, 2) + "万"; + } else if (amount < 1_0000_0000_0000L && amount > -1_0000_0000_0000L) { + res = MathKit.div(amount, 1_0000_0000, 2) + "亿"; + } else { + res = MathKit.div(amount, 1_0000_0000_0000L, 2) + "万亿"; + } + return res; + } + /** * 格式化-999~999之间的数字 * 这个方法显示10~19以下的数字时使用"十一"而非"一十一" @@ -84,7 +105,7 @@ public class NumberFormatter { public static String format(int amount, boolean isUseTraditional) { Assert.checkBetween(amount, -999, 999, "Number support only: (-999 ~ 999)!"); final String chinese = toChinese(amount, isUseTraditional); - if (amount < 20 && amount > 10) { + if (amount < 20 && amount >= 10) { // "十一"而非"一十一" return chinese.substring(1); } @@ -137,6 +158,20 @@ public static String format(double amount, boolean isUseTraditional) { * @return 中文 */ public static String format(double amount, boolean isUseTraditional, boolean isMoneyMode) { + return format(amount, isUseTraditional, isMoneyMode, "负", "元"); + } + + /** + * 阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换. + * + * @param amount 数字 + * @param isUseTraditional 是否使用繁体 + * @param isMoneyMode 是否金额模式 + * @param negativeName 负号转换名称 如:负、(负数) + * @param unitName 单位名称 如:元、圆 + * @return 中文 + */ + public static String format(double amount, boolean isUseTraditional, boolean isMoneyMode, String negativeName, String unitName) { if (0 == amount) { return "零"; } @@ -147,7 +182,7 @@ public static String format(double amount, boolean isUseTraditional, boolean isM // 负数 if (amount < 0) { - chineseStr.append("负"); + chineseStr.append(StringKit.isNullOrUndefined(negativeName) ? "负" : negativeName); amount = -amount; } @@ -162,7 +197,7 @@ public static String format(double amount, boolean isUseTraditional, boolean isM // 金额模式下,无需“零元” chineseStr.append(toChinese(yuan, isUseTraditional)); if (isMoneyMode) { - chineseStr.append("元"); + chineseStr.append(StringKit.isNullOrUndefined(unitName) ? "元" : unitName); } } @@ -203,27 +238,6 @@ public static String format(double amount, boolean isUseTraditional, boolean isM return chineseStr.toString(); } - /** - * 阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万 - * - * @param amount 数字 - * @return 中文 - */ - public static String format(long amount) { - if (amount < 1_0000 && amount > -1_0000) { - return String.valueOf(amount); - } - String res; - if (amount < 1_0000_0000 && amount > -1_0000_0000) { - res = MathKit.div(amount, 1_0000, 2) + "万"; - } else if (amount < 1_0000_0000_0000L && amount > -1_0000_0000_0000L) { - res = MathKit.div(amount, 1_0000_0000, 2) + "亿"; - } else { - res = MathKit.div(amount, 1_0000_0000_0000L, 2) + "万亿"; - } - return res; - } - /** * 数字字符转中文,非数字字符原样返回 * diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/OptionalConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/OptionalConverter.java index f7fb8766eb..8f523c5856 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/OptionalConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/OptionalConverter.java @@ -31,8 +31,8 @@ * {@link Optional}对象转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OptionalConverter extends AbstractConverter> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/PathConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/PathConverter.java index fda9ce5114..3d4899db0f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/PathConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/PathConverter.java @@ -35,8 +35,8 @@ * 字符串转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PathConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/PeriodConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/PeriodConverter.java index 6cdb3974f7..a326785ac1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/PeriodConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/PeriodConverter.java @@ -32,8 +32,8 @@ * {@link Period}对象转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PeriodConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/PrimitiveConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/PrimitiveConverter.java index d39a5c4daf..9c382410d8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/PrimitiveConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/PrimitiveConverter.java @@ -46,8 +46,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PrimitiveConverter extends AbstractConverter { @@ -73,21 +73,6 @@ public PrimitiveConverter(Class clazz) { this.targetType = clazz; } - @Override - protected String convertString(Object value) { - return StringKit.trim(super.convertString(value)); - } - - @Override - public Class getTargetType() { - return (Class) this.targetType; - } - - @Override - protected Object convertInternal(Object value) { - return PrimitiveConverter.convert(value, this.targetType, this::convertString); - } - /** * 将指定值转换为原始类型的值 * @@ -118,4 +103,19 @@ protected static Object convert(Object value, Class primitiveClass, Function< throw new ConvertException("Unsupported target type: {}", primitiveClass); } + @Override + protected String convertString(Object value) { + return StringKit.trim(super.convertString(value)); + } + + @Override + public Class getTargetType() { + return (Class) this.targetType; + } + + @Override + protected Object convertInternal(Object value) { + return PrimitiveConverter.convert(value, this.targetType, this::convertString); + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/ReferenceConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/ReferenceConverter.java index 802b1c94a0..d560dd731b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/ReferenceConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/ReferenceConverter.java @@ -37,8 +37,8 @@ * {@link Reference}转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReferenceConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/StackTraceConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/StackTraceConverter.java index 1ab16a36f7..2395de8e59 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/StackTraceConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/StackTraceConverter.java @@ -35,8 +35,8 @@ * 只支持Map方式转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StackTraceConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/StringConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/StringConverter.java index c3df536e34..62fa36328b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/StringConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/StringConverter.java @@ -42,8 +42,8 @@ * 字符串转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/TemporalConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/TemporalConverter.java index 6bb916ca3f..41bfc4e043 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/TemporalConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/TemporalConverter.java @@ -52,8 +52,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TemporalConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/TimeZoneConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/TimeZoneConverter.java index d8eb930597..41c91e50c7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/TimeZoneConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/TimeZoneConverter.java @@ -31,8 +31,8 @@ * TimeZone转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TimeZoneConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/URIConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/URIConverter.java index e11d8ec65b..3dc8f3f848 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/URIConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/URIConverter.java @@ -33,8 +33,8 @@ * URI对象转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class URIConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/URLConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/URLConverter.java index 94685f254e..432d880dbe 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/URLConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/URLConverter.java @@ -33,8 +33,8 @@ * URL对象转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class URLConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/UUIDConverter.java b/bus-core/src/main/java/org/aoju/bus/core/convert/UUIDConverter.java index 3490b9533b..e9e2e06c1a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/UUIDConverter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/UUIDConverter.java @@ -31,8 +31,8 @@ * UUID对象转换器转换器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UUIDConverter extends AbstractConverter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/convert/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/convert/package-info.java index 876b8390da..20ddd381d1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/convert/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/convert/package-info.java @@ -2,7 +2,7 @@ * 万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.convert; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Almanac.java b/bus-core/src/main/java/org/aoju/bus/core/date/Almanac.java index 7219c19444..b44daad72e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Almanac.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Almanac.java @@ -36,9 +36,9 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.*; +import java.time.chrono.ChronoLocalDateTime; import java.time.temporal.*; import java.util.*; -import java.util.function.Supplier; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -47,8 +47,8 @@ * 日期计算类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Almanac extends Converter { @@ -4762,6 +4762,26 @@ public static boolean isShortDate(String date) { return matcher.matches(); } + /** + * 检查两个时间段是否有时间重叠 + * 重叠指两个时间段是否有交集 + * + *
    + *
  1. x > b || a > y 无交集
  2. + *
  3. 则有交集的逻辑为 !(x > b || a > y) 根据德摩根公式,可化简为 x <= b && a <= y
  4. + *
+ * + * @param realStartTime 第一个时间段的开始时间 + * @param realEndTime 第一个时间段的结束时间 + * @param startTime 第二个时间段的开始时间 + * @param endTime 第二个时间段的结束时间 + * @return true 表示时间有重合 + */ + public static boolean isOverlap(ChronoLocalDateTime realStartTime, ChronoLocalDateTime realEndTime, + ChronoLocalDateTime startTime, ChronoLocalDateTime endTime) { + return startTime.isBefore(realEndTime) && endTime.isAfter(realStartTime); + } + /** * 判断传入的日期是否 >=今天 * @@ -5500,33 +5520,4 @@ public static Date lastYear() { return offsetYear(date(), -1); } - /** - * 检查两个时间段是否有时间重叠 - * 重叠指两个时间段是否有交集 - * - * @param realStartTime 第一个时间段的开始时间 - * @param realEndTime 第一个时间段的结束时间 - * @param startTime 第二个时间段的开始时间 - * @param endTime 第二个时间段的结束时间 - * @return true 表示时间有重合 - */ - public static boolean isOverlap(LocalDateTime realStartTime, LocalDateTime realEndTime, LocalDateTime startTime, LocalDateTime endTime) { - return startTime.isAfter(realEndTime) || endTime.isBefore(realStartTime); - } - - /** - * 检查两个时间段是否有时间重叠 - * 重叠指两个时间段是否有交集 - * 需要注意的是比如第一个时间段的结尾是23:59:59 第二天开始需要是00:00:00 相同也是重复 - * - * @param realStartTime 第一个时间段的开始时间 - * @param realEndTime 第一个时间段的结束时间 - * @param startTime 第二个时间段的开始时间 - * @param endTime 第二个时间段的结束时间 - * @return true 表示没有时间有重合 - */ - public static boolean isOverlap(Supplier realStartTime, Supplier realEndTime, Supplier startTime, Supplier endTime) { - return isOverlap(realStartTime.get(), realEndTime.get(), startTime.get(), endTime.get()); - } - } \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Between.java b/bus-core/src/main/java/org/aoju/bus/core/date/Between.java index d81d3ba376..99f6b2abb1 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Between.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Between.java @@ -35,8 +35,8 @@ * 日期间隔 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Between { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Boundary.java b/bus-core/src/main/java/org/aoju/bus/core/date/Boundary.java index d1a6575922..a85bd2a31c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Boundary.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Boundary.java @@ -35,8 +35,8 @@ * 日期范围 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Boundary extends Range { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Buddhist.java b/bus-core/src/main/java/org/aoju/bus/core/date/Buddhist.java index f34dcb192a..d3bbb5e87a 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Buddhist.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Buddhist.java @@ -34,19 +34,23 @@ * 佛历 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Buddhist { + /** + * 佛历年 + */ public static final int DEAD_YEAR = -543; /** * 观音斋日期 */ - public static final String[] DAY_ZHAI_GUAN_YIN = { - "1-8", "2-7", "2-9", "2-19", "3-3", "3-6", "3-13", "4-22", "5-3", "5-17", - "6-16", "6-18", "6-19", "6-23", "7-13", "8-16", "9-19", "9-23", "10-2", "11-19", "11-24", "12-25" - }; + public static final String[] DAY_ZHAI_GUAN_YIN = {"1-8", "2-7", "2-9", "2-19", "3-3", "3-6", "3-13", "4-22", "5-3", "5-17", "6-16", "6-18", "6-19", "6-23", "7-13", "8-16", "9-19", "9-23", "10-2", "11-19", "11-24", "12-25"}; + /** + * 27星宿,佛教从印度传入中国,印度把28星宿改为27星宿,把牛宿(牛金牛)纳入了女宿(女土蝠)。 + */ + public static final String[] XIU_27 = {"角", "亢", "氐", "房", "心", "尾", "箕", "斗", "女", "虚", "危", "室", "壁", "奎", "娄", "胃", "昴", "毕", "觜", "参", "井", "鬼", "柳", "星", "张", "翼", "轸"}; private static final String DJ = "犯者夺纪"; private static final String JS = "犯者减寿"; private static final String SS = "犯者损寿"; @@ -291,19 +295,23 @@ public class Buddhist { put("12-30", Collections.nCopies(1, new Festival("诸神下降,察访善恶", "犯者男女俱亡"))); } }; - /** - * 27星宿,佛教从印度传入中国,印度把28星宿改为27星宿,把牛宿(牛金牛)纳入了女宿(女土蝠)。 + * 每月初一的27星宿偏移 */ - public static final String[] XIU_27 = { - "角", "亢", "氐", "房", "心", "尾", "箕", "斗", "女", "虚", "危", "室", "壁", "奎", - "娄", "胃", "昴", "毕", "觜", "参", "井", "鬼", "柳", "星", "张", "翼", "轸" - }; + private static final int[] XIU_OFFSET = {11, 13, 15, 17, 19, 21, 24, 0, 2, 4, 7, 9}; + /** + * 阴历 + */ + private final Lunar lunar; /** - * 每月初一的27星宿偏移 + * 构造 + * + * @param lunar 农历年 */ - private static final int[] XIU_OFFSET = {11, 13, 15, 17, 19, 21, 24, 0, 2, 4, 7, 9}; + public Buddhist(Lunar lunar) { + this.lunar = lunar; + } /** * 获取27星宿 @@ -317,30 +325,56 @@ public static String getXiu(int month, int day) { } /** - * 阴历 + * 日期转佛历 + * + * @param lunar 农历年 + * @return this */ - private final Lunar lunar; - - public Buddhist(Lunar lunar) { - this.lunar = lunar; - } - public static Buddhist from(Lunar lunar) { return new Buddhist(lunar); } + /** + * 日期转佛历 + * + * @param year 年 + * @param month 月 + * @param day 日 + * @return this + */ public static Buddhist from(int year, int month, int day) { return from(year, month, day, 0, 0, 0); } + /** + * 日期转佛历 + * + * @param year 年 + * @param month 月 + * @param day 日 + * @param hour 小时 + * @param minute 分钟 + * @param second 秒 + * @return this + */ public static Buddhist from(int year, int month, int day, int hour, int minute, int second) { return from(Lunar.from(year + DEAD_YEAR - 1, month, day, hour, minute, second)); } + /** + * 获取农历年 + * + * @return the lunar + */ public Lunar getLunar() { return lunar; } + /** + * 获取年 + * + * @return the int + */ public int getYear() { int sy = lunar.getSolar().getYear(); int y = sy - DEAD_YEAR; @@ -350,14 +384,29 @@ public int getYear() { return y; } + /** + * 获取月 + * + * @return the int + */ public int getMonth() { return lunar.getMonth(); } + /** + * 获取天 + * + * @return the int + */ public int getDay() { return lunar.getDay(); } + /** + * 获取中国年 + * + * @return the string + */ public String getYearInChinese() { String y = getYear() + ""; StringBuilder s = new StringBuilder(); @@ -367,14 +416,29 @@ public String getYearInChinese() { return s.toString(); } + /** + * 获取农历月 + * + * @return the string + */ public String getMonthInChinese() { return lunar.getMonthInChinese(); } + /** + * 获取农历天 + * + * @return the string + */ public String getDayInChinese() { return lunar.getDayInChinese(); } + /** + * 获取佛历因果犯忌 + * + * @return the list + */ public List getFestivals() { List l = new ArrayList<>(); List fs = Buddhist.FESTIVAL.get(getMonth() + "-" + getDay()); @@ -527,6 +591,11 @@ public String toString() { return getYearInChinese() + "年" + getMonthInChinese() + "月" + getDayInChinese(); } + /** + * 转换为String + * + * @return the string + */ public String toFullString() { StringBuilder s = new StringBuilder(); s.append(this); @@ -563,6 +632,14 @@ public static class Festival { */ private final String remark; + /** + * 构造 + * + * @param name 名称 + * @param result 结果 + * @param everyMonth 月份 + * @param remark 备注 + */ public Festival(String name, String result, boolean everyMonth, String remark) { this.name = name; this.result = null == result ? Normal.EMPTY : result; @@ -570,30 +647,68 @@ public Festival(String name, String result, boolean everyMonth, String remark) { this.remark = null == remark ? Normal.EMPTY : remark; } + /** + * 构造 + * + * @param name 名称 + */ public Festival(String name) { this(name, null); } + /** + * 构造 + * + * @param name 名称 + * @param result 结果 + */ public Festival(String name, String result) { this(name, result, false); } + /** + * 构造 + * + * @param name 名称 + * @param result 结果 + * @param everyMonth 月份 + */ public Festival(String name, String result, boolean everyMonth) { this(name, result, everyMonth, null); } + /** + * 名称 + * + * @return the string + */ public String getName() { return name; } + /** + * 结果 + * + * @return the string + */ public String getResult() { return result; } + /** + * 是否为每个月 + * + * @return the boolean + */ public boolean isEveryMonth() { return everyMonth; } + /** + * 备注 + * + * @return the string + */ public String getRemark() { return remark; } @@ -603,6 +718,11 @@ public String toString() { return name; } + /** + * 转换为字符串 + * + * @return the string + */ public String toFullString() { StringBuilder s = new StringBuilder(); s.append(name); diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Converter.java b/bus-core/src/main/java/org/aoju/bus/core/date/Converter.java index dc40be627c..4c9c05f15b 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Converter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Converter.java @@ -40,8 +40,8 @@ * 日期转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Converter extends Formatter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/DateTime.java b/bus-core/src/main/java/org/aoju/bus/core/date/DateTime.java index 04ca72f27c..59254bb269 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/DateTime.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/DateTime.java @@ -53,8 +53,8 @@ * 包装java.util.Date * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DateTime extends Date { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/EightChar.java b/bus-core/src/main/java/org/aoju/bus/core/date/EightChar.java index a7f2cb37fc..77b1e9dc12 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/EightChar.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/EightChar.java @@ -35,8 +35,8 @@ * 八字 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EightChar { @@ -580,13 +580,24 @@ public Lunar getLunar() { } /** - * 获取运 + * 使用默认流派1获取运 * * @param gender 性别:1男,0女 * @return 运 */ public Yun getYun(int gender) { - return new Yun(this, gender); + return getYun(gender, 1); + } + + /** + * 获取运 + * + * @param gender 性别:1男,0女 + * @param sect 流派,1按天数和时辰数计算,3天1年,1天4个月,1时辰10天;2按分钟数计算 + * @return 运 + */ + public Yun getYun(int gender, int sect) { + return new Yun(this, gender, sect); } /** @@ -1127,8 +1138,29 @@ public static class Yun { * 起运天数 */ private int startDay; + /** + * 起运小时数 + */ + private int startHour; + /** + * 使用默认流派1初始化运 + * + * @param eightChar 八字 + * @param gender 性别,1男,0女 + */ public Yun(EightChar eightChar, int gender) { + this(eightChar, gender, 1); + } + + /** + * 初始化运 + * + * @param eightChar 八字 + * @param gender 性别,1男,0女 + * @param sect 流派,1按天数和时辰数计算,3天1年,1天4个月,1时辰10天;2按分钟数计算 + */ + public Yun(EightChar eightChar, int gender, int sect) { this.lunar = eightChar.getLunar(); this.gender = gender; // 阳 @@ -1136,13 +1168,13 @@ public Yun(EightChar eightChar, int gender) { // 男 boolean man = 1 == gender; forward = (yang && man) || (!yang && !man); - compute(); + compute(sect); } /** * 起运计算 */ - private void compute() { + private void compute(int sect) { // 上节 Lunar.SolarTerm prev = lunar.getPrevJie(); // 下节 @@ -1152,24 +1184,46 @@ private void compute() { // 阳男阴女顺推,阴男阳女逆推 Solar start = forward ? current : prev.getSolar(); Solar end = forward ? next.getSolar() : current; - int endTimeZhiIndex = (end.getHour() == 23) ? 11 : Lunar.getTimeZhiIndex(end.build(false).substring(11, Normal._16)); - int startTimeZhiIndex = (start.getHour() == 23) ? 11 : Lunar.getTimeZhiIndex(start.build(false).substring(11, Normal._16)); - // 时辰差 - int hourDiff = endTimeZhiIndex - startTimeZhiIndex; - // 天数差 - int dayDiff = Solar.getDays(start.getYear(), start.getMonth(), start.getDay(), end.getYear(), end.getMonth(), end.getDay()); - if (hourDiff < 0) { - hourDiff += 12; - dayDiff--; + + int year; + int month; + int day; + int hour = 0; + + if (2 == sect) { + long minutes = (end.getCalendar().getTimeInMillis() - start.getCalendar().getTimeInMillis()) / 60000; + long y = minutes / 4320; + minutes -= y * 4320; + long m = minutes / 360; + minutes -= m * 360; + long d = minutes / 12; + minutes -= d * 12; + long h = minutes * 2; + year = (int) y; + month = (int) m; + day = (int) d; + hour = (int) h; + } else { + int endTimeZhiIndex = (end.getHour() == 23) ? 11 : Lunar.getTimeZhiIndex(end.build(false).substring(11, Normal._16)); + int startTimeZhiIndex = (start.getHour() == 23) ? 11 : Lunar.getTimeZhiIndex(start.build(false).substring(11, Normal._16)); + // 时辰差 + int hourDiff = endTimeZhiIndex - startTimeZhiIndex; + // 天数差 + int dayDiff = Solar.getDays(start.getYear(), start.getMonth(), start.getDay(), end.getYear(), end.getMonth(), end.getDay()); + if (hourDiff < 0) { + hourDiff += 12; + dayDiff--; + } + int monthDiff = hourDiff * 10 / 30; + month = dayDiff * 4 + monthDiff; + day = hourDiff * 10 - monthDiff * 30; + year = month / 12; + month = month - year * 12; } - int monthDiff = hourDiff * 10 / 30; - int month = dayDiff * 4 + monthDiff; - int day = hourDiff * 10 - monthDiff * 30; - int year = month / 12; - month = month - year * 12; this.startYear = year; this.startMonth = month; this.startDay = day; + this.startHour = hour; } /** @@ -1208,6 +1262,15 @@ public int getStartDay() { return startDay; } + /** + * 获取起运小时数 + * + * @return 起运小时数 + */ + public int getStartHour() { + return startHour; + } + /** * 是否顺推 * @@ -1228,10 +1291,11 @@ public Lunar getLunar() { */ public Solar getStartSolar() { Solar birth = lunar.getSolar(); - Calendar calendar = Kalendar.calendar(birth.getYear(), birth.getMonth(), birth.getDay()); + Calendar calendar = Kalendar.calendar(birth.getYear(), birth.getMonth(), birth.getDay(), birth.getHour(), birth.getMinute(), birth.getSecond()); calendar.add(Calendar.YEAR, startYear); calendar.add(Calendar.MONTH, startMonth); calendar.add(Calendar.DATE, startDay); + calendar.add(Calendar.HOUR, startHour); return Solar.from(calendar); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Formatter.java b/bus-core/src/main/java/org/aoju/bus/core/date/Formatter.java index 859dd80c0c..af69ea7f0a 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Formatter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Formatter.java @@ -57,8 +57,8 @@ * yyyy-MM-dd'T'HH:mm:ss.SSSZ等等,支持毫秒、微秒和纳秒等精确时间 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Formatter { @@ -1007,6 +1007,26 @@ public static String getShotName(TimeUnit unit) { } } + /** + * 检查两个时间段是否有时间重叠 + * 重叠指两个时间段是否有交集 + * + *
    + *
  1. x > b || a > y 无交集
  2. + *
  3. 则有交集的逻辑为 !(x > b || a > y) 根据德摩根公式,可化简为 x <= b && a <= y
  4. + *
+ * + * @param realStartTime 第一个时间段的开始时间 + * @param realEndTime 第一个时间段的结束时间 + * @param startTime 第二个时间段的开始时间 + * @param endTime 第二个时间段的结束时间 + * @return true 表示时间有重合 + */ + public static boolean isOverlap(Date realStartTime, Date realEndTime, + Date startTime, Date endTime) { + return startTime.before(realEndTime) && endTime.after(realStartTime); + } + /** * 标准化日期,默认处理以空格区分的日期时间格式,空格前为日期 * 将以下字符替换为"-" diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Galaxy.java b/bus-core/src/main/java/org/aoju/bus/core/date/Galaxy.java index da7f8149d0..c12ddb8062 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Galaxy.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Galaxy.java @@ -33,8 +33,8 @@ * 银河系、天文计算 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Galaxy { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Holiday.java b/bus-core/src/main/java/org/aoju/bus/core/date/Holiday.java index c2f63bb797..185728379b 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Holiday.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Holiday.java @@ -38,8 +38,8 @@ * 节假日 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Holiday { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Kalendar.java b/bus-core/src/main/java/org/aoju/bus/core/date/Kalendar.java index 4ec50cb8eb..0902f752ec 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Kalendar.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Kalendar.java @@ -41,8 +41,8 @@ * 日历类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Kalendar { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Lunar.java b/bus-core/src/main/java/org/aoju/bus/core/date/Lunar.java index b51fcf1fcb..b531b592aa 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Lunar.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Lunar.java @@ -38,8 +38,8 @@ * 农历日期 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Lunar { @@ -3334,7 +3334,7 @@ public String getPengZuZhi() { /** * 获取日喜神方位 * - * @return 喜神方位,如艮 + * @return 方位,如艮 */ public String getDayPositionXi() { return POSITION_XI[dayGanIndex]; @@ -3343,7 +3343,7 @@ public String getDayPositionXi() { /** * 获取日喜神方位描述 * - * @return 喜神方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionXiDesc() { return POSITION_DESC.get(getDayPositionXi()); @@ -3352,7 +3352,7 @@ public String getDayPositionXiDesc() { /** * 获取日阳贵神方位 * - * @return 阳贵神方位,如艮 + * @return 方位,如艮 */ public String getDayPositionYangGui() { return POSITION_YANG_GUI[dayGanIndex]; @@ -3361,7 +3361,7 @@ public String getDayPositionYangGui() { /** * 获取日阳贵神方位描述 * - * @return 阳贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionYangGuiDesc() { return POSITION_DESC.get(getDayPositionYangGui()); @@ -3370,7 +3370,7 @@ public String getDayPositionYangGuiDesc() { /** * 获取日阴贵神方位 * - * @return 阴贵神方位,如艮 + * @return 方位,如艮 */ public String getDayPositionYinGui() { return POSITION_YIN_GUI[dayGanIndex]; @@ -3379,7 +3379,7 @@ public String getDayPositionYinGui() { /** * 获取日阴贵神方位描述 * - * @return 阴贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionYinGuiDesc() { return POSITION_DESC.get(getDayPositionYinGui()); @@ -3388,7 +3388,7 @@ public String getDayPositionYinGuiDesc() { /** * 获取日福神方位(默认流派:2) * - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getDayPositionFu() { return getDayPositionFu(2); @@ -3398,7 +3398,7 @@ public String getDayPositionFu() { * 获取日福神方位 * * @param sect 流派,1或2 - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getDayPositionFu(int sect) { return (1 == sect ? POSITION_FU : POSITION_FU_2)[dayGanIndex + 1]; @@ -3407,7 +3407,7 @@ public String getDayPositionFu(int sect) { /** * 获取日福神方位描述(默认流派:2) * - * @return 福神方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionFuDesc() { return getDayPositionFuDesc(2); @@ -3417,7 +3417,7 @@ public String getDayPositionFuDesc() { * 获取日福神方位描述 * * @param sect 流派,1或2 - * @return 福神方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionFuDesc(int sect) { return POSITION_DESC.get(getDayPositionFu(sect)); @@ -3426,7 +3426,7 @@ public String getDayPositionFuDesc(int sect) { /** * 获取日财神方位 * - * @return 财神方位,如艮 + * @return 方位,如艮 */ public String getDayPositionCai() { return POSITION_CAI[dayGanIndex]; @@ -3435,7 +3435,7 @@ public String getDayPositionCai() { /** * 获取日财神方位描述 * - * @return 财神方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionCaiDesc() { return POSITION_DESC.get(getDayPositionCai()); @@ -3444,7 +3444,7 @@ public String getDayPositionCaiDesc() { /** * 获取年太岁方位(默认流派2新年以立春零点起算) * - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getYearPositionTaiSui() { return getYearPositionTaiSui(2); @@ -3454,7 +3454,7 @@ public String getYearPositionTaiSui() { * 获取年太岁方位 * * @param sect 流派:2为新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算 - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getYearPositionTaiSui(int sect) { int yearZhiIndex; @@ -3484,7 +3484,7 @@ public String getYearPositionTaiSuiDesc() { * 获取年太岁方位描述 * * @param sect 流派:2为新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算 - * @return 太岁方位描述,如东北 + * @return 方位描述,如东北 */ public String getYearPositionTaiSuiDesc(int sect) { return POSITION_DESC.get(getYearPositionTaiSui(sect)); @@ -3496,20 +3496,15 @@ protected String getMonthPositionTaiSui(int monthZhiIndex, int monthGanIndex) { if (m < 0) { m += 12; } + m = m % 4; switch (m) { case 0: - case 4: - case 8: p = "艮"; break; case 2: - case 6: - case 10: p = "坤"; break; case 3: - case 7: - case 11: p = "巽"; break; default: @@ -3521,7 +3516,7 @@ protected String getMonthPositionTaiSui(int monthZhiIndex, int monthGanIndex) { /** * 获取月太岁方位(默认流派2新的一月以节交接当天零点起算) * - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getMonthPositionTaiSui() { return getMonthPositionTaiSui(2); @@ -3531,7 +3526,7 @@ public String getMonthPositionTaiSui() { * 获取月太岁方位 * * @param sect 流派:2为新的一月以节交接当天零点起算;3为新的一月以节交接准确时刻起算 - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getMonthPositionTaiSui(int sect) { int monthZhiIndex; @@ -3551,7 +3546,7 @@ public String getMonthPositionTaiSui(int sect) { /** * 获取月太岁方位描述(默认流派2新的一月以节交接当天零点起算) * - * @return 太岁方位描述,如东北 + * @return 方位描述,如东北 */ public String getMonthPositionTaiSuiDesc() { return getMonthPositionTaiSuiDesc(2); @@ -3561,7 +3556,7 @@ public String getMonthPositionTaiSuiDesc() { * 获取月太岁方位描述 * * @param sect 流派:2为新的一月以节交接当天零点起算;3为新的一月以节交接准确时刻起算 - * @return 太岁方位描述,如东北 + * @return 方位描述,如东北 */ public String getMonthPositionTaiSuiDesc(int sect) { return POSITION_DESC.get(getMonthPositionTaiSui(sect)); @@ -3588,7 +3583,7 @@ protected String getDayPositionTaiSui(String dayInGanZhi, int yearZhiIndex) { /** * 获取日太岁方位(默认流派2新年以立春零点起算) * - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getDayPositionTaiSui() { return getDayPositionTaiSui(2); @@ -3598,7 +3593,7 @@ public String getDayPositionTaiSui() { * 获取日太岁方位 * * @param sect 流派:2新年以立春零点起算;1新年以正月初一起算;3新年以立春节气交接的时刻起算 - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getDayPositionTaiSui(int sect) { String dayInGanZhi; @@ -3622,7 +3617,7 @@ public String getDayPositionTaiSui(int sect) { /** * 获取日太岁方位描述(默认流派2新年以立春零点起算) * - * @return 太岁方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionTaiSuiDesc() { return getDayPositionTaiSuiDesc(2); @@ -3632,7 +3627,7 @@ public String getDayPositionTaiSuiDesc() { * 获取日太岁方位描述 * * @param sect 流派:2新年以立春零点起算;1新年以正月初一起算;3新年以立春节气交接的时刻起算 - * @return 太岁方位描述,如东北 + * @return 方位描述,如东北 */ public String getDayPositionTaiSuiDesc(int sect) { return POSITION_DESC.get(getDayPositionTaiSui(sect)); @@ -3641,7 +3636,7 @@ public String getDayPositionTaiSuiDesc(int sect) { /** * 获取时辰喜神方位 * - * @return 喜神方位,如艮 + * @return 方位,如艮 */ public String getTimePositionXi() { return POSITION_XI[timeGanIndex]; @@ -3659,7 +3654,7 @@ public String getTimePositionXiDesc() { /** * 获取时辰阳贵神方位 * - * @return 阳贵神方位,如艮 + * @return 方位,如艮 */ public String getTimePositionYangGui() { return POSITION_YANG_GUI[timeGanIndex]; @@ -3668,7 +3663,7 @@ public String getTimePositionYangGui() { /** * 获取时辰阳贵神方位描述 * - * @return 阳贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getTimePositionYangGuiDesc() { return POSITION_DESC.get(getTimePositionYangGui()); @@ -3677,7 +3672,7 @@ public String getTimePositionYangGuiDesc() { /** * 获取时辰阴贵神方位 * - * @return 阴贵神方位,如艮 + * @return 方位,如艮 */ public String getTimePositionYinGui() { return POSITION_YIN_GUI[timeGanIndex]; @@ -3686,7 +3681,7 @@ public String getTimePositionYinGui() { /** * 获取时辰阴贵神方位描述 * - * @return 阴贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getTimePositionYinGuiDesc() { return POSITION_DESC.get(getTimePositionYinGui()); @@ -3695,7 +3690,7 @@ public String getTimePositionYinGuiDesc() { /** * 获取时辰福神方位,默认流派2 * - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getTimePositionFu() { return getTimePositionFu(2); @@ -3705,7 +3700,7 @@ public String getTimePositionFu() { * 获取时辰福神方位 * * @param sect 流派,1或2 - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getTimePositionFu(int sect) { return (1 == sect ? POSITION_FU : POSITION_FU_2)[timeGanIndex + 1]; @@ -3714,7 +3709,7 @@ public String getTimePositionFu(int sect) { /** * 获取时辰福神方位描述,默认流派2 * - * @return 福神方位描述,如东北 + * @return 方位描述,如东北 */ public String getTimePositionFuDesc() { return getTimePositionFuDesc(2); @@ -3724,7 +3719,7 @@ public String getTimePositionFuDesc() { * 获取时辰福神方位描述 * * @param sect 流派,1或2 - * @return 福神方位描述,如东北 + * @return 方位描述,如东北 */ public String getTimePositionFuDesc(int sect) { return POSITION_DESC.get(getTimePositionFu(sect)); @@ -3733,7 +3728,7 @@ public String getTimePositionFuDesc(int sect) { /** * 获取时辰财神方位 * - * @return 财神方位,如艮 + * @return 方位,如艮 */ public String getTimePositionCai() { return POSITION_CAI[timeGanIndex]; @@ -3742,7 +3737,7 @@ public String getTimePositionCai() { /** * 获取时辰财神方位描述 * - * @return 财神方位描述,如东北 + * @return 方位描述,如东北 */ public String getTimePositionCaiDesc() { return POSITION_DESC.get(getTimePositionCai()); @@ -4076,7 +4071,7 @@ protected NineStar getYearNineStar(String yearInGanZhi) { /** * 获取值年九星(默认流派2新年以立春零点起算。流年紫白星起例歌诀:年上吉星论甲子,逐年星逆中宫起;上中下作三元汇,一上四中七下兑。) * - * @return 值年九星 + * @return 九星 */ public NineStar getYearNineStar() { return getYearNineStar(2); @@ -4086,7 +4081,7 @@ public NineStar getYearNineStar() { * 获取值年九星(流年紫白星起例歌诀:年上吉星论甲子,逐年星逆中宫起;上中下作三元汇,一上四中七下兑。) * * @param sect 流派:2为新年以立春零点起算;1为新年以正月初一起算;3为新年以立春节气交接的时刻起算 - * @return 值年九星 + * @return 九星 */ public NineStar getYearNineStar(int sect) { String yearInGanZhi; @@ -4116,7 +4111,7 @@ protected NineStar getMonthNineStar(int yearZhiIndex, int monthZhiIndex) { /** * 获取值月九星(流派2新的一月以节交接当天零点起算。月紫白星歌诀:子午卯酉八白起,寅申巳亥二黑求,辰戌丑未五黄中。) * - * @return 值月九星 + * @return 九星 */ public NineStar getMonthNineStar() { return getMonthNineStar(2); @@ -4126,7 +4121,7 @@ public NineStar getMonthNineStar() { * 获取值月九星(月紫白星歌诀:子午卯酉八白起,寅申巳亥二黑求,辰戌丑未五黄中。) * * @param sect 流派:2为新的一月以节交接当天零点起算;3为新的一月以节交接准确时刻起算 - * @return 值月九星 + * @return 九星 */ public NineStar getMonthNineStar(int sect) { int yearZhiIndex; @@ -4151,7 +4146,7 @@ public NineStar getMonthNineStar(int sect) { * 获取值日九星 * (日家紫白星歌诀:日家白法不难求,二十四气六宫周;冬至雨水及谷雨,阳顺一七四中游;夏至处暑霜降后,九三六星逆行求。) * - * @return 值日九星 + * @return 九星 */ public NineStar getDayNineStar() { String solarYmd = solar.build(false); @@ -4200,7 +4195,7 @@ public NineStar getDayNineStar() { * 时家紫白星歌诀:三元时白最为佳,冬至阳生顺莫差,孟日七宫仲一白,季日四绿发萌芽,每把时辰起甲子,本时星耀照光华, * 时星移入中宫去,顺飞八方逐细查。夏至阴生逆回首,孟归三碧季加六,仲在九宫时起甲,依然掌中逆轮跨。 * - * @return 值时九星 + * @return 九星 */ public NineStar getTimeNineStar() { String solarYmd = solar.build(false); @@ -5920,7 +5915,7 @@ public NineStar getNineStar() { /** * 获取喜神方位 * - * @return 喜神方位,如艮 + * @return 方位,如艮 */ public String getPositionXi() { return POSITION_XI[ganIndex + 1]; @@ -5929,7 +5924,7 @@ public String getPositionXi() { /** * 获取喜神方位描述 * - * @return 喜神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionXiDesc() { return POSITION_DESC.get(getPositionXi()); @@ -5938,7 +5933,7 @@ public String getPositionXiDesc() { /** * 获取阳贵神方位 * - * @return 阳贵神方位,如艮 + * @return 方位,如艮 */ public String getPositionYangGui() { return POSITION_YANG_GUI[ganIndex + 1]; @@ -5947,7 +5942,7 @@ public String getPositionYangGui() { /** * 获取阳贵神方位描述 * - * @return 阳贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionYangGuiDesc() { return POSITION_DESC.get(getPositionYangGui()); @@ -5956,7 +5951,7 @@ public String getPositionYangGuiDesc() { /** * 获取阴贵神方位 * - * @return 阴贵神方位,如艮 + * @return 方位,如艮 */ public String getPositionYinGui() { return POSITION_YIN_GUI[ganIndex + 1]; @@ -5965,7 +5960,7 @@ public String getPositionYinGui() { /** * 获取阴贵神方位描述 * - * @return 阴贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionYinGuiDesc() { return POSITION_DESC.get(getPositionYinGui()); @@ -5974,7 +5969,7 @@ public String getPositionYinGuiDesc() { /** * 获取福神方位(默认流派:2) * - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getPositionFu() { return getPositionFu(2); @@ -5984,7 +5979,7 @@ public String getPositionFu() { * 获取福神方位 * * @param sect 流派,1或2 - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getPositionFu(int sect) { return (1 == sect ? POSITION_FU : POSITION_FU_2)[ganIndex + 1]; @@ -5993,7 +5988,7 @@ public String getPositionFu(int sect) { /** * 获取福神方位描述(默认流派:2) * - * @return 福神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionFuDesc() { return getPositionFuDesc(2); @@ -6003,7 +5998,7 @@ public String getPositionFuDesc() { * 获取福神方位描述 * * @param sect 流派,1或2 - * @return 福神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionFuDesc(int sect) { return POSITION_DESC.get(getPositionFu(sect)); @@ -6012,7 +6007,7 @@ public String getPositionFuDesc(int sect) { /** * 获取财神方位 * - * @return 财神方位,如艮 + * @return 方位,如艮 */ public String getPositionCai() { return POSITION_CAI[ganIndex + 1]; @@ -6021,7 +6016,7 @@ public String getPositionCai() { /** * 获取财神方位描述 * - * @return 财神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionCaiDesc() { return POSITION_DESC.get(getPositionCai()); @@ -6030,7 +6025,7 @@ public String getPositionCaiDesc() { /** * 获取太岁方位 * - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getPositionTaiSui() { return POSITION_TAI_SUI_YEAR[zhiIndex]; @@ -6039,12 +6034,22 @@ public String getPositionTaiSui() { /** * 获取太岁方位描述 * - * @return 太岁方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionTaiSuiDesc() { return POSITION_DESC.get(getPositionTaiSui()); } + /** + * 获取往后推几年的阴历年,如果要往前推,则年数用负数 + * + * @param n 年数 + * @return 阴历年 + */ + public Year next(int n) { + return Year.from(year + n); + } + /** * 构建字符串内容 * @@ -6160,27 +6165,21 @@ public double getFirstJulianDay() { /** * 获取太岁方位 * - * @return 太岁方位,如艮 + * @return 方位,如艮 */ public String getPositionTaiSui() { String p; - int m = Math.abs(month); + int m = Math.abs(month) % 4; switch (m) { + case 0: + p = "巽"; + break; case 1: - case 5: - case 9: p = "艮"; break; case 3: - case 7: - case 11: p = "坤"; break; - case 4: - case 8: - case 12: - p = "巽"; - break; default: p = POSITION_GAN[Solar.from(this.getFirstJulianDay()).getLunar().getMonthGanIndex()]; } @@ -6190,7 +6189,7 @@ public String getPositionTaiSui() { /** * 获取太岁方位描述 * - * @return 太岁方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionTaiSuiDesc() { return POSITION_DESC.get(getPositionTaiSui()); @@ -6213,6 +6212,73 @@ public NineStar getNineStar() { return new NineStar(offset); } + /** + * 获取往后推几个月的阴历月,如果要往前推,则月数用负数 + * + * @param n 月数 + * @return 阴历月 + */ + public Month next(int n) { + if (0 == n) { + return Month.from(year, month); + } else if (n > 0) { + int rest = n; + int ny = year; + int iy = ny; + int im = month; + int index = 0; + List months = Year.from(ny).getMonths(); + while (true) { + int size = months.size(); + for (int i = 0; i < size; i++) { + Month m = months.get(i); + if (m.getYear() == iy && m.getMonth() == im) { + index = i; + break; + } + } + int more = size - index - 1; + if (rest < more) { + break; + } + rest -= more; + Month lastMonth = months.get(size - 1); + iy = lastMonth.getYear(); + im = lastMonth.getMonth(); + ny++; + months = Year.from(ny).getMonths(); + } + return months.get(index + rest); + } else { + int rest = -n; + int ny = year; + int iy = ny; + int im = month; + int index = 0; + List months = Year.from(ny).getMonths(); + while (true) { + int size = months.size(); + for (int i = 0; i < size; i++) { + Month m = months.get(i); + if (m.getYear() == iy && m.getMonth() == im) { + index = i; + break; + } + } + if (rest <= index) { + break; + } + rest -= index; + Month firstMonth = months.get(0); + iy = firstMonth.getYear(); + im = firstMonth.getMonth(); + ny--; + months = Year.from(ny).getMonths(); + } + return months.get(index - rest); + } + } + @Override public String toString() { return year + "年" + (isLeap() ? "闰" : Normal.EMPTY) + Fields.CN_MONTH[Math.abs(month)] + "月(" + dayCount + "天)"; @@ -6297,7 +6363,7 @@ public String getGanZhi() { /** * 获取喜神方位 * - * @return 喜神方位,如艮 + * @return 方位,如艮 */ public String getPositionXi() { return POSITION_XI[ganIndex + 1]; @@ -6306,7 +6372,7 @@ public String getPositionXi() { /** * 获取喜神方位描述 * - * @return 喜神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionXiDesc() { return POSITION_DESC.get(getPositionXi()); @@ -6315,7 +6381,7 @@ public String getPositionXiDesc() { /** * 获取阳贵神方位 * - * @return 阳贵神方位,如艮 + * @return 方位,如艮 */ public String getPositionYangGui() { return POSITION_YANG_GUI[ganIndex + 1]; @@ -6324,7 +6390,7 @@ public String getPositionYangGui() { /** * 获取阳贵神方位描述 * - * @return 阳贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionYangGuiDesc() { return POSITION_DESC.get(getPositionYangGui()); @@ -6342,7 +6408,7 @@ public String getPositionYinGui() { /** * 获取阴贵神方位描述 * - * @return 阴贵神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionYinGuiDesc() { return POSITION_DESC.get(getPositionYinGui()); @@ -6351,7 +6417,7 @@ public String getPositionYinGuiDesc() { /** * 获取福神方位 * - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getPositionFu() { return getPositionFu(2); @@ -6361,7 +6427,7 @@ public String getPositionFu() { * 获取福神方位 * * @param sect 流派,1或2 - * @return 福神方位,如艮 + * @return 方位,如艮 */ public String getPositionFu(int sect) { return (1 == sect ? POSITION_FU : POSITION_FU_2)[ganIndex + 1]; @@ -6380,7 +6446,7 @@ public String getPositionFuDesc() { * 获取福神方位描述 * * @param sect 流派,1或2 - * @return 福神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionFuDesc(int sect) { return POSITION_DESC.get(getPositionFu(sect)); @@ -6389,7 +6455,7 @@ public String getPositionFuDesc(int sect) { /** * 获取财神方位 * - * @return 财神方位,如艮 + * @return 方位,如艮 */ public String getPositionCai() { return POSITION_CAI[ganIndex + 1]; @@ -6398,7 +6464,7 @@ public String getPositionCai() { /** * 获取财神方位描述 * - * @return 财神方位描述,如东北 + * @return 方位描述,如东北 */ public String getPositionCaiDesc() { return POSITION_DESC.get(getPositionCai()); diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/NineStar.java b/bus-core/src/main/java/org/aoju/bus/core/date/NineStar.java index cc4155be28..ea450879b1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/NineStar.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/NineStar.java @@ -34,8 +34,8 @@ * 玄空九星、奇门九星都来源于北斗九星,九数、七色、五行、后天八卦方位都是相通的 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NineStar { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/NonClock.java b/bus-core/src/main/java/org/aoju/bus/core/date/NonClock.java index e01f460317..f26e3054b6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/NonClock.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/NonClock.java @@ -40,8 +40,8 @@ * 后台定时更新时钟,JVM退出时,线程自动回收 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NonClock { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/NonTimer.java b/bus-core/src/main/java/org/aoju/bus/core/date/NonTimer.java index a46d6c1fc8..caecca48e1 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/NonTimer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/NonTimer.java @@ -33,8 +33,8 @@ * 计算某个过程花费的时间,精确到毫秒 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NonTimer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Solar.java b/bus-core/src/main/java/org/aoju/bus/core/date/Solar.java index a1dee47ef9..617a3c071a 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Solar.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Solar.java @@ -37,8 +37,8 @@ * 阳历日期 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Solar { @@ -546,6 +546,52 @@ public static int getWeeksOfMonth(int year, int month, int start) { return (int) Math.ceil((days + week - start) * 1D / 7); } + /** + * 获取两个日期之间相差的天数(如果日期a比日期b小,天数为正,如果日期a比日期b大,天数为负) + * + * @param ay 年a + * @param am 月a + * @param ad 日a + * @param by 年b + * @param bm 月b + * @param bd 日b + * @return 天数 + */ + public static int getDays(int ay, int am, int ad, int by, int bm, int bd) { + int n; + int days; + int i; + if (ay == by) { + n = getDaysInYear(by, bm, bd) - getDaysInYear(ay, am, ad); + } else if (ay > by) { + days = getDaysOfYear(by) - getDaysInYear(by, bm, bd); + for (i = by + 1; i < ay; i++) { + days += getDaysOfYear(i); + } + days += getDaysInYear(ay, am, ad); + n = -days; + } else { + days = getDaysOfYear(ay) - getDaysInYear(ay, am, ad); + for (i = ay + 1; i < by; i++) { + days += getDaysOfYear(i); + } + days += getDaysInYear(by, bm, bd); + n = days; + } + return n; + } + + /** + * 获取两个日期之间相差的天数(如果日期a比日期b小,天数为正,如果日期a比日期b大,天数为负) + * + * @param calendar0 日期a + * @param calendar1 日期b + * @return 天数 + */ + public static int getDays(Calendar calendar0, Calendar calendar1) { + return getDays(calendar0.get(Calendar.YEAR), calendar0.get(Calendar.MONTH) + 1, calendar0.get(Calendar.DATE), calendar1.get(Calendar.YEAR), calendar1.get(Calendar.MONTH) + 1, calendar1.get(Calendar.DATE)); + } + /** * 是否闰年 * @@ -838,52 +884,6 @@ public String build(boolean... args) { return strYmdHms; } - /** - * 获取两个日期之间相差的天数(如果日期a比日期b小,天数为正,如果日期a比日期b大,天数为负) - * - * @param ay 年a - * @param am 月a - * @param ad 日a - * @param by 年b - * @param bm 月b - * @param bd 日b - * @return 天数 - */ - public static int getDays(int ay, int am, int ad, int by, int bm, int bd) { - int n; - int days; - int i; - if (ay == by) { - n = getDaysInYear(by, bm, bd) - getDaysInYear(ay, am, ad); - } else if (ay > by) { - days = getDaysOfYear(by) - getDaysInYear(by, bm, bd); - for (i = by + 1; i < ay; i++) { - days += getDaysOfYear(i); - } - days += getDaysInYear(ay, am, ad); - n = -days; - } else { - days = getDaysOfYear(ay) - getDaysInYear(ay, am, ad); - for (i = ay + 1; i < by; i++) { - days += getDaysOfYear(i); - } - days += getDaysInYear(by, bm, bd); - n = days; - } - return n; - } - - /** - * 获取两个日期之间相差的天数(如果日期a比日期b小,天数为正,如果日期a比日期b大,天数为负) - * - * @param calendar0 日期a - * @param calendar1 日期b - * @return 天数 - */ - public static int getDays(Calendar calendar0, Calendar calendar1) { - return getDays(calendar0.get(Calendar.YEAR), calendar0.get(Calendar.MONTH) + 1, calendar0.get(Calendar.DATE), calendar1.get(Calendar.YEAR), calendar1.get(Calendar.MONTH) + 1, calendar1.get(Calendar.DATE)); - } - /** * 阳历年 */ @@ -1636,6 +1636,21 @@ public int getIndex() { return (int) Math.ceil((day + offset) / 7D); } + /** + * 获取当前日期是在当年第几周 + * + * @return 周序号,从1开始 + */ + public int getIndexInYear() { + Calendar c = Kalendar.calendar(year, 1, 1); + int firstDayWeek = c.get(Calendar.DAY_OF_WEEK) - 1; + int offset = firstDayWeek - start; + if (offset < 0) { + offset += 7; + } + return (int) Math.ceil((Solar.getDaysInYear(year, month, day) + offset) / 7D); + } + /** * 周推移 * diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/StopWatch.java b/bus-core/src/main/java/org/aoju/bus/core/date/StopWatch.java index 05e1150bcd..df0a989c65 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/StopWatch.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/StopWatch.java @@ -59,8 +59,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StopWatch { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/Taoist.java b/bus-core/src/main/java/org/aoju/bus/core/date/Taoist.java index 67af955753..ac48e39020 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/Taoist.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/Taoist.java @@ -35,8 +35,8 @@ * 道历 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Taoist { @@ -68,7 +68,7 @@ public class Taoist { private static final long serialVersionUID = 1; { - put("1-1", Collections.nCopies(1, new Festival("天腊之辰", "天腊,此日五帝会于束方九炁青天"))); + put("1-1", Collections.nCopies(1, new Festival("天腊之辰", "天腊,此日五帝会于东方九炁青天"))); put("1-3", Arrays.asList(new Festival("郝真人圣诞"), new Festival("孙真人圣诞"))); put("1-5", Collections.nCopies(1, new Festival("孙祖清静元君诞"))); put("1-7", Collections.nCopies(1, new Festival("举迁赏会", "此日上元赐福,天官同地水二官考校罪福"))); @@ -103,7 +103,7 @@ public class Taoist { put("4-20", Collections.nCopies(1, new Festival("眼光圣母娘娘诞"))); put("4-28", Collections.nCopies(1, new Festival("神农先帝诞"))); put("5-1", Collections.nCopies(1, new Festival("南极长生大帝圣诞"))); - put("5-5", Arrays.asList(new Festival("地腊之辰", "地腊,此日五帝会於南方三炁丹天"), new Festival("南方雷祖圣诞"), new Festival("地祗温元帅圣诞"), new Festival("雷霆邓天君圣诞"))); + put("5-5", Arrays.asList(new Festival("地腊之辰", "地腊,此日五帝会于南方三炁丹天"), new Festival("南方雷祖圣诞"), new Festival("地祗温元帅圣诞"), new Festival("雷霆邓天君圣诞"))); put("5-11", Collections.nCopies(1, new Festival("城隍爷圣诞"))); put("5-13", Arrays.asList(new Festival("关圣帝君降神"), new Festival("关平太子圣诞"))); put("5-18", Collections.nCopies(1, new Festival("张天师圣诞"))); @@ -145,7 +145,7 @@ public class Taoist { put("9-22", Collections.nCopies(1, new Festival("增福财神诞"))); put("9-23", Collections.nCopies(1, new Festival("萨翁真君圣诞"))); put("9-28", Collections.nCopies(1, new Festival("五显灵官马元帅圣诞"))); - put("10-1", Arrays.asList(new Festival("民岁腊之辰", "民岁腊,此日五帝会於北方五炁黑天"), new Festival("东皇大帝圣诞"))); + put("10-1", Arrays.asList(new Festival("民岁腊之辰", "民岁腊,此日五帝会于北方五炁黑天"), new Festival("东皇大帝圣诞"))); put("10-3", Collections.nCopies(1, new Festival("三茅应化真君圣诞"))); put("10-6", Collections.nCopies(1, new Festival("天曹诸司五岳五帝圣诞"))); put("10-15", Arrays.asList(new Festival("下元水官大帝圣诞"), new Festival("建生大会", "此日下元解厄,水官同天地二官考校罪福"))); @@ -156,7 +156,7 @@ public class Taoist { put("11-9", Collections.nCopies(1, new Festival("湘子韩祖圣诞"))); put("11-11", Collections.nCopies(1, new Festival("太乙救苦天尊圣诞"))); put("11-26", Collections.nCopies(1, new Festival("北方五道圣诞"))); - put("12-8", Collections.nCopies(1, new Festival("王侯腊之辰", "王侯腊,此日五帝会於上方玄都玉京"))); + put("12-8", Collections.nCopies(1, new Festival("王侯腊之辰", "王侯腊,此日五帝会于上方玄都玉京"))); put("12-16", Arrays.asList(new Festival("南岳大帝圣诞"), new Festival("福德正神诞"))); put("12-20", Collections.nCopies(1, new Festival("鲁班先师圣诞"))); put("12-21", Collections.nCopies(1, new Festival("天猷上帝圣诞"))); diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/DayWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/DayWrapper.java index 98353e2186..3cf36cc7b1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/DayWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/DayWrapper.java @@ -38,8 +38,8 @@ * 天/日/Day * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class DayWrapper implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/MonthWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/MonthWrapper.java index 6a781538c4..76d88502af 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/MonthWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/MonthWrapper.java @@ -36,8 +36,8 @@ * 月/Month * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MonthWrapper implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/NonWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/NonWrapper.java index f04e4514d9..4cdf581aab 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/NonWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/NonWrapper.java @@ -37,8 +37,8 @@ * 默认日历 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class NonWrapper implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/YearWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/YearWrapper.java index cccac0e800..145531682b 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/YearWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/YearWrapper.java @@ -35,8 +35,8 @@ * 年/Year * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class YearWrapper implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/package-info.java index 496f96398c..c5243a7e55 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/calendar/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/calendar/package-info.java @@ -2,7 +2,7 @@ * 提供线日历解析实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.date.calendar; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/AbstractMotd.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/AbstractMotd.java index fdd0c791b3..ea97b85aa3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/AbstractMotd.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/AbstractMotd.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractMotd implements DateMotd, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateMotd.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateMotd.java index 974aa638c7..9264e5442a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateMotd.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateMotd.java @@ -32,8 +32,8 @@ * 日期基本信息获取接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DateMotd { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateParser.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateParser.java index e20efd8c32..8d88c91321 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateParser.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DateParser.java @@ -34,8 +34,8 @@ * 日期解析接口,用于解析日期字符串为 {@link Date} 对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DateParser extends DateMotd { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePeriod.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePeriod.java index 354ba41f88..7c0bc9c1f2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePeriod.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePeriod.java @@ -32,8 +32,8 @@ * 时长格式化器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DatePeriod { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePrinter.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePrinter.java index f987291986..c1ecac6d59 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePrinter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/DatePrinter.java @@ -32,8 +32,8 @@ * 日期格式化输出接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DatePrinter extends DateMotd { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDateParser.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDateParser.java index 2955f24978..2494e5b793 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDateParser.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDateParser.java @@ -43,8 +43,8 @@ * 用于解析日期字符串并转换为 {@link Date} 对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FastDateParser extends AbstractMotd implements DateParser { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDatePrinter.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDatePrinter.java index e447bca066..e734000543 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDatePrinter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FastDatePrinter.java @@ -40,8 +40,8 @@ * {@link java.text.SimpleDateFormat} 的线程安全版本,用于将 {@link Date} 格式化输出 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FastDatePrinter extends AbstractMotd implements DatePrinter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatBuilder.java index 6fb7d30c01..95a2a9ec8c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatBuilder.java @@ -42,8 +42,8 @@ * {@link #getDateTimeInstance(int, int, TimeZone, Locale)} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FormatBuilder extends Format implements DateParser, DatePrinter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatCache.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatCache.java index 2edfb0977a..4e9f91cd62 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatCache.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/FormatCache.java @@ -40,8 +40,8 @@ * 日期格式化器缓存 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class FormatCache { diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/package-info.java index 271617c0b0..7fd3fbe7e6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/formatter/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/formatter/package-info.java @@ -2,7 +2,7 @@ * 提供线程安全的日期格式的格式化和解析实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.date.formatter; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/date/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/date/package-info.java index ee78108cc0..d08bfd98ce 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/date/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/date/package-info.java @@ -2,7 +2,7 @@ * 日期封装,日期的核心为DateTime类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.date; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/ArrayType.java b/bus-core/src/main/java/org/aoju/bus/core/getter/ArrayType.java index 29810cda6c..fc350a6103 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/ArrayType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/ArrayType.java @@ -32,8 +32,8 @@ * 数组类型的Get接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ArrayType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/BasicType.java b/bus-core/src/main/java/org/aoju/bus/core/getter/BasicType.java index b3f3e1410d..941887b5a0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/BasicType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/BasicType.java @@ -34,8 +34,8 @@ * 提供一个统一的接口定义返回不同类型的值(基本类型) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BasicType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/GroupedType.java b/bus-core/src/main/java/org/aoju/bus/core/getter/GroupedType.java index eaaac115ec..162e90c1c3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/GroupedType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/GroupedType.java @@ -32,8 +32,8 @@ * 基于分组的Get接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface GroupedType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/ListType.java b/bus-core/src/main/java/org/aoju/bus/core/getter/ListType.java index 324924cc0d..a9c59b77ad 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/ListType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/ListType.java @@ -33,8 +33,8 @@ * 列表类型的Get接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ListType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/OptArrayType.java b/bus-core/src/main/java/org/aoju/bus/core/getter/OptArrayType.java index df7be0f631..7e80cdee70 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/OptArrayType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/OptArrayType.java @@ -34,8 +34,8 @@ * 如果值不存在或获取错误,返回默认值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OptArrayType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/OptBasicType.java b/bus-core/src/main/java/org/aoju/bus/core/getter/OptBasicType.java index 2616326ef9..26e890ad9f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/OptBasicType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/OptBasicType.java @@ -35,8 +35,8 @@ * 如果值不存在或获取错误,返回默认值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OptBasicType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullObject.java b/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullObject.java index 6b9f107dd9..5a6a566b8b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullObject.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullObject.java @@ -37,8 +37,8 @@ * 在不提供默认值的情况下, 如果值不存在或获取错误,返回null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OptNullObject extends OptNullType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullString.java b/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullString.java index 878f1d5bce..ca9b7d43fd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullString.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullString.java @@ -36,8 +36,8 @@ * 用户只需实现getStr方法即可,其他类型将会从String结果中转换 在不提供默认值的情况下, 如果值不存在或获取错误,返回null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OptNullString extends OptNullType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullType.java b/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullType.java index fe07613a83..484e70b6fc 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/OptNullType.java @@ -35,8 +35,8 @@ * 在不提供默认值的情况下, 如果值不存在或获取错误,返回null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OptNullType extends BasicType, OptBasicType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/getter/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/getter/package-info.java index c1f589daa7..e13fd7efde 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/getter/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/getter/package-info.java @@ -2,7 +2,7 @@ * getXXX方法的接口和抽象实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.getter; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/GifDecoder.java b/bus-core/src/main/java/org/aoju/bus/core/image/GifDecoder.java index 2be0e3db16..6821547317 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/GifDecoder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/GifDecoder.java @@ -55,8 +55,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GifDecoder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/GifEncoder.java b/bus-core/src/main/java/org/aoju/bus/core/image/GifEncoder.java index 4060a3351d..ead2955f13 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/GifEncoder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/GifEncoder.java @@ -49,8 +49,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GifEncoder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/Images.java b/bus-core/src/main/java/org/aoju/bus/core/image/Images.java index 37f2bbf1b1..3ca5321030 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/image/Images.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/Images.java @@ -59,8 +59,8 @@ * 图像编辑器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Images implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/NeuQuant.java b/bus-core/src/main/java/org/aoju/bus/core/image/NeuQuant.java index d143cdecb4..2be3fdcf8d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/NeuQuant.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/NeuQuant.java @@ -31,7 +31,7 @@ * NeuQuant Neural-Net Quantization Algorithm * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @since JDK 1.8+ */ public class NeuQuant { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/Removal.java b/bus-core/src/main/java/org/aoju/bus/core/image/Removal.java index c1b85ab213..ce51207fba 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/Removal.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/Removal.java @@ -25,8 +25,8 @@ * 根据一定规则算出图片背景色的RGB值,进行替换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Removal { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/element/AbstractElement.java b/bus-core/src/main/java/org/aoju/bus/core/image/element/AbstractElement.java index d41cba64f7..9ad649dafa 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/element/AbstractElement.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/element/AbstractElement.java @@ -29,8 +29,8 @@ * 合并元素抽象类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractElement { @@ -51,37 +51,79 @@ public abstract class AbstractElement { */ private float alpha = 1.0f; + /** + * 获取坐标x + * + * @return the int + */ public int getX() { return x; } + /** + * 设置坐标x + * + * @param x 坐标 + * @return this + */ public T setX(int x) { this.x = x; return (T) this; } + /** + * 获取坐标y + * + * @return the int + */ public int getY() { return y; } + /** + * 设置坐标y + * + * @param y 坐标 + * @return this + */ public T setY(int y) { this.y = y; return (T) this; } + /** + * @return the boolean + */ public boolean isCenter() { return center; } + /** + * 设置位置 + * + * @param center 中心位置 + * @return this + */ public T setCenter(boolean center) { this.center = center; return (T) this; } + /** + * 获取透明度 + * + * @return the float + */ public float getAlpha() { return alpha; } + /** + * 设置透明度 + * + * @param alpha 透明度 + * @return this + */ public T setAlpha(float alpha) { this.alpha = alpha; return (T) this; diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/element/ImageElement.java b/bus-core/src/main/java/org/aoju/bus/core/image/element/ImageElement.java index 5801eea3c8..d8c9d8abcd 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/element/ImageElement.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/element/ImageElement.java @@ -35,8 +35,8 @@ * 图片元素 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageElement extends AbstractElement { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/element/RectangleElement.java b/bus-core/src/main/java/org/aoju/bus/core/image/element/RectangleElement.java index f30561f527..9a25e41e0d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/element/RectangleElement.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/element/RectangleElement.java @@ -33,8 +33,8 @@ * 矩形元素 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RectangleElement extends AbstractElement { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/element/TextElement.java b/bus-core/src/main/java/org/aoju/bus/core/image/element/TextElement.java index 1438b21590..f855577e60 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/element/TextElement.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/element/TextElement.java @@ -33,8 +33,8 @@ * 文本元素 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class TextElement extends AbstractElement { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/element/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/image/element/package-info.java index d02c4ff569..0147097486 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/element/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/element/package-info.java @@ -2,7 +2,7 @@ * 图像处理元素封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.image.element; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/image/package-info.java index c55e502095..ae0278f572 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/package-info.java @@ -2,7 +2,7 @@ * 图像处理相关类封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.image; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/painter/ImagePainter.java b/bus-core/src/main/java/org/aoju/bus/core/image/painter/ImagePainter.java index 71ca9922d8..656a09b6a8 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/painter/ImagePainter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/painter/ImagePainter.java @@ -36,8 +36,8 @@ * 图片绘制器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImagePainter implements Painter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/painter/Painter.java b/bus-core/src/main/java/org/aoju/bus/core/image/painter/Painter.java index 3a8d657ea1..c4ce265f21 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/painter/Painter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/painter/Painter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Painter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/painter/PainterFactory.java b/bus-core/src/main/java/org/aoju/bus/core/image/painter/PainterFactory.java index 6123464f82..41ad88275d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/painter/PainterFactory.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/painter/PainterFactory.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PainterFactory { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/painter/RectanglePainter.java b/bus-core/src/main/java/org/aoju/bus/core/image/painter/RectanglePainter.java index 18177179b4..8e9c981263 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/painter/RectanglePainter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/painter/RectanglePainter.java @@ -34,8 +34,8 @@ * 矩形绘制器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RectanglePainter implements Painter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/painter/TextPainter.java b/bus-core/src/main/java/org/aoju/bus/core/image/painter/TextPainter.java index 8a26a69622..c13e47f7cf 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/painter/TextPainter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/painter/TextPainter.java @@ -42,8 +42,8 @@ * 文本绘制器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextPainter implements Painter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/image/painter/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/image/painter/package-info.java index b0f266ce26..c38a6be6db 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/image/painter/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/image/painter/package-info.java @@ -2,7 +2,7 @@ * 图像处理绘制器封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.image.painter; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/instance/Instance.java b/bus-core/src/main/java/org/aoju/bus/core/instance/Instance.java index dcd6dab413..ea8fc8f3d5 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/instance/Instance.java +++ b/bus-core/src/main/java/org/aoju/bus/core/instance/Instance.java @@ -33,8 +33,8 @@ * 2. 当前类出于测试阶段 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Instance { diff --git a/bus-core/src/main/java/org/aoju/bus/core/instance/InstanceFactory.java b/bus-core/src/main/java/org/aoju/bus/core/instance/InstanceFactory.java index ad5ba79a41..d98016fbb2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/instance/InstanceFactory.java +++ b/bus-core/src/main/java/org/aoju/bus/core/instance/InstanceFactory.java @@ -38,8 +38,8 @@ * 实例化工厂类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class InstanceFactory implements Instance { diff --git a/bus-core/src/main/java/org/aoju/bus/core/instance/Instances.java b/bus-core/src/main/java/org/aoju/bus/core/instance/Instances.java index 237519a523..b7fea3e3f9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/instance/Instances.java +++ b/bus-core/src/main/java/org/aoju/bus/core/instance/Instances.java @@ -42,8 +42,8 @@ * 对于 {@link InstanceFactory} 的便于使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Instances { diff --git a/bus-core/src/main/java/org/aoju/bus/core/instance/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/instance/package-info.java index 2357dfb475..596b86371f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/instance/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/instance/package-info.java @@ -2,7 +2,7 @@ * 提供单例对象的统一管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.instance; diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/AbstractBlending.java b/bus-core/src/main/java/org/aoju/bus/core/io/AbstractBlending.java index 2e9b752acb..bf34ee5638 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/AbstractBlending.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/AbstractBlending.java @@ -31,8 +31,8 @@ * 可以读取的一组索引值 {@link BufferSource#select}. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AbstractBlending extends AbstractList implements RandomAccess { @@ -44,6 +44,12 @@ private AbstractBlending(ByteString[] byteStrings, int[] trie) { this.trie = trie; } + /** + * 构造 + * + * @param byteStrings 字符串 + * @return the object + */ public static AbstractBlending of(ByteString... byteStrings) { if (byteStrings.length == 0) { // 没有选择,我们必须总是返回-1,创建一个空集合 diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/AsyncTimeout.java b/bus-core/src/main/java/org/aoju/bus/core/io/AsyncTimeout.java index 49543383b5..6cad79ef08 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/AsyncTimeout.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/AsyncTimeout.java @@ -37,8 +37,8 @@ * 在本地不支持超时的地方实现超时,例如对阻塞的套接字操作. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AsyncTimeout extends Timeout { /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/Buffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/Buffer.java index 50a463e3ce..f7cf2de5d7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/Buffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/Buffer.java @@ -47,8 +47,8 @@ * 内存中字节的集合. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Buffer implements BufferSource, BufferSink, Cloneable, ByteChannel { @@ -1926,6 +1926,7 @@ public final UnsafeCursor readAndWriteUnsafe(UnsafeCursor unsafeCursor) { } public static final class UnsafeCursor implements Closeable { + public Buffer buffer; public boolean readWrite; public long offset = -1L; diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/BufferSink.java b/bus-core/src/main/java/org/aoju/bus/core/io/BufferSink.java index 52d5f69a85..9c239b54f8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/BufferSink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/BufferSink.java @@ -35,8 +35,8 @@ * 以便调用者可以进行小的写操作没有性能损失 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BufferSink extends Sink, WritableByteChannel { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/BufferSource.java b/bus-core/src/main/java/org/aoju/bus/core/io/BufferSource.java index a5a10c2003..e37d184c02 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/BufferSource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/BufferSource.java @@ -35,8 +35,8 @@ * 它还允许客户端提前读取,在消费之前进行必要的缓冲输入 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BufferSource extends Source, ReadableByteChannel { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/ByteBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/ByteBuffer.java index 1654244fe6..a65ffc1513 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/ByteBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/ByteBuffer.java @@ -43,8 +43,8 @@ * 两个半部分,描述段如何组成这个字节字符串 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ByteBuffer extends ByteString { @@ -140,6 +140,11 @@ public ByteString toAsciiLowercase() { return toByteString().toAsciiLowercase(); } + @Override + public ByteString toAsciiUppercase() { + return toByteString().toAsciiUppercase(); + } + /** * 内存回收任务 */ @@ -162,11 +167,6 @@ public void run() { } }, 500, 1000, TimeUnit.MILLISECONDS); - @Override - public ByteString toAsciiUppercase() { - return toByteString().toAsciiUppercase(); - } - @Override public ByteString md5() { return toByteString().md5(); @@ -408,4 +408,5 @@ public void release() { enabled = false; } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/ByteString.java b/bus-core/src/main/java/org/aoju/bus/core/io/ByteString.java index 269f41f5f0..5368ec3c91 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/ByteString.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/ByteString.java @@ -46,8 +46,8 @@ * 不可变的字节序列. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ByteString implements Serializable, Comparable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/DeflaterSink.java b/bus-core/src/main/java/org/aoju/bus/core/io/DeflaterSink.java index 94efb13d9d..d90d51b5ac 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/DeflaterSink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/DeflaterSink.java @@ -37,8 +37,8 @@ * 这种早期压缩可能不如执行的压缩有效 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeflaterSink implements Sink { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/Delegate.java b/bus-core/src/main/java/org/aoju/bus/core/io/Delegate.java index cbc3a1a2cb..a1b28770e3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/Delegate.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/Delegate.java @@ -32,8 +32,8 @@ * 将调用转发给另一个调用的 {@link Timeout}. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Delegate extends Timeout { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSink.java b/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSink.java index 4a7cd49c3d..2630edef6f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSink.java @@ -33,8 +33,8 @@ * 将调用转发给另一个调用的{@link Sink} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class DelegateSink implements Sink { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSource.java b/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSource.java index e8acaa4dba..60bcf95626 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/DelegateSource.java @@ -33,8 +33,8 @@ * 将调用转发给另一个调用的{@link Source} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class DelegateSource implements Source { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/EventFactory.java b/bus-core/src/main/java/org/aoju/bus/core/io/EventFactory.java index e7e29baa6e..fe4d7a60fb 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/EventFactory.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/EventFactory.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface EventFactory { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/FastByteBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/FastByteBuffer.java index fe61c38dae..835e32e5f9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/FastByteBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/FastByteBuffer.java @@ -32,8 +32,8 @@ * 快速缓冲,将数据存放在缓冲集中,取代以往的单一数组 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FastByteBuffer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/FaultHideSink.java b/bus-core/src/main/java/org/aoju/bus/core/io/FaultHideSink.java index bcdc79603b..48d819be12 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/FaultHideSink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/FaultHideSink.java @@ -32,8 +32,8 @@ * 即使底层接收器抛出了IOExceptions * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FaultHideSink extends DelegateSink { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/FileOperator.java b/bus-core/src/main/java/org/aoju/bus/core/io/FileOperator.java index 0f40cea89e..af29e26c11 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/FileOperator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/FileOperator.java @@ -33,8 +33,8 @@ * 读取和写入目标文件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class FileOperator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/FileSystem.java b/bus-core/src/main/java/org/aoju/bus/core/io/FileSystem.java index f94a75817b..462e5ea806 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/FileSystem.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/FileSystem.java @@ -38,8 +38,8 @@ * 例如加密) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface FileSystem { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/GzipSink.java b/bus-core/src/main/java/org/aoju/bus/core/io/GzipSink.java index 91931c9082..0eb2b45e52 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/GzipSink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/GzipSink.java @@ -37,8 +37,8 @@ * 只在应用程序行为需要时调用{@link #flush} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class GzipSink implements Sink { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/GzipSource.java b/bus-core/src/main/java/org/aoju/bus/core/io/GzipSource.java index a714edf1b7..f7abf8493c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/GzipSource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/GzipSource.java @@ -36,8 +36,8 @@ * 解压读取数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class GzipSource implements Source { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/HashSink.java b/bus-core/src/main/java/org/aoju/bus/core/io/HashSink.java index 1e55f8d2d1..5ef66c4bb2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/HashSink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/HashSink.java @@ -41,8 +41,8 @@ * {@link #hash()}来计算最终的哈希值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class HashSink extends DelegateSink { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/HashSource.java b/bus-core/src/main/java/org/aoju/bus/core/io/HashSource.java index 8d6bf0d887..ac62e74177 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/HashSource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/HashSource.java @@ -40,8 +40,8 @@ * 然后调用{@link #hash()}来计算最终的哈希值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class HashSource extends DelegateSource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/InflaterSource.java b/bus-core/src/main/java/org/aoju/bus/core/io/InflaterSource.java index 6e9870f3c4..c394e07997 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/InflaterSource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/InflaterSource.java @@ -37,8 +37,8 @@ * 解压从另一个源读取的数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class InflaterSource implements Source { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/LifeCycle.java b/bus-core/src/main/java/org/aoju/bus/core/io/LifeCycle.java index cc2769362f..535b433ab6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/LifeCycle.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/LifeCycle.java @@ -32,8 +32,8 @@ * 这个池是一个线程安全的静态单例 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class LifeCycle { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/LineHandler.java b/bus-core/src/main/java/org/aoju/bus/core/io/LineHandler.java index ba0ea818e2..9ddd0f692f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/LineHandler.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/LineHandler.java @@ -29,8 +29,8 @@ * 行处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LineHandler { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/PageBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/PageBuffer.java index 4ab5c6fdee..fdf8523f5a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/PageBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/PageBuffer.java @@ -37,8 +37,8 @@ * ByteBuffer内存页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageBuffer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/PeekSource.java b/bus-core/src/main/java/org/aoju/bus/core/io/PeekSource.java index cef5dbc8db..8a7fe2a74f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/PeekSource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/PeekSource.java @@ -36,8 +36,8 @@ * 无效,在以后的读取中抛出{@link IllegalStateException} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class PeekSource implements Source { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/Pipe.java b/bus-core/src/main/java/org/aoju/bus/core/io/Pipe.java index 241eb48aaf..16a0259801 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/Pipe.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/Pipe.java @@ -32,8 +32,8 @@ * 通常每个线程都由自己的线程访问:生产者线程向接收器写入数据,消费者线程从源读取数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Pipe { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/RealSink.java b/bus-core/src/main/java/org/aoju/bus/core/io/RealSink.java index c3f636d4ba..9a468b1701 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/RealSink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/RealSink.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RealSink implements BufferSink { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/RealSource.java b/bus-core/src/main/java/org/aoju/bus/core/io/RealSource.java index 26aa40a5ac..fa02df1e67 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/RealSource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/RealSource.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RealSource implements BufferSource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/RelayBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/RelayBuffer.java index f155bd5e41..7bfc3a33c5 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/RelayBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/RelayBuffer.java @@ -38,8 +38,8 @@ * 这个类保留一个最近从上游读取的字节的小缓冲区。减少文件I/O和数据复制 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class RelayBuffer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/RingBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/RingBuffer.java index 607d8b3974..fa8390f58e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/RingBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/RingBuffer.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RingBuffer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/Segment.java b/bus-core/src/main/java/org/aoju/bus/core/io/Segment.java index d6702a13af..dd20a0c756 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/Segment.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/Segment.java @@ -39,8 +39,8 @@ * 限制、prev和next引用不共享 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Segment { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/Sink.java b/bus-core/src/main/java/org/aoju/bus/core/io/Sink.java index 10b95268f7..5921fa4dcd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/Sink.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/Sink.java @@ -36,8 +36,8 @@ * {@link BufferSink#outputStream}使一个接收器适应{@code outputStream} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Sink extends Closeable, Flushable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/Source.java b/bus-core/src/main/java/org/aoju/bus/core/io/Source.java index b2075e2de6..fb1a3e3b2e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/Source.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/Source.java @@ -34,8 +34,8 @@ * 分层以转换提供的数据,例如解压、解密或移除协议框架 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Source extends Closeable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/StreamProgress.java b/bus-core/src/main/java/org/aoju/bus/core/io/StreamProgress.java index f8c5a98e1c..aca4dfa43c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/StreamProgress.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/StreamProgress.java @@ -29,8 +29,8 @@ * Stream进度条 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface StreamProgress { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/Timeout.java b/bus-core/src/main/java/org/aoju/bus/core/io/Timeout.java index 82c54d2b30..674a19c21f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/Timeout.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/Timeout.java @@ -37,8 +37,8 @@ * 适用规则:关闭洗涤槽,稍后重试 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Timeout { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/VirtualBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/VirtualBuffer.java index 266107c37f..25257028dc 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/VirtualBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/VirtualBuffer.java @@ -31,8 +31,8 @@ * 虚拟ByteBuffer缓冲区 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class VirtualBuffer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/WriteBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/WriteBuffer.java index 2098bed829..0f1e3e6856 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/WriteBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/WriteBuffer.java @@ -34,8 +34,8 @@ * 包装当前会话分配到的虚拟Buffer,提供流式操作方式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class WriteBuffer extends OutputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/copier/ChannelCopier.java b/bus-core/src/main/java/org/aoju/bus/core/io/copier/ChannelCopier.java index a48f12c5ed..cd91cc8be1 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/copier/ChannelCopier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/copier/ChannelCopier.java @@ -41,8 +41,8 @@ * {@link ReadableByteChannel} 向 {@link WritableByteChannel} 拷贝 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ChannelCopier extends IoCopier { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/copier/IoCopier.java b/bus-core/src/main/java/org/aoju/bus/core/io/copier/IoCopier.java index 658c60bf53..d91ee05501 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/copier/IoCopier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/copier/IoCopier.java @@ -35,8 +35,8 @@ * @param 拷贝源类型,如InputStream、Reader等 * @param 拷贝目标类型,如OutputStream、Writer等 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class IoCopier { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/copier/ReaderWriterCopier.java b/bus-core/src/main/java/org/aoju/bus/core/io/copier/ReaderWriterCopier.java index aa8cff4eac..4d2a4433d4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/copier/ReaderWriterCopier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/copier/ReaderWriterCopier.java @@ -36,8 +36,8 @@ * {@link Reader} 向 {@link Writer} 拷贝 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReaderWriterCopier extends IoCopier { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/copier/StreamCopier.java b/bus-core/src/main/java/org/aoju/bus/core/io/copier/StreamCopier.java index 9b426785dc..40bd236a25 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/copier/StreamCopier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/copier/StreamCopier.java @@ -38,8 +38,8 @@ * {@link InputStream} 向 {@link OutputStream} 拷贝 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StreamCopier extends IoCopier { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/copier/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/io/copier/package-info.java index 67aaf23eed..2780298df7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/copier/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/copier/package-info.java @@ -2,7 +2,7 @@ * IO流拷贝相关封装相关封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.io.copier; diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileAppender.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileAppender.java index 214e7dc40d..5611dee93f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileAppender.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileAppender.java @@ -26,12 +26,15 @@ package org.aoju.bus.core.io.file; import org.aoju.bus.core.lang.Charset; +import org.aoju.bus.core.toolkit.ObjectKit; +import org.aoju.bus.core.toolkit.ThreadKit; import java.io.File; import java.io.PrintWriter; import java.io.Serializable; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.locks.Lock; /** * 文件追加器 @@ -40,11 +43,13 @@ * 在调用append方法后会缓存于内存,只有超过容量后才会一次性写入文件,因此内存中随时有剩余未写入文件的内容,在最后必须调用flush方法将剩余内容刷入文件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileAppender implements Serializable { + private static final long serialVersionUID = 1L; + private final FileWriter writer; /** * 内存中持有的字符串数 @@ -54,7 +59,14 @@ public class FileAppender implements Serializable { * 追加内容是否为新行 */ private final boolean isNewLineMode; - private final List list = new ArrayList<>(100); + /** + * 数据行缓存 + */ + private final List list; + /** + * 写出锁,用于保护写出线程安全 + */ + private final Lock lock; /** * 构造 @@ -76,9 +88,24 @@ public FileAppender(File destFile, int capacity, boolean isNewLineMode) { * @param isNewLineMode 追加内容是否为新行 */ public FileAppender(File destFile, java.nio.charset.Charset charset, int capacity, boolean isNewLineMode) { + this(destFile, charset, capacity, isNewLineMode, null); + } + + /** + * 构造 + * + * @param destFile 目标文件 + * @param charset 编码 + * @param capacity 当行数积累多少条时刷入到文件 + * @param isNewLineMode 追加内容是否为新行 + * @param lock 是否加锁,添加则使用给定锁保护写出,保证线程安全,{@code null}则表示无锁 + */ + public FileAppender(File destFile, java.nio.charset.Charset charset, int capacity, boolean isNewLineMode, Lock lock) { this.capacity = capacity; + this.list = new ArrayList<>(capacity); this.isNewLineMode = isNewLineMode; this.writer = FileWriter.create(destFile, charset); + this.lock = ObjectKit.defaultIfNull(lock, ThreadKit::getNoLock); } /** @@ -91,7 +118,13 @@ public FileAppender append(String line) { if (list.size() >= capacity) { flush(); } - list.add(line); + + this.lock.lock(); + try { + list.add(line); + } finally { + this.lock.unlock(); + } return this; } @@ -101,15 +134,20 @@ public FileAppender append(String line) { * @return this */ public FileAppender flush() { - try (PrintWriter pw = writer.getPrintWriter(true)) { - for (String text : list) { - pw.print(text); - if (isNewLineMode) { - pw.println(); + this.lock.lock(); + try { + try (PrintWriter pw = writer.getPrintWriter(true)) { + for (String str : list) { + pw.print(str); + if (isNewLineMode) { + pw.println(); + } } } + list.clear(); + } finally { + this.lock.unlock(); } - list.clear(); return this; } diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileCopier.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileCopier.java index c6efaf5f84..17512304f6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileCopier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileCopier.java @@ -49,8 +49,8 @@ * 4、目录下的文件和目录复制到另一个目录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileCopier extends Duplicate { @@ -279,24 +279,24 @@ private void internalCopyDirContent(File src, File dest) throws InstrumentExcept */ private void internalCopyFile(File src, File dest) throws InstrumentException { if (null != copyFilter && false == copyFilter.accept(src)) { - //被过滤的文件跳过 + // 被过滤的文件跳过 return; } // 如果已经存在目标文件,切为不覆盖模式,跳过之 if (dest.exists()) { if (dest.isDirectory()) { - //目标为目录,目录下创建同名文件 + // 目标为目录,目录下创建同名文件 dest = new File(dest, src.getName()); } if (dest.exists() && false == isOverride) { - //非覆盖模式跳过 + // 非覆盖模式跳过 return; } } else { - //路径不存在则创建父目录 - dest.getParentFile().mkdirs(); + // 路径不存在则创建父目录 + FileKit.mkParentDirs(dest); } final List optionList = new ArrayList<>(2); diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileMode.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileMode.java index cbc343470f..fb8299a10a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileMode.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileMode.java @@ -29,8 +29,8 @@ * 文件读写模式,常用于RandomAccessFile * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum FileMode { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileReader.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileReader.java index 503adb7871..fa740d7f33 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileReader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileReader.java @@ -41,8 +41,8 @@ * 文件读取器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileReader extends FileWrapper { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWrapper.java index 779a467a98..217a93e7dd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWrapper.java @@ -34,8 +34,8 @@ * 文件包装器,扩展文件对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileWrapper { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWriter.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWriter.java index fcdf4a527a..83b8de4a5b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWriter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/FileWriter.java @@ -40,8 +40,8 @@ * 文件写入器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileWriter extends FileWrapper { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/LineReadWatcher.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/LineReadWatcher.java index 3212b531dd..639c214991 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/LineReadWatcher.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/LineReadWatcher.java @@ -40,8 +40,8 @@ * 行处理的Watcher实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LineReadWatcher extends SimpleWatcher implements Runnable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/LineSeparator.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/LineSeparator.java index 5ec80b809c..19491ae61e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/LineSeparator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/LineSeparator.java @@ -37,11 +37,11 @@ * * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see #MAC * @see #LINUX * @see #WINDOWS - * @since JDK 1.8+ + * @since Java 17+ */ public enum LineSeparator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/Tailer.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/Tailer.java index d227b8d5ec..52debc7a31 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/Tailer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/Tailer.java @@ -44,8 +44,8 @@ * 文件内容跟随器,实现类似Linux下"tail -f"命令功能 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Tailer implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/package-info.java index 2ca107bcf2..319c1ed3a7 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/package-info.java @@ -2,7 +2,7 @@ * 对文件读写的封装,包括文件拷贝、文件读取、文件写出、行处理等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.io.file; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/CopyVisitor.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/CopyVisitor.java index 242a4ed2af..8493c27ec1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/CopyVisitor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/CopyVisitor.java @@ -35,8 +35,8 @@ * 文件拷贝的FileVisitor实现,用于递归遍历拷贝目录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CopyVisitor extends SimpleFileVisitor { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/DeleteVisitor.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/DeleteVisitor.java index eff04f9ff4..6bfa1a9b0d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/DeleteVisitor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/DeleteVisitor.java @@ -36,8 +36,8 @@ * 删除操作的FileVisitor实现,用于递归遍历删除文件夹 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeleteVisitor extends SimpleFileVisitor { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/MoveVisitor.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/MoveVisitor.java index 0d1c92b850..a8b05c53f7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/MoveVisitor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/MoveVisitor.java @@ -36,8 +36,8 @@ * 此类在遍历源目录并移动过程中会自动创建目标目录中不存在的上级目录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MoveVisitor extends SimpleFileVisitor { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/package-info.java index 50a9b826b2..f73db10fbf 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/file/visitor/package-info.java @@ -2,7 +2,7 @@ * FileVisitor功能性实现,包括递归删除、拷贝等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.io.file.visitor; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/io/package-info.java index 70c5bf5f36..0c9f435c29 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/package-info.java @@ -2,7 +2,7 @@ * IO相关封装和工具类,包括Inputstream和OutputStream实现类和Buffer处理等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.io; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/BytesResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/BytesResource.java index f69b2a719f..5630e7ed3e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/BytesResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/BytesResource.java @@ -38,8 +38,8 @@ * 注意:此对象中getUrl方法始终返回null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BytesResource implements Resource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/CharSequenceResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/CharSequenceResource.java index dbebc65dca..dac161c2b0 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/CharSequenceResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/CharSequenceResource.java @@ -40,8 +40,8 @@ * {@link CharSequence}资源,字符串做为资源 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CharSequenceResource implements Resource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/ClassPathResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/ClassPathResource.java index 6c49180331..6158176be9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/ClassPathResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/ClassPathResource.java @@ -36,8 +36,8 @@ * 传入的path所指向的资源必须存在,否则报错 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ClassPathResource extends UriResource { @@ -82,7 +82,7 @@ public ClassPathResource(String path, Class clazz) { * @param clazz {@link Class} 用于定位路径 */ public ClassPathResource(String pathBaseClassLoader, ClassLoader classLoader, Class clazz) { - super(null); + super(); Assert.notNull(pathBaseClassLoader, "Path must not be null"); final String path = normalizePath(pathBaseClassLoader); diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileObjectResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileObjectResource.java index 7147eccc5e..f8797024dd 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileObjectResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileObjectResource.java @@ -40,8 +40,8 @@ * {@link FileObject} 资源包装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileObjectResource implements Resource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileResource.java index 80dfac55f7..68a1337ec4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/FileResource.java @@ -32,6 +32,7 @@ import java.io.File; import java.io.InputStream; +import java.io.Serializable; import java.net.URL; import java.nio.file.Path; @@ -39,13 +40,16 @@ * 文件资源访问对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class FileResource implements Resource { +public class FileResource implements Resource, Serializable { + + private static final long serialVersionUID = 1L; private final File file; private final String name; + private final long lastModified; /** * 构造,文件名使用文件本身的名字,带扩展名 @@ -75,6 +79,7 @@ public FileResource(File file, String fileName) { Assert.notNull(file, "File must be not null !"); this.file = file; this.name = ObjectKit.defaultIfNull(fileName, file::getName); + this.lastModified = file.lastModified(); } /** @@ -101,13 +106,9 @@ public InputStream getStream() { return FileKit.getInputStream(this.file); } - /** - * 获取文件 - * - * @return 文件 - */ - public File getFile() { - return this.file; + @Override + public boolean isModified() { + return this.lastModified != file.lastModified(); } /** @@ -120,4 +121,13 @@ public String toString() { return this.file.toString(); } + /** + * 获取文件 + * + * @return 文件 + */ + public File getFile() { + return this.file; + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/InputStreamResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/InputStreamResource.java index f18cbf1f1d..cfc8b52fb7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/InputStreamResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/InputStreamResource.java @@ -33,8 +33,8 @@ * 注意:此对象中getUrl方法始终返回null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InputStreamResource implements Resource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiFileResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiFileResource.java index f51af4c109..475b58e928 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiFileResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiFileResource.java @@ -33,8 +33,8 @@ * 此资源为一个利用游标自循环资源,只有调用{@link #next()} 方法才会获取下一个资源,使用完毕后调用{@link #reset()}方法重置游标 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MultiFileResource extends MultiResource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiResource.java index f4ef22bce4..d2e0af10b7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/MultiResource.java @@ -42,8 +42,8 @@ * 此资源为一个利用游标自循环资源,只有调用{@link #next()} 方法才会获取下一个资源,使用完毕后调用{@link #reset()}方法重置游标 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MultiResource implements Resource, Iterable, Iterator { @@ -87,6 +87,11 @@ public InputStream getStream() { return resources.get(cursor).getStream(); } + @Override + public boolean isModified() { + return resources.get(cursor).isModified(); + } + @Override public BufferedReader getReader(Charset charset) { return resources.get(cursor).getReader(charset); diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/PropertySource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/PropertySource.java index 57f4639431..36fb60336d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/PropertySource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/PropertySource.java @@ -33,8 +33,8 @@ * 配置文件源 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface PropertySource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/Resource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/Resource.java index 3adc64bbe6..a1f32d20df 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/Resource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/Resource.java @@ -40,8 +40,8 @@ * 资源可以是文件、URL、ClassPath中的文件亦或者jar包中的文件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Resource { @@ -66,6 +66,16 @@ public interface Resource { */ InputStream getStream(); + /** + * 检查资源是否变更 + * 一般用于文件类资源,检查文件是否被修改过 + * + * @return 是否变更 + */ + default boolean isModified() { + return false; + } + /** * 获得Reader * diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/StringResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/StringResource.java index b89c5a28a9..35b213ad26 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/StringResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/StringResource.java @@ -31,8 +31,8 @@ * 字符串资源,字符串做为资源 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringResource extends CharSequenceResource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/UriResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/UriResource.java index f742eed9ba..ecf72cda16 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/UriResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/UriResource.java @@ -33,19 +33,28 @@ import java.io.File; import java.io.InputStream; +import java.net.URI; import java.net.URL; /** * URL资源访问类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UriResource implements Resource { protected URL url; protected String name; + private long lastModified = 0; + + /** + * 构造 + */ + public UriResource() { + + } /** * 构造 @@ -56,6 +65,15 @@ public UriResource(URL url) { this(url, null); } + /** + * 构造 + * + * @param uri URI + */ + public UriResource(URI uri) { + this(UriKit.url(uri), null); + } + /** * 构造 * @@ -65,6 +83,9 @@ public UriResource(URL url) { public UriResource(URL url, String name) { this.url = url; this.name = ObjectKit.defaultIfNull(name, () -> (null != url ? FileKit.getName(url.getPath()) : null)); + if (null != url && UriKit.isFileURL(url)) { + this.lastModified = FileKit.file(url).lastModified(); + } } @Override @@ -85,6 +106,11 @@ public InputStream getStream() { return UriKit.getStream(url); } + @Override + public boolean isModified() { + return (0 != this.lastModified) && this.lastModified != getFile().lastModified(); + } + /** * 获得File * diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/VfsResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/VfsResource.java new file mode 100644 index 0000000000..61f5a7f5d3 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/VfsResource.java @@ -0,0 +1,133 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.io.resource; + +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.toolkit.ClassKit; +import org.aoju.bus.core.toolkit.ReflectKit; + +import java.io.InputStream; +import java.lang.reflect.Method; +import java.net.URL; + +/** + * VFS资源封装 + * 参考:org.springframework.core.io.VfsUtils + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class VfsResource implements Resource { + + private static final String VFS3_PKG = "org.jboss.vfs."; + + private static final Method VIRTUAL_FILE_METHOD_EXISTS; + private static final Method VIRTUAL_FILE_METHOD_GET_INPUT_STREAM; + private static final Method VIRTUAL_FILE_METHOD_GET_SIZE; + private static final Method VIRTUAL_FILE_METHOD_GET_LAST_MODIFIED; + private static final Method VIRTUAL_FILE_METHOD_TO_URL; + private static final Method VIRTUAL_FILE_METHOD_GET_NAME; + + static { + Class virtualFile = ClassKit.loadClass(VFS3_PKG + "VirtualFile"); + try { + VIRTUAL_FILE_METHOD_EXISTS = virtualFile.getMethod("exists"); + VIRTUAL_FILE_METHOD_GET_INPUT_STREAM = virtualFile.getMethod("openStream"); + VIRTUAL_FILE_METHOD_GET_SIZE = virtualFile.getMethod("getSize"); + VIRTUAL_FILE_METHOD_GET_LAST_MODIFIED = virtualFile.getMethod("getLastModified"); + VIRTUAL_FILE_METHOD_TO_URL = virtualFile.getMethod("toURL"); + VIRTUAL_FILE_METHOD_GET_NAME = virtualFile.getMethod("getName"); + } catch (NoSuchMethodException ex) { + throw new IllegalStateException("Could not detect JBoss VFS infrastructure", ex); + } + } + + /** + * org.jboss.vfs.VirtualFile实例对象 + */ + private final Object virtualFile; + private final long lastModified; + + /** + * 构造 + * + * @param resource org.jboss.vfs.VirtualFile实例对象 + */ + public VfsResource(Object resource) { + Assert.notNull(resource, "VirtualFile must not be null"); + this.virtualFile = resource; + this.lastModified = getLastModified(); + } + + /** + * VFS文件是否存在 + * + * @return 文件是否存在 + */ + public boolean exists() { + return ReflectKit.invoke(virtualFile, VIRTUAL_FILE_METHOD_EXISTS); + } + + @Override + public String getName() { + return ReflectKit.invoke(virtualFile, VIRTUAL_FILE_METHOD_GET_NAME); + } + + @Override + public URL getUrl() { + return ReflectKit.invoke(virtualFile, VIRTUAL_FILE_METHOD_TO_URL); + } + + @Override + public InputStream getStream() { + return ReflectKit.invoke(virtualFile, VIRTUAL_FILE_METHOD_GET_INPUT_STREAM); + } + + @Override + public boolean isModified() { + return this.lastModified != getLastModified(); + } + + /** + * 获得VFS文件最后修改时间 + * + * @return 最后修改时间 + */ + public long getLastModified() { + return ReflectKit.invoke(virtualFile, VIRTUAL_FILE_METHOD_GET_LAST_MODIFIED); + } + + /** + * 获取VFS文件大小 + * + * @return VFS文件大小 + */ + public long size() { + return ReflectKit.invoke(virtualFile, VIRTUAL_FILE_METHOD_GET_SIZE); + } + +} \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/WebAppResource.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/WebAppResource.java index e51a27abe7..a1e4017554 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/WebAppResource.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/WebAppResource.java @@ -33,8 +33,8 @@ * Web root资源访问对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WebAppResource extends FileResource { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/resource/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/io/resource/package-info.java index f2532ef1b0..9213797fec 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/resource/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/resource/package-info.java @@ -2,7 +2,7 @@ * 针对ClassPath和文件中资源读取的封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.io.resource; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMInputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMInputStream.java index 375666346d..adc39d6e64 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMInputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMInputStream.java @@ -50,8 +50,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BOMInputStream extends InputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMReader.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMReader.java index 2a7b823eaf..5fc8916b90 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMReader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/BOMReader.java @@ -22,8 +22,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BOMReader extends Reader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/ByteArrayOutputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/ByteArrayOutputStream.java index 686dbadd36..c3fcf29e98 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/ByteArrayOutputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/ByteArrayOutputStream.java @@ -40,8 +40,8 @@ * 避免重新分配内存块而是分配新增的缓冲区,缓冲区不会被GC,数据也不会被拷贝到其他缓冲区 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ByteArrayOutputStream extends OutputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/NullOutputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/NullOutputStream.java index d5cfc5f143..dbf3cbe7a7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/NullOutputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/NullOutputStream.java @@ -33,8 +33,8 @@ * 来自 Apache Commons io * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullOutputStream extends OutputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueInputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueInputStream.java index 7d7c273776..dafa94f8b1 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueInputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueInputStream.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QueueInputStream extends InputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueReader.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueReader.java index 289144cd77..6c1ec80030 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueReader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/QueueReader.java @@ -35,8 +35,8 @@ * 队列InputStream * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QueueReader extends Reader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileInputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileInputStream.java index 7fcd4cf044..2bf7a09942 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileInputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileInputStream.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RandomFileInputStream extends InputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileOutputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileOutputStream.java index 2ce003d131..6063912900 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileOutputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/RandomFileOutputStream.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RandomFileOutputStream extends OutputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StreamBuffer.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StreamBuffer.java index 5dd5136358..2ba9feee70 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StreamBuffer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StreamBuffer.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StreamBuffer extends InputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringInputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringInputStream.java index 16fbe106f9..3880d89501 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringInputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringInputStream.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringInputStream extends ByteArrayInputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringOutputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringOutputStream.java index e7f4803c75..b345b4f489 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringOutputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringOutputStream.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringOutputStream extends OutputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringReader.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringReader.java index 1fd3955661..a4f8a77033 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringReader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringReader.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringReader extends Reader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringWriter.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringWriter.java index c6de2ff5f2..530a4bda62 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringWriter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/StringWriter.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringWriter extends Writer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidInputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidInputStream.java index 559c350e68..88394ba880 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidInputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidInputStream.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class VoidInputStream extends InputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidOutputStream.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidOutputStream.java index 21df85e647..dfc326c763 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidOutputStream.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/VoidOutputStream.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class VoidOutputStream extends OutputStream { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/streams/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/io/streams/package-info.java index 4787887310..107d0f5203 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/streams/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/streams/package-info.java @@ -2,7 +2,7 @@ * Java8的stream相关封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.io.streams; diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/DelayWatcher.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/DelayWatcher.java index 873a9bea8f..a75d7eaca8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/DelayWatcher.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/DelayWatcher.java @@ -42,8 +42,8 @@ * 此类通过维护一个Set将短时间内相同文件多次modify的事件合并处理触发,从而避免以上问题 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DelayWatcher implements Watcher { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/IgnoreWatcher.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/IgnoreWatcher.java index 87139f002d..1258c662d7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/IgnoreWatcher.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/IgnoreWatcher.java @@ -33,8 +33,8 @@ * 用户继承此类后实现需要监听的方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IgnoreWatcher implements Watcher { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/SimpleWatcher.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/SimpleWatcher.java index 791b931692..716d327aee 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/SimpleWatcher.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/SimpleWatcher.java @@ -30,8 +30,8 @@ * 用户继承此类后实现需要监听的方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleWatcher extends IgnoreWatcher { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchMonitor.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchMonitor.java index 170d929f15..1da6b1daae 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchMonitor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchMonitor.java @@ -45,8 +45,8 @@ * 递归监听目录时,并不会监听新创建的目录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WatchMonitor extends WatchServer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchServer.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchServer.java index 0932832fe9..079c3bc787 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchServer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatchServer.java @@ -42,8 +42,8 @@ * 文件监听服务,此服务可以同时监听多个路径 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WatchServer extends Thread implements Closeable, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/Watcher.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/Watcher.java index a4d770c6a2..0d699fa49c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/Watcher.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/Watcher.java @@ -32,8 +32,8 @@ * 观察者(监视器) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Watcher { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatcherChain.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatcherChain.java index 87d69278c3..7e99bc5f44 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatcherChain.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/WatcherChain.java @@ -38,8 +38,8 @@ * 用于加入多个观察者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WatcherChain implements Watcher, Chain { diff --git a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/package-info.java index 673ec98d45..d45db109cd 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/io/watchers/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/io/watchers/package-info.java @@ -2,7 +2,7 @@ * 基于JDK7+ WatchService的文件和目录监听封装,支持多级目录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.io.watchers; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/HashID.java b/bus-core/src/main/java/org/aoju/bus/core/key/HashID.java index 2b224fef7d..dc9eda5649 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/key/HashID.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/HashID.java @@ -40,8 +40,8 @@ * 数据库id,将它们用作忘记密码散列、邀请码、存储碎片号 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HashID { diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/ID.java b/bus-core/src/main/java/org/aoju/bus/core/key/ID.java index 7cc9e65c9c..b3cbc0a68f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/key/ID.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/ID.java @@ -39,8 +39,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ID { diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/LongID.java b/bus-core/src/main/java/org/aoju/bus/core/key/LongID.java index 1d078039c4..8044982db0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/key/LongID.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/LongID.java @@ -49,8 +49,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LongID { diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/NanoId.java b/bus-core/src/main/java/org/aoju/bus/core/key/NanoId.java index b5236f4a1e..92730f4a9c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/key/NanoId.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/NanoId.java @@ -45,8 +45,8 @@ * * @author David Klebanoff * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NanoId { diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/ObjectID.java b/bus-core/src/main/java/org/aoju/bus/core/key/ObjectID.java index 4e6dc2ba9b..da19f3ede5 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/key/ObjectID.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/ObjectID.java @@ -42,8 +42,8 @@ * 由12个字节组成,分割如下: * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ObjectID implements Comparable, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/Snowflake.java b/bus-core/src/main/java/org/aoju/bus/core/key/Snowflake.java index c87cac221b..f9f499c659 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/key/Snowflake.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/Snowflake.java @@ -48,8 +48,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Snowflake implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/UUID.java b/bus-core/src/main/java/org/aoju/bus/core/key/UUID.java index 986b7833fa..04fd6c34a9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/key/UUID.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/UUID.java @@ -62,8 +62,8 @@ * 这些类型的 version 值分别为 1、2、3 和 4 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UUID implements java.io.Serializable, Comparable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/key/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/key/package-info.java index cbbd86f2dc..e7e2ad0f1f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/key/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/key/package-info.java @@ -2,7 +2,7 @@ * 提供各种ID支持,ObjectID、UUID、Snowflake等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.key; diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Algorithm.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Algorithm.java index 9590591747..6d8832a80a 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Algorithm.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Algorithm.java @@ -29,8 +29,8 @@ * 加解密算法类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Algorithm { @@ -56,7 +56,9 @@ public enum Algorithm { * RSA算法,此算法用了RSA/None/NoPadding */ EC("EC"), - + /** + * ECDSA + */ ECDSA("ECDSA"), /***************************** 非对称-签名算法 *****************************/ @@ -69,14 +71,26 @@ public enum Algorithm { * MD2/MD5带有RSA加密签名算法 */ MD2WITHRSA("MD2withRSA"), + /** + * MD5withRSA + */ MD5withRSA("MD5withRSA"), /** * 使用SHA-*和RSA的签名算法 */ SHA1WITHRSA("SHA1withRSA"), + /** + * SHA256withRSA + */ SHA256WITHRSA("SHA256withRSA"), + /** + * SHA384withRSA + */ SHA384WITHRSA("SHA384withRSA"), + /** + * SHA512withRSA + */ SHA512WITHRSA("SHA512withRSA"), /** @@ -87,39 +101,92 @@ public enum Algorithm { * 采用SHA-1签名算法的DSA */ SHA1WITHDSA("SHA1withDSA"), - /** * ECDSA签名算法 */ NONEWITHECDSA("NONEwithECDSA"), + /** + * SHA1withECDSA + */ SHA1WITHECDSA("SHA1withECDSA"), + /** + * SHA256withECDSA + */ SHA256WITHECDSA("SHA256withECDSA"), + /** + * SHA384withECDSA + */ SHA384WITHECDSA("SHA384withECDSA"), + /** + * SHA512withECDSA + */ SHA512WITHECDSA("SHA512withECDSA"), /** - * 需要BC库加入支持 + * SHA256WithRSA/PSS */ SHA256WITHRSA_PSS("SHA256WithRSA/PSS"), + /** + * SHA384WithRSA/PSS + */ SHA384WITHRSA_PSS("SHA384WithRSA/PSS"), + /** + * SHA512WithRSA/PSS + */ SHA512WITHRSA_PSS("SHA512WithRSA/PSS"), /****************************** 摘要-算法类型 *****************************/ + /** + * MD2 + */ MD2("MD2"), + /** + * MD5 + */ MD5("MD5"), + /** + * SHA-1 + */ SHA1("SHA-1"), + /** + * SHA-256 + */ SHA256("SHA-256"), + /** + * SHA-384 + */ SHA384("SHA-384"), + /** + * SHA-512 + */ SHA512("SHA-512"), + /** + * SHA1PRNG + */ SHA1PRNG("SHA1PRNG"), /***************************** 摘要-HMAC算法 *****************************/ + /** + * HmacMD5 + */ HMACMD5("HmacMD5"), + /** + * HmacSHA1 + */ HMACSHA1("HmacSHA1"), + /** + * HmacSHA256 + */ HMACSHA256("HmacSHA256"), + /** + * HmacSHA384 + */ HMACSHA384("HmacSHA384"), + /** + * HmacSHA512 + */ HMACSHA512("HmacSHA512"), /** * HmacSM3算法实现,需要BouncyCastle库支持 @@ -132,7 +199,13 @@ public enum Algorithm { * 默认的AES加密方式:AES/ECB/PKCS5Padding */ AES("AES"), + /** + * ARCFOUR + */ ARCFOUR("ARCFOUR"), + /** + * Blowfish + */ BLOWFISH("Blowfish"), /** * 默认的DES加密方式:DES/ECB/PKCS5Padding @@ -152,8 +225,17 @@ public enum Algorithm { */ RC4("RC4"), + /** + * PBEWithMD5AndDES + */ PBEWITHMD5ANDDES("PBEWithMD5AndDES"), + /** + * PBEWithSHA1AndDESede + */ PBEWITHSHA1ANDDESEDE("PBEWithSHA1AndDESede"), + /** + * PBEWithSHA1AndRC2_40 + */ PBEWITHSHA1ANDRC2_40("PBEWithSHA1AndRC2_40"), /******************************* 国密算法 *******************************/ diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Align.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Align.java index 7dea149cef..78fb73babd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Align.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Align.java @@ -29,8 +29,8 @@ * 对齐方式枚举 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Align { /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java index 48e54951cb..b9a24780b6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Ansi.java @@ -42,8 +42,8 @@ * 注意:同时出现多种组合FG颜色或BG颜色,只有最后一个会显示 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Ansi { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java index d8dfc9fd91..06516e9292 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Assert.java @@ -28,6 +28,7 @@ import org.aoju.bus.core.lang.function.Func0; import org.aoju.bus.core.toolkit.ArrayKit; import org.aoju.bus.core.toolkit.CollKit; +import org.aoju.bus.core.toolkit.ObjectKit; import org.aoju.bus.core.toolkit.StringKit; import java.util.Collection; @@ -39,8 +40,8 @@ * 断言某些对象或值是否符合规定,否则抛出异常 经常用于做变量检查 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Assert { @@ -234,7 +235,7 @@ public static void isNull(Object object) throws NullPointerException { * @throws X if the object is {@code null} */ public static T notNull(T object, Supplier errorSupplier) throws X { - if (null == object) { + if (ObjectKit.isNull(object)) { throw errorSupplier.get(); } return object; diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java index b4e000f1a9..0b42bdc9ef 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Chain.java @@ -31,8 +31,8 @@ * @param 元素类型 * @param 目标类类型,用于返回this对象 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Chain extends Iterable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Charset.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Charset.java index 2d6fb6768d..bfea6a0fdc 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Charset.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Charset.java @@ -37,8 +37,8 @@ * 编码常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Charset { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java index 891d0447e3..e0157bbecf 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Console.java @@ -40,8 +40,8 @@ * 此类主要针对{@link java.lang.System#out} 和 {@link java.lang.System#err} 做封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Console { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java index 4808847666..fee3ab9e83 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Dict.java @@ -28,9 +28,11 @@ import org.aoju.bus.core.beans.PathExpression; import org.aoju.bus.core.convert.Convert; import org.aoju.bus.core.getter.BasicType; +import org.aoju.bus.core.lang.function.Func0; import org.aoju.bus.core.lang.tuple.Pair; import org.aoju.bus.core.toolkit.BeanKit; import org.aoju.bus.core.toolkit.CollKit; +import org.aoju.bus.core.toolkit.LambdaKit; import java.math.BigDecimal; import java.math.BigInteger; @@ -42,8 +44,8 @@ * 字典对象,扩充了HashMap中的方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Dict extends LinkedHashMap implements BasicType { @@ -564,4 +566,20 @@ private String customKey(String key) { return key; } + /** + * 通过lambda批量设置值 + * 实际使用时,可以使用getXXX的方法引用来完成键值对的赋值: + *
+     *     User user = GenericBuilder.of(User::new).with(User::setUsername, "bus").build();
+     *     Dict.create().setFields(user::getNickname, user::getUsername);
+     * 
+ * + * @param fields lambda,不能为空 + * @return this + */ + public Dict setFields(Func0... fields) { + Arrays.stream(fields).forEach(f -> set(LambdaKit.getFieldName(f), f.callWithRuntimeException())); + return this; + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java index 0aa68e1028..ef2949a590 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Editor.java @@ -36,8 +36,8 @@ * * @param 被编辑对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Editor { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Fields.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Fields.java index 09596ead6a..7c4077ce8c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Fields.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Fields.java @@ -38,8 +38,8 @@ * 日期场景属性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Fields { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/FileType.java b/bus-core/src/main/java/org/aoju/bus/core/lang/FileType.java index 3eec7a0c0f..f43bbdb0ce 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/FileType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/FileType.java @@ -41,8 +41,8 @@ * 文件类型(扩展名) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Filter.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Filter.java index 6a83484a8b..bd5000a4ec 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Filter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Filter.java @@ -29,8 +29,8 @@ * 过滤器接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Filter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Fonts.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Fonts.java index fd86654fd1..af92d3c366 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Fonts.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Fonts.java @@ -11,8 +11,8 @@ * AWT中字体相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Fonts { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Graphics.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Graphics.java index 6ce4024f8a..882896fa16 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Graphics.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Graphics.java @@ -35,8 +35,8 @@ * {@link java.awt.Graphics}相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Graphics { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Header.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Header.java index f627d93373..ac3a5718f7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Header.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Header.java @@ -29,8 +29,8 @@ * Header 常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Header { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java index 14f41ba4f7..1bc8e47669 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Holder.java @@ -32,8 +32,8 @@ * * @param 所持有值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Holder extends MutableObject { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Http.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Http.java index e787e0bea9..ed8ec9babb 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Http.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Http.java @@ -31,8 +31,8 @@ * HTTP 相关常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Http { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Job.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Job.java index ee404d2f35..ead41c4ca7 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Job.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Job.java @@ -34,8 +34,8 @@ * 任务类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Job implements Runnable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Locale.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Locale.java index 695857464c..6ff93e773b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Locale.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Locale.java @@ -29,8 +29,8 @@ * 翻译语言枚举 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Locale { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Matcher.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Matcher.java index 37688ee856..52ccf250a8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Matcher.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Matcher.java @@ -30,8 +30,8 @@ * * @param 匹配的对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Matcher { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/MediaType.java b/bus-core/src/main/java/org/aoju/bus/core/lang/MediaType.java index ca1b6181fe..d28be6d09e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/MediaType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/MediaType.java @@ -38,8 +38,8 @@ * HTTP 媒体类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MediaType { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java index aa1509c955..ff519b97dc 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Murmur.java @@ -33,8 +33,8 @@ * Murmur3 32bit、64bit、128bit 哈希算法实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Murmur implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Normal.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Normal.java index bc1c80dc8f..850c2c251c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Normal.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Normal.java @@ -34,8 +34,8 @@ * 默认常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Normal { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Optional.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Optional.java index c66a1ecdb9..2827e0011f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Optional.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Optional.java @@ -5,7 +5,7 @@ import org.aoju.bus.core.toolkit.CollKit; import org.aoju.bus.core.toolkit.StringKit; -import java.util.List; +import java.util.Collection; import java.util.NoSuchElementException; import java.util.Objects; import java.util.function.Consumer; @@ -19,9 +19,9 @@ * * @param 包裹里元素的类型 * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see java.util.Optional - * @since JDK 1.8+ + * @since Java 17+ */ public class Optional { @@ -98,7 +98,7 @@ public static Optional ofBlankAble(T value) { * @param 包裹里元素的类型 * @return 一个包裹里元素可能为空的 {@code Optional} */ - public static Optional> ofEmptyAble(List value) { + public static > Optional ofEmptyAble(R value) { return CollKit.isEmpty(value) ? empty() : new Optional<>(value); } @@ -138,7 +138,6 @@ public T get() { * 判断包裹里元素的值是否不存在,不存在为 {@code true},否则为{@code false} * * @return 包裹里元素的值不存在 则为 {@code true},否则为{@code false} - * @since 11 这是jdk11{@link java.util.Optional}中的新函数 */ public boolean isEmpty() { return value == null; diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Range.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Range.java index a2bcb036c9..14d2908e56 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Range.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Range.java @@ -45,8 +45,8 @@ * * @param 生成范围对象的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Range implements Iterable, Iterator, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/RegEx.java b/bus-core/src/main/java/org/aoju/bus/core/lang/RegEx.java index 5e71f493a8..494b1d0e67 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/RegEx.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/RegEx.java @@ -34,8 +34,8 @@ * 正则表达式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RegEx { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java index cf121a631d..ac8c8ab419 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Replacer.java @@ -31,8 +31,8 @@ * * @param 被替换操作的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Replacer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Scale.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Scale.java index 8586166bda..6a117fa327 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Scale.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Scale.java @@ -31,8 +31,8 @@ * 缩放常量信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Scale { @@ -62,8 +62,8 @@ public enum Mode { * 图片缩略类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Type { /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java index d191216480..fc6a10921c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Scaner.java @@ -43,8 +43,8 @@ * 类扫描器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Scaner { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java b/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java index 008a36080c..d2254a3618 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/SimpleCache.java @@ -43,8 +43,8 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleCache implements Iterable>, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Symbol.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Symbol.java index 396113726d..3ac64c6cfb 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Symbol.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Symbol.java @@ -29,8 +29,8 @@ * 标点符号常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Symbol { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/System.java b/bus-core/src/main/java/org/aoju/bus/core/lang/System.java index 797c20945a..fc09b760de 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/System.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/System.java @@ -34,8 +34,8 @@ * 系统常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class System { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Typed.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Typed.java index eed2d7500e..e19617562c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Typed.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Typed.java @@ -36,8 +36,8 @@ * {@link ParameterizedType} 接口实现,用于重新定义泛型类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Typed implements ParameterizedType, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Types.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Types.java index 0b7218ca19..c854501315 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Types.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Types.java @@ -39,8 +39,8 @@ * * @param 需要自定义的参考类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Types implements Type { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java index 90bf36a91a..16f2ae309e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Validator.java @@ -36,8 +36,8 @@ * 字段验证器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Validator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java b/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java index 2fc46360e7..bbd664b94e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/Weighing.java @@ -47,8 +47,8 @@ * * @param 权重随机获取的对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Weighing implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/ZoneId.java b/bus-core/src/main/java/org/aoju/bus/core/lang/ZoneId.java index 534ef632ad..65ca22bf00 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/ZoneId.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/ZoneId.java @@ -29,8 +29,8 @@ * 时区计算 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum ZoneId { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java index 70af4b47e3..b0abebf9e0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/Caller.java @@ -32,8 +32,8 @@ * 可以通过此接口的实现类方法获取调用者、多级调用者以及判断是否被调用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Caller { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/SecurityCaller.java b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/SecurityCaller.java index 74717b47f8..e7bac1c3fe 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/SecurityCaller.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/SecurityCaller.java @@ -31,8 +31,8 @@ * 方式获取调用者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SecurityCaller extends SecurityManager implements Caller { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java index 451c0e6959..b0a4f41ba4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/StackTraceCaller.java @@ -31,8 +31,8 @@ * 通过StackTrace方式获取调用者 此方式效率最低,不推荐使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StackTraceCaller implements Caller { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/package-info.java index 10eddd248f..d5f4b1abbf 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/caller/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/caller/package-info.java @@ -2,7 +2,7 @@ * 调用者接口及实现。可以通过此类的方法获取调用者、多级调用者以及判断是否被调用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.caller; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Copier.java b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Copier.java index b5ad0b63a2..abd0ce31c9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Copier.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Copier.java @@ -30,8 +30,8 @@ * * @param 拷贝目标类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Copier { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java index a42da1c958..5e3cb802e2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/Duplicate.java @@ -34,8 +34,8 @@ * @param 拷贝的对象 * @param 本类的类型 用于set方法返回本对象,方便流式编程 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Duplicate> implements Copier { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/package-info.java index 71b2368826..9fcc31031c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/copier/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/copier/package-info.java @@ -2,7 +2,7 @@ * 拷贝抽象实现,通过抽象拷贝,可以实现文件、流、Buffer之间的拷贝实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.copier; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/AuthorizedException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/AuthorizedException.java index 5c731f953f..b88aa13183 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/AuthorizedException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/AuthorizedException.java @@ -29,33 +29,64 @@ * 自定义异常: 认证异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AuthorizedException extends UncheckedException { private static final long serialVersionUID = 1L; + /** + * 构造 + */ public AuthorizedException() { super(); } + /** + * 构造 + * + * @param message 消息 + */ public AuthorizedException(String message) { super(message); } + /** + * 构造 + * + * @param format 格式 + * @param args 参数 + */ public AuthorizedException(String format, Object... args) { super(format, args); } + /** + * 构造 + * + * @param message 消息 + * @param cause 异常 + */ public AuthorizedException(String message, Throwable cause) { super(message, cause); } + /** + * 构造 + * + * @param cause 异常 + */ public AuthorizedException(Throwable cause) { super(cause); } + /** + * 构造 + * + * @param errcode 错误码 + * @param errmsg 消息 + */ public AuthorizedException(String errcode, String errmsg) { super(errcode, errmsg); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/BusinessException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/BusinessException.java index c3fb74bd52..50dd6264d9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/BusinessException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/BusinessException.java @@ -29,8 +29,8 @@ * 自定义异常: 业务异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BusinessException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ConvertException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ConvertException.java index 70beef0c4a..6f7882e15e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ConvertException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ConvertException.java @@ -31,8 +31,8 @@ * 转换异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConvertException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CrontabException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CrontabException.java index d226582bc2..21147fe6ab 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CrontabException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CrontabException.java @@ -29,8 +29,8 @@ * 自定义异常: 定时任务执行异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CrontabException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CryptoException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CryptoException.java index 1c1f5a850d..c11244efd6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CryptoException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/CryptoException.java @@ -6,8 +6,8 @@ * 加解密异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CryptoException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/DisableException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/DisableException.java index 3e548dd266..c25ffdda38 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/DisableException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/DisableException.java @@ -29,8 +29,8 @@ * 自定义异常: 数据被禁用异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DisableException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ExistsException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ExistsException.java index d8792ff207..5942eaa385 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ExistsException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ExistsException.java @@ -29,8 +29,8 @@ * 自定义异常: 对象已存在异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExistsException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ForbiddenException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ForbiddenException.java index 2dffa2f39c..47f4b4798c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ForbiddenException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ForbiddenException.java @@ -29,8 +29,8 @@ * 自定义异常: 权限不足异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ForbiddenException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/HttpUncheckException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/HttpUncheckException.java index ed13aa394d..a6bb0492b2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/HttpUncheckException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/HttpUncheckException.java @@ -29,8 +29,8 @@ * HTTP请求异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HttpUncheckException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstanceException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstanceException.java index ed64058d03..46a5a89359 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstanceException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstanceException.java @@ -29,8 +29,8 @@ * 自定义异常: 实例化异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InstanceException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstrumentException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstrumentException.java index ec1d42ed33..198cd38969 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstrumentException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InstrumentException.java @@ -29,8 +29,8 @@ * 自定义异常: 内部处理异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InstrumentException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidClaimException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidClaimException.java index 3c50f8acda..288f7e7652 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidClaimException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidClaimException.java @@ -29,8 +29,8 @@ * 自定义异常: 无效的范围要求 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InvalidClaimException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidParamsException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidParamsException.java index 1b4c89ce82..7b04586bae 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidParamsException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/InvalidParamsException.java @@ -29,8 +29,8 @@ * 无效的参数异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InvalidParamsException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NoSuchException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NoSuchException.java index b7074638a3..1a00028599 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NoSuchException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NoSuchException.java @@ -29,8 +29,8 @@ * 自定义异常: 无法找到方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NoSuchException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotExistsException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotExistsException.java index 21f612d1ae..dc11d01acb 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotExistsException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotExistsException.java @@ -29,8 +29,8 @@ * 自定义异常: 对象不存在 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotExistsException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotFoundException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotFoundException.java index 5dd49599f9..d0ad257019 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotFoundException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotFoundException.java @@ -29,8 +29,8 @@ * 自定义异常: 资源不存在 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotFoundException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotInitedException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotInitedException.java index 848f2bfcf3..0e8fac1d48 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotInitedException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/NotInitedException.java @@ -29,8 +29,8 @@ * 自定义异常: 未初始化异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotInitedException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/PageException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/PageException.java index 7b95c9a288..1f19d6b75c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/PageException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/PageException.java @@ -29,8 +29,8 @@ * 分页插件异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageException extends RuntimeException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RelevantException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RelevantException.java index ab0eacae09..1c544328c0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RelevantException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RelevantException.java @@ -35,8 +35,8 @@ * 自定义异常: 未受检异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EqualsAndHashCode(callSuper = false) diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RevisedException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RevisedException.java index 55ad77ec7b..dbb6040108 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RevisedException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/RevisedException.java @@ -29,8 +29,8 @@ * 自定义异常: 无法找到方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RevisedException extends RelevantException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SignatureException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SignatureException.java index cd5c75d6ce..111c912f1c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SignatureException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SignatureException.java @@ -29,8 +29,8 @@ * 自定义异常: 签名异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SignatureException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SocketException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SocketException.java index d8c7991da6..e09afcc562 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SocketException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/SocketException.java @@ -29,8 +29,8 @@ * 自定义异常: Socket异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SocketException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/TokenExpiredException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/TokenExpiredException.java index 170545a031..5a7ec3b026 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/TokenExpiredException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/TokenExpiredException.java @@ -29,8 +29,8 @@ * 自定义异常: 令牌过期 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TokenExpiredException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java index eb8c1552a0..b15a047f45 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/UncheckedException.java @@ -35,8 +35,8 @@ * 自定义异常: 未受检异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ValidateException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ValidateException.java index 2cc40bb426..52d80f9a35 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ValidateException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/ValidateException.java @@ -29,8 +29,8 @@ * 自定义异常: 验证异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ValidateException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/VersionException.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/VersionException.java index 324e1cc944..720051059f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/VersionException.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/VersionException.java @@ -4,8 +4,8 @@ * 自定义异常: 版本异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class VersionException extends UncheckedException { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/package-info.java index 2dd335a3e4..4a36a04870 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/exception/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/exception/package-info.java @@ -2,7 +2,7 @@ * 异常处理相关封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.exception; \ No newline at end of file diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UserQueryType.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer1.java old mode 100755 new mode 100644 similarity index 83% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UserQueryType.java rename to bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer1.java index e3a17a3851..040b44bd1c --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UserQueryType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer1.java @@ -23,20 +23,23 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +package org.aoju.bus.core.lang.function; /** + * 参数Consumer + * + * @param 参数一类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "UserQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class UserQueryType extends PersonQueryType { +@FunctionalInterface +public interface Consumer1 { + /** + * 接收参数方法 + * + * @param p1 参数一 + */ + void accept(P1 p1); } - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ActionType.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer2.java old mode 100755 new mode 100644 similarity index 83% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ActionType.java rename to bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer2.java index 3e685df29d..2843e82040 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ActionType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer2.java @@ -23,21 +23,25 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlSeeAlso; -import javax.xml.bind.annotation.XmlType; +package org.aoju.bus.core.lang.function; /** + * 参数Consumer + * + * @param 参数一类型 + * @param 参数二类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ActionType") -@XmlSeeAlso({NotifyActionType.class}) -public abstract class ActionType { +@FunctionalInterface +public interface Consumer2 { + /** + * 接收参数方法 + * + * @param p1 参数一 + * @param p2 参数二 + */ + void accept(P1 p1, P2 p2); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer3.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer3.java new file mode 100644 index 0000000000..721d833875 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Consumer3.java @@ -0,0 +1,49 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.lang.function; + +/** + * 参数Consumer + * + * @param 参数一类型 + * @param 参数二类型 + * @param 参数三类型 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +@FunctionalInterface +public interface Consumer3 { + + /** + * 接收参数方法 + * + * @param p1 参数一 + * @param p2 参数二 + * @param p3 参数三 + */ + void accept(P1 p1, P2 p2, P3 p3); +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Fn.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Fn.java index 7c6cfc08db..5d643e5a5e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Fn.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Fn.java @@ -1,3 +1,28 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ package org.aoju.bus.core.lang.function; import java.io.Serializable; @@ -12,8 +37,8 @@ * @param 参数类型 * @param 返回值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Fn extends Function, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func.java index cd77f88141..213435d516 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func.java @@ -34,8 +34,8 @@ * 此接口用于将一个函数包装成为一个对象,从而传递对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Func extends Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func0.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func0.java index 529cf66569..b797af1cb6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func0.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func0.java @@ -1,3 +1,28 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ package org.aoju.bus.core.lang.function; import java.io.Serializable; @@ -10,8 +35,8 @@ * * @param 返回值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Func0 extends Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func1.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func1.java index 43a190c96e..b2fe74a65f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func1.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Func1.java @@ -1,3 +1,28 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ package org.aoju.bus.core.lang.function; import java.io.Serializable; @@ -11,8 +36,8 @@ * @param

参数类型 * @param 返回值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Func1 extends Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier1.java similarity index 77% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringBuilder.java rename to bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier1.java index 522276044c..0273559167 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier1.java @@ -23,21 +23,38 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.lang.function; + +import java.util.function.Supplier; /** + * 参数Supplier + * + * @param 目标 类型 + * @param 参数一 类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class InternationalStringBuilder { +@FunctionalInterface +public interface Supplier1 { + + /** + * 生成实例的方法 + * + * @param p1 参数一 + * @return 目标对象 + */ + T get(P1 p1); - public static InternationalStringType build(String value) { - InternationalStringType result = new InternationalStringType(); - LocalizedStringType localizedStringType = new LocalizedStringType(); - localizedStringType.setValue(value); - result.getLocalizedString().add(localizedStringType); - return result; + /** + * 将带有参数的Supplier转换为无参{@link Supplier} + * + * @param p1 参数1 + * @return {@link Supplier} + */ + default Supplier toSupplier(P1 p1) { + return () -> get(p1); } } diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/BooleanFilterType.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier2.java similarity index 74% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/BooleanFilterType.java rename to bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier2.java index 5eae62255e..bc8e1574c1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/BooleanFilterType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier2.java @@ -23,32 +23,41 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.lang.function; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import java.util.function.Supplier; /** + * 两个参数的Supplier + * + * @param 目标 类型 + * @param 参数一 类型 + * @param 参数二 类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "BooleanFilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class BooleanFilterType extends SimpleFilterType { +@FunctionalInterface +public interface Supplier2 { - @XmlAttribute(name = "value", required = true) - protected boolean value; + /** + * 生成实例的方法 + * + * @param p1 参数一 + * @param p2 参数二 + * @return 目标对象 + */ + T get(P1 p1, P2 p2); - public boolean isValue() { - return this.value; - } - - - public void setValue(boolean value) { - this.value = value; + /** + * 将带有参数的Supplier转换为无参{@link Supplier} + * + * @param p1 参数1 + * @param p2 参数2 + * @return {@link Supplier} + */ + default Supplier toSupplier(P1 p1, P2 p2) { + return () -> get(p1, p2); } } diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DateTimeFilterType.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier3.java similarity index 72% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DateTimeFilterType.java rename to bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier3.java index b24a1c9d5e..aa14eee0bd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DateTimeFilterType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier3.java @@ -23,31 +23,44 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.lang.function; -import javax.xml.bind.annotation.*; -import javax.xml.datatype.XMLGregorianCalendar; +import java.util.function.Supplier; /** + * 3参数Supplier + * + * @param 目标类型 + * @param 参数一类型 + * @param 参数二类型 + * @param 参数三类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "DateTimeFilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class DateTimeFilterType extends SimpleFilterType { +@FunctionalInterface +public interface Supplier3 { - @XmlAttribute(name = "value", required = true) - @XmlSchemaType(name = "dateTime") - protected XMLGregorianCalendar value; + /** + * 生成实例的方法 + * + * @param p1 参数一 + * @param p2 参数二 + * @param p3 参数三 + * @return 目标对象 + */ + T get(P1 p1, P2 p2, P3 p3); - public XMLGregorianCalendar getValue() { - return this.value; - } - - public void setValue(XMLGregorianCalendar value) { - this.value = value; + /** + * 将带有参数的Supplier转换为无参{@link Supplier} + * + * @param p1 参数1 + * @param p2 参数2 + * @param p3 参数3 + * @return {@link Supplier} + */ + default Supplier toSupplier(P1 p1, P2 p2, P3 p3) { + return () -> get(p1, p2, p3); } } - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ApproveObjectsRequest.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier4.java similarity index 69% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ApproveObjectsRequest.java rename to bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier4.java index 50b9e7866d..b9e0334fcd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ApproveObjectsRequest.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier4.java @@ -23,39 +23,47 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.lang.function; -import javax.xml.bind.annotation.*; +import java.util.function.Supplier; /** + * 参数Supplier + * + * @param 目标 类型 + * @param 参数一 类型 + * @param 参数二 类型 + * @param 参数三 类型 + * @param 参数四 类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"adhocQuery", "objectRefList"}) -@XmlRootElement(name = "ApproveObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class ApproveObjectsRequest extends RegistryRequestType { +@FunctionalInterface +public interface Supplier4 { - @XmlElement(name = "AdhocQuery") - protected AdhocQueryType adhocQuery; - @XmlElement(name = "ObjectRefList") - protected ObjectRefListType objectRefList; + /** + * 生成实例的方法 + * + * @param p1 参数一 + * @param p2 参数二 + * @param p3 参数三 + * @param p4 参数四 + * @return 目标对象 + */ + T get(P1 p1, P2 p2, P3 p3, P4 p4); - public AdhocQueryType getAdhocQuery() { - return this.adhocQuery; - } - - public void setAdhocQuery(AdhocQueryType value) { - this.adhocQuery = value; - } - - public ObjectRefListType getObjectRefList() { - return this.objectRefList; - } - - public void setObjectRefList(ObjectRefListType value) { - this.objectRefList = value; + /** + * 将带有参数的Supplier转换为无参{@link Supplier} + * + * @param p1 参数1 + * @param p2 参数2 + * @param p3 参数3 + * @param p4 参数4 + * @return {@link Supplier} + */ + default Supplier toSupplier(P1 p1, P2 p2, P3 p3, P4 p4) { + return () -> get(p1, p2, p3, p4); } } diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AcceptObjectsRequest.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier5.java similarity index 67% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AcceptObjectsRequest.java rename to bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier5.java index 06bad89c76..7e5ccc91f5 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AcceptObjectsRequest.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/Supplier5.java @@ -23,30 +23,50 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.lang.function; -import javax.xml.bind.annotation.*; +import java.util.function.Supplier; /** + * 参数Supplier + * + * @param 目标 类型 + * @param 参数一 类型 + * @param 参数二 类型 + * @param 参数三 类型 + * @param 参数四 类型 + * @param 参数五 类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType -@XmlRootElement(name = "AcceptObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class AcceptObjectsRequest extends RegistryRequestType { +@FunctionalInterface +public interface Supplier5 { - @XmlAttribute(name = "correlationId", required = true) - @XmlSchemaType(name = "anyURI") - protected String correlationId; + /** + * 生成实例的方法 + * + * @param p1 参数一 + * @param p2 参数二 + * @param p3 参数三 + * @param p4 参数四 + * @param p5 参数五 + * @return 目标对象 + */ + T get(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5); - public String getCorrelationId() { - return this.correlationId; - } - - public void setCorrelationId(String value) { - this.correlationId = value; + /** + * 将带有参数的Supplier转换为无参{@link Supplier} + * + * @param p1 参数1 + * @param p2 参数2 + * @param p3 参数3 + * @param p4 参数4 + * @param p5 参数5 + * @return {@link Supplier} + */ + default Supplier toSupplier(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { + return () -> get(p1, p2, p3, p4, p5); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc.java index 8be507db09..87bbb1d769 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc.java @@ -35,8 +35,8 @@ * * @param

参数类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface VoidFunc

extends Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc0.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc0.java index 33ddbf2aac..b9626cd191 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc0.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc0.java @@ -1,3 +1,28 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ package org.aoju.bus.core.lang.function; import java.io.Serializable; @@ -9,8 +34,8 @@ * 此接口用于将一个函数包装成为一个对象,从而传递对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface VoidFunc0 extends Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc1.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc1.java index a31e208bc3..e0672edc85 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc1.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/VoidFunc1.java @@ -1,3 +1,28 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ package org.aoju.bus.core.lang.function; import java.io.Serializable; @@ -10,8 +35,8 @@ * * @param

参数类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface VoidFunc1

extends Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/function/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/function/package-info.java index 8618474b04..179df95c1e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/function/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/function/package-info.java @@ -4,7 +4,7 @@ * 在JDK8之前,Java的函数并不能作为参数传递,也不能作为返回值存在,此接口用于将一个函数包装成为对象,从而传递对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.function; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/Mutable.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/Mutable.java index d5e851fee3..fbd17d6df7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/Mutable.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/Mutable.java @@ -30,8 +30,8 @@ * * @param 值得类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java index 25d7cec82f..3eefc04ba8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableBool.java @@ -29,9 +29,9 @@ * 可变 boolean 类型 * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Boolean - * @since JDK 1.8+ + * @since Java 17+ */ public class MutableBool implements Comparable, Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java index 00c5bad771..53298e8666 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableByte.java @@ -31,9 +31,9 @@ * 可变 byte 类型 * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Byte - * @since JDK 1.8+ + * @since Java 17+ */ public class MutableByte extends Number implements Comparable, Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java index be51cc8aee..b34638010a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableDouble.java @@ -32,9 +32,9 @@ * 可变 double 类型 * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Double - * @since JDK 1.8+ + * @since Java 17+ */ public class MutableDouble extends Number implements Comparable, Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java index 6ae1700527..b2ad109c12 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableFloat.java @@ -31,9 +31,9 @@ * 可变 float 类型 * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Float - * @since JDK 1.8+ + * @since Java 17+ */ public class MutableFloat extends Number implements Comparable, Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java index 4d0a8edf71..18ac76c2a2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableInt.java @@ -31,9 +31,9 @@ * 可变 int 类型 * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Integer - * @since JDK 1.8+ + * @since Java 17+ */ public class MutableInt extends Number implements Comparable, Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java index d0540b05f0..3427e0fb41 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableLong.java @@ -32,9 +32,9 @@ * 可变 long 类型 * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Long - * @since JDK 1.8+ + * @since Java 17+ */ public class MutableLong extends Number implements Comparable, Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java index 772e60e423..eb8e765c70 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableObject.java @@ -34,8 +34,8 @@ * * @param 可变的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MutableObject implements Mutable, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java index c40f65f780..cae08a509f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/MutableShort.java @@ -31,9 +31,9 @@ * 可变 short 类型 * * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 * @see Short - * @since JDK 1.8+ + * @since Java 17+ */ public class MutableShort extends Number implements Comparable, Mutable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/package-info.java index dc5aac7147..db4d1ad830 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/mutable/package-info.java @@ -2,7 +2,7 @@ * 提供可变值对象的封装,用于封装int、long等不可变值,使其可变 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.mutable; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/package-info.java index c98192eea1..0512b8c710 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/package-info.java @@ -2,7 +2,7 @@ * 语言特性包,包括大量便捷的数据结构,例如验证器Validator,分布式ID生成器Snowflake等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/ActualTypeMapper.java b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/ActualTypeMapper.java index 9f35d7c5aa..50ade87abc 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/ActualTypeMapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/ActualTypeMapper.java @@ -39,8 +39,8 @@ * 泛型变量和泛型实际类型映射关系缓存 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ActualTypeMapper { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/LookupFactory.java b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/LookupFactory.java index ef29558c4f..d424b5431a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/LookupFactory.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/LookupFactory.java @@ -38,8 +38,8 @@ * 时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LookupFactory { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/MethodHandle.java b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/MethodHandle.java index 65ceb8018c..94c3a95c72 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/MethodHandle.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/MethodHandle.java @@ -38,8 +38,8 @@ * 方法句柄{@link java.lang.invoke.MethodHandle}封装工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MethodHandle { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/package-info.java index 914bb7dab3..eeb71f29d6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/reflect/package-info.java @@ -2,7 +2,7 @@ * 提供反射相关功能对象和类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.reflect; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Node.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Node.java index 02f5a9477c..5cec7ae744 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Node.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Node.java @@ -34,8 +34,8 @@ * * @param ID类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Node extends Comparable>, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/NodeConfig.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/NodeConfig.java index d540b96ce2..57f503f434 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/NodeConfig.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/NodeConfig.java @@ -31,8 +31,8 @@ * 树配置属性相关 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NodeConfig implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Tree.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Tree.java index fe2a36af24..fa3d6adb8e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Tree.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/Tree.java @@ -42,8 +42,8 @@ * * @param ID类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Tree extends LinkedHashMap implements Node { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeBuilder.java index cadc3e98da..f1f9aee44f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeBuilder.java @@ -42,8 +42,8 @@ * * @param ID类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TreeBuilder implements Builder> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeNode.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeNode.java index 96c73e8e21..835d690b05 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeNode.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/TreeNode.java @@ -35,8 +35,8 @@ * * @param ID类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TreeNode implements Node { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/package-info.java index e9e841be73..64aeac2751 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/package-info.java @@ -8,7 +8,7 @@ * 6、代码简洁轻量无额外依赖 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.tree; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/DefaultNodeParser.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/DefaultNodeParser.java index 31a29f3113..1a6ccf22a5 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/DefaultNodeParser.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/DefaultNodeParser.java @@ -36,8 +36,8 @@ * * @param ID类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultNodeParser implements NodeParser, T> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/NodeParser.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/NodeParser.java index 051b283961..547ba6c0dd 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/NodeParser.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/NodeParser.java @@ -32,8 +32,8 @@ * * @param 转换的实体 为数据源里的对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface NodeParser { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/package-info.java index 3d23e50e94..4de773be56 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tree/parser/package-info.java @@ -2,7 +2,7 @@ * 解析器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.tree.parser; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutablePair.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutablePair.java index 2ae81420b1..4f3e9314b5 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutablePair.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutablePair.java @@ -38,8 +38,8 @@ * @param the left element type * @param the right element type * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ImmutablePair extends Pair { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutableTriple.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutableTriple.java index 59123c1822..10a97fc3ab 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutableTriple.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/ImmutableTriple.java @@ -39,8 +39,8 @@ * @param the middle element type * @param the right element type * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ImmutableTriple extends Triple { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutablePair.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutablePair.java index 411433a8dd..47c1288bdd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutablePair.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutablePair.java @@ -31,8 +31,8 @@ * @param 左元素类型 * @param 左元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MutablePair extends Pair { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutableTriple.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutableTriple.java index 77f78baafa..f33df321cd 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutableTriple.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/MutableTriple.java @@ -32,8 +32,8 @@ * @param 中间元素类型 * @param 左元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MutableTriple extends Triple { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java index 1a0591eeb9..8f61ff51db 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Pair.java @@ -46,8 +46,8 @@ * @param 左元素类型 * @param 右元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class Pair implements Map.Entry, Comparable>, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quartet.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quartet.java index 32a0ceda12..65ac02864e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quartet.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quartet.java @@ -35,8 +35,8 @@ * @param 第三个元素的类型 * @param 第四个元素的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class Quartet { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quintet.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quintet.java index b8c9af385e..f04bbb7a77 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quintet.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Quintet.java @@ -36,8 +36,8 @@ * @param 第四个元素的类型 * @param 第五个元素的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class Quintet { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java index f28e3fb296..6c60a40ab6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/Triple.java @@ -44,8 +44,8 @@ * @param 中间元素类型 * @param 右元素类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class Triple implements Comparable>, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/package-info.java index b91b95a01e..fc2225e018 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lang/tuple/package-info.java @@ -3,7 +3,7 @@ * 提供封装多个对象的类,目的是作为方法的返回类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lang.tuple; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java index 7a39fe3f82..38cfd05ab2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/AllFilter.java @@ -34,19 +34,34 @@ * 如果没有过滤器的时候则认为所有过滤器都满足 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AllFilter extends MixFilter implements Filter { + /** + * 构造 + * + * @param filters 过滤器 + */ public AllFilter(Filter... filters) { super(filters); } + /** + * 构造 + * + * @param filters 过滤器 + */ public AllFilter(Collection filters) { super(filters); } + /** + * @param name 资源名称,即相对路径 + * @param url 资源URL地址 + * @return the boolean + */ public boolean filtrate(String name, URL url) { Filter[] filters = this.filters.toArray(new Filter[0]); for (Filter filter : filters) { @@ -57,6 +72,10 @@ public boolean filtrate(String name, URL url) { return true; } + /** + * @param filter 过滤器 + * @return the object + */ public AllFilter mix(Filter filter) { add(filter); return this; diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/AntFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/AntFilter.java index d7b2027db5..80822e44ca 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/AntFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/AntFilter.java @@ -31,11 +31,14 @@ * ANT风格路径过滤器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AntFilter extends RegexFilter implements Filter { + /** + * 符号 + */ public static final String[] SYMBOLS = { Symbol.BACKSLASH, Symbol.DOLLAR, Symbol.PARENTHESE_LEFT, Symbol.PARENTHESE_RIGHT, Symbol.PLUS, Symbol.DOT, @@ -43,6 +46,11 @@ public class AntFilter extends RegexFilter implements Filter { Symbol.BRACE_LEFT, Symbol.BRACE_RIGHT, Symbol.OR }; + /** + * 构造 + * + * @param ant ANT风格路径表达式 + */ public AntFilter(String ant) { super(convert(ant)); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/AntLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/AntLoader.java index 0cfef0cf11..21190c4e22 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/AntLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/AntLoader.java @@ -35,19 +35,32 @@ * ANT风格路径资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AntLoader extends PatternLoader implements Loader { + /** + * 构造 + */ public AntLoader() { this(new StdLoader()); } + /** + * 构造 + * + * @param classLoader 加载器 + */ public AntLoader(ClassLoader classLoader) { this(new StdLoader(classLoader)); } + /** + * 构造 + * + * @param delegate 类加载代理 + */ public AntLoader(Loader delegate) { super(delegate); } @@ -61,6 +74,12 @@ public Enumeration load(String pattern, boolean recursively, Filter fi } } + /** + * 加载路径处理 + * + * @param ant ANT风格路径表达式 + * @return the string + */ protected String path(String ant) { int index = Integer.MAX_VALUE - 1; if (ant.contains(Symbol.STAR) && ant.indexOf(Symbol.C_STAR) < index) index = ant.indexOf(Symbol.C_STAR); @@ -69,10 +88,22 @@ protected String path(String ant) { return ant.substring(0, ant.lastIndexOf(Symbol.C_SLASH, index) + 1); } + /** + * 是否递归 + * + * @param ant ANT风格路径表达式 + * @return the boolean + */ protected boolean recursively(String ant) { return true; } + /** + * 过滤器 + * + * @param ant ANT风格路径表达式 + * @return the 过滤器 + */ protected Filter filter(String ant) { return new AntFilter(ant); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java index 8791526764..73023537ca 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/AnyFilter.java @@ -32,15 +32,25 @@ * ANY逻辑复合过滤器,即任意一个过滤器满足时就满足,当没有过滤器的时候则认为没有过滤器满足,也就是不满足 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AnyFilter extends MixFilter implements Filter { + /** + * 构造 + * + * @param filters 过滤器 + */ public AnyFilter(Filter... filters) { super(filters); } + /** + * 构造 + * + * @param filters 过滤器 + */ public AnyFilter(Collection filters) { super(filters); } diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/loader/AtomicLoader.java old mode 100755 new mode 100644 similarity index 65% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotBuilder.java rename to bus-core/src/main/java/org/aoju/bus/core/loader/AtomicLoader.java index 36abdd3b12..72b445cd86 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/AtomicLoader.java @@ -23,53 +23,50 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.loader; -import org.aoju.bus.image.Format; -import org.aoju.bus.image.galaxy.data.DatePrecision; - -import java.util.*; +import java.io.Serializable; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Supplier; /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class SlotBuilder { +public abstract class AtomicLoader implements Supplier, Serializable { - private final SlotType result; + private static final long serialVersionUID = 1L; - public SlotBuilder(String name) { - this.result = new SlotType(); - this.result.setName(name); - } + /** + * 被加载对象的引用 + */ + private final AtomicReference reference = new AtomicReference<>(); - public SlotType build() { - return this.result; - } - - public SlotBuilder valueList(String value) { - return valueList(Collections.singletonList(value)); - } + /** + * 获取一个对象,第一次调用此方法时初始化对象然后返回,之后调用此方法直接返回原对象 + */ + @Override + public T get() { + T result = reference.get(); - public SlotBuilder valueList(Collection values) { - ValueListType valueList = new ValueListType(); - for (String value : values) { - valueList.getValue().add(value); + if (result == null) { + result = init(); + if (false == reference.compareAndSet(null, result)) { + // 其它线程已经创建好此对象 + result = reference.get(); + } } - this.result.setValueList(valueList); - return this; - } - public SlotBuilder valueDTM(Date date) { - return valueList(Format.formatDT(TimeZone.getTimeZone("UTC"), date, new DatePrecision(Calendar.SECOND))); + return result; } - public SlotBuilder slotType(String value) { - this.result.setSlotType(value); - return this; - } + /** + * 初始化被加载的对象
+ * 如果对象从未被加载过,调用此方法初始化加载对象,此方法只被调用一次 + * + * @return 被加载的对象 + */ + protected abstract T init(); } - - diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/ClazzLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/ClazzLoader.java index 22292c6f7c..3225f14643 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/ClazzLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/ClazzLoader.java @@ -13,8 +13,8 @@ * * @param {@link Resource}接口实现类 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ClazzLoader extends SecureClassLoader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/DelegateLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/DelegateLoader.java index b1feb5f559..878a4840e8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/DelegateLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/DelegateLoader.java @@ -29,8 +29,8 @@ * 委派的资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class DelegateLoader extends ResourceLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/FileLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/FileLoader.java index 18d89e1301..b1dd1c95df 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/FileLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/FileLoader.java @@ -41,8 +41,8 @@ * 文件资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileLoader extends ResourceLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java index 304d8b5623..7a596ad979 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/Filter.java @@ -31,8 +31,8 @@ * 资源过滤器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Filter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/Filters.java b/bus-core/src/main/java/org/aoju/bus/core/loader/Filters.java index 8d1c7ef2fb..0dd50c7657 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/Filters.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/Filters.java @@ -31,8 +31,8 @@ * 过滤器工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Filters { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoader.java index dbe1bb709a..6ad125ec0f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoader.java @@ -44,8 +44,8 @@ * Jar包资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarLoader extends ResourceLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java b/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java index 0fced9e496..06e81bc44c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/JarLoaders.java @@ -40,8 +40,8 @@ * 外部Jar的类加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarLoaders extends URLClassLoader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SpecificationLinkType.java b/bus-core/src/main/java/org/aoju/bus/core/loader/LazyFunLoader.java old mode 100755 new mode 100644 similarity index 53% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SpecificationLinkType.java rename to bus-core/src/main/java/org/aoju/bus/core/loader/LazyFunLoader.java index b11b600711..7f9cb7f74d --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SpecificationLinkType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/LazyFunLoader.java @@ -23,60 +23,83 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.loader; -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; +import org.aoju.bus.core.lang.Assert; + +import java.util.function.Consumer; +import java.util.function.Supplier; /** + * 函数式懒加载加载器 + * 传入用于生成对象的函数,在对象需要使用时调用生成对象,然后抛弃此生成对象的函数。 + * 此加载器常用于对象比较庞大而不一定被使用的情况,用于减少启动时资源占用问题 + * 继承自{@link LazyLoader},如何实现多线程安全,由LazyLoader完成 + * + * @param 被加载对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SpecificationLinkType", propOrder = {"usageDescription", "usageParameter"}) -public class SpecificationLinkType extends RegistryObjectType { +public class LazyFunLoader extends LazyLoader { - @XmlElement(name = "UsageDescription") - protected InternationalStringType usageDescription; - @XmlElement(name = "UsageParameter") - protected List usageParameter; - @XmlAttribute(name = "serviceBinding", required = true) - protected String serviceBinding; - @XmlAttribute(name = "specificationObject", required = true) - protected String specificationObject; + private static final long serialVersionUID = 1L; - public InternationalStringType getUsageDescription() { - return this.usageDescription; - } + /** + * 用于生成对象的函数 + */ + private Supplier supplier; - public void setUsageDescription(InternationalStringType value) { - this.usageDescription = value; + /** + * 构造 + * + * @param supplier 用于生成对象的函数 + */ + public LazyFunLoader(Supplier supplier) { + Assert.notNull(supplier); + this.supplier = supplier; } - public List getUsageParameter() { - if (null == this.usageParameter) { - this.usageParameter = new ArrayList(); - } - return this.usageParameter; + /** + * 静态工厂方法,提供语义性与编码便利性 + * + * @param supplier 用于生成对象的函数 + * @param 对象类型 + * @return 函数式懒加载加载器对象 + */ + public static LazyFunLoader on(final Supplier supplier) { + Assert.notNull(supplier, "supplier must be not null!"); + return new LazyFunLoader<>(supplier); } - public String getServiceBinding() { - return this.serviceBinding; + @Override + protected T init() { + T t = this.supplier.get(); + this.supplier = null; + return t; } - public void setServiceBinding(String value) { - this.serviceBinding = value; + /** + * 是否已经初始化 + * + * @return 是/否 + */ + public boolean isInitialize() { + return this.supplier == null; } - public String getSpecificationObject() { - return this.specificationObject; - } + /** + * 如果已经初始化,就执行传入函数 + * + * @param consumer 待执行函数 + */ + public void ifInitialized(Consumer consumer) { + Assert.notNull(consumer); - public void setSpecificationObject(String value) { - this.specificationObject = value; + // 已经初始化 + if (this.isInitialize()) { + consumer.accept(this.get()); + } } } - diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/LazyLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/LazyLoader.java index ab0cba02b0..e2dc440d88 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/LazyLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/LazyLoader.java @@ -32,47 +32,39 @@ * 持有一个计算延迟的值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class LazyLoader implements Supplier, Serializable { - - private transient volatile Supplier supplier; - - private T value; - - private LazyLoader(final Supplier supplier) { - this.supplier = supplier; - } +public abstract class LazyLoader implements Supplier, Serializable { /** - * 创建惰性的新实例 - * - * @param supplier 供应者 - * @param 泛型标记 - * @return Lazy + * 被加载对象 */ - public static LazyLoader of(final Supplier supplier) { - return new LazyLoader<>(supplier); - } + private volatile T object; /** - * 返回值。值将在第一次调用时计算 - * - * @return 懒惰的值 + * 获取一个对象,第一次调用此方法时初始化对象然后返回,之后调用此方法直接返回原对象 */ @Override public T get() { - return null == supplier ? value : computeValue(); - } - - private synchronized T computeValue() { - final Supplier s = supplier; - if (null != s) { - value = s.get(); - supplier = null; + T result = object; + if (result == null) { + synchronized (this) { + result = object; + if (result == null) { + object = result = init(); + } + } } - return value; + return result; } + /** + * 初始化被加载的对象 + * 如果对象从未被加载过,调用此方法初始化加载对象,此方法只被调用一次 + * + * @return 被加载的对象 + */ + protected abstract T init(); + } \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java index 44be9eafcb..4b73f5c613 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/Loader.java @@ -36,8 +36,8 @@ * 调用时,避免无用的提前全部预加载 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java b/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java index 018dcc0879..a1ebff14f9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/Loaders.java @@ -34,8 +34,8 @@ * 资源加载器工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Loaders { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java index f2a725eebd..82c567ba1a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/MixFilter.java @@ -34,8 +34,8 @@ * 复合过滤器,实际上内部维护一个过滤器的{@link LinkedHashSet}集合,提供添加/删除以及链式拼接的方法来混合多个子过滤器,该过滤器的具体逻辑由子类拓展 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class MixFilter implements Filter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/NatLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/NatLoader.java index 571c698f20..ea409d6509 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/NatLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/NatLoader.java @@ -42,8 +42,8 @@ * Jar包资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NatLoader extends StdLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java index 20ffc7846e..2999cfae73 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/PatternLoader.java @@ -34,8 +34,8 @@ * 模式匹配资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class PatternLoader extends DelegateLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/PkgLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/PkgLoader.java index 38628e85e3..9b2414a37b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/PkgLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/PkgLoader.java @@ -35,8 +35,8 @@ * 包名表达式资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PkgLoader extends DelegateLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/RegexFilter.java b/bus-core/src/main/java/org/aoju/bus/core/loader/RegexFilter.java index fb2528494d..f5b0b6a1c6 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/RegexFilter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/RegexFilter.java @@ -32,8 +32,8 @@ * 正则表达式过滤器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RegexFilter implements Filter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/RegexLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/RegexLoader.java index 315d39f069..bcb29c22b3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/RegexLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/RegexLoader.java @@ -31,8 +31,8 @@ * 正则表达式资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RegexLoader extends PatternLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/ResourceLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/ResourceLoader.java index 6ce00679d4..f00ef1d214 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/ResourceLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/ResourceLoader.java @@ -35,8 +35,8 @@ * 资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class ResourceLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/StdLoader.java b/bus-core/src/main/java/org/aoju/bus/core/loader/StdLoader.java index 68a0544b06..ccc2c122e2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/StdLoader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/StdLoader.java @@ -45,8 +45,8 @@ * 标准的资源加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StdLoader extends ResourceLoader implements Loader { diff --git a/bus-core/src/main/java/org/aoju/bus/core/loader/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/loader/package-info.java index ba517f17b4..5fcb120ded 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/loader/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/loader/package-info.java @@ -2,7 +2,7 @@ * 加载器的抽象接口和实现,包括懒加载的实现等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.loader; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/lock/ListWithLock.java b/bus-core/src/main/java/org/aoju/bus/core/lock/ListWithLock.java index bc7a0fcb66..cf184d0db6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lock/ListWithLock.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lock/ListWithLock.java @@ -37,8 +37,8 @@ * * @param 所涉及对象的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ListWithLock extends ObjWithLock> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lock/LockHandler.java b/bus-core/src/main/java/org/aoju/bus/core/lock/LockHandler.java index 9eb2d66a0e..b8d2ab4b3f 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lock/LockHandler.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lock/LockHandler.java @@ -30,8 +30,8 @@ * * @param 所涉及对象的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LockHandler { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lock/MapWithLock.java b/bus-core/src/main/java/org/aoju/bus/core/lock/MapWithLock.java index f452456314..53006a27bc 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lock/MapWithLock.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lock/MapWithLock.java @@ -39,8 +39,8 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MapWithLock extends ObjWithLock> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lock/ObjWithLock.java b/bus-core/src/main/java/org/aoju/bus/core/lock/ObjWithLock.java index 8ca80121f0..057f470bd6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lock/ObjWithLock.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lock/ObjWithLock.java @@ -37,8 +37,8 @@ * * @param 所涉及对象的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ObjWithLock implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lock/SetWithLock.java b/bus-core/src/main/java/org/aoju/bus/core/lock/SetWithLock.java index 9fe9803b3c..10b21bb3bd 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lock/SetWithLock.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lock/SetWithLock.java @@ -35,8 +35,8 @@ * * @param 所涉及对象的类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SetWithLock extends ObjWithLock> { diff --git a/bus-core/src/main/java/org/aoju/bus/core/lock/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/lock/package-info.java index b975166425..62459652ee 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/lock/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/lock/package-info.java @@ -2,7 +2,7 @@ * 读写锁,对象Map Set、List等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.lock; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/AbsCollValueMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/AbstractCollValueMap.java similarity index 91% rename from bus-core/src/main/java/org/aoju/bus/core/map/AbsCollValueMap.java rename to bus-core/src/main/java/org/aoju/bus/core/map/AbstractCollValueMap.java index 205345cc69..07c2173967 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/map/AbsCollValueMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/AbstractCollValueMap.java @@ -38,10 +38,10 @@ * @param 值类型 * @param 集合类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public abstract class AbsCollValueMap> extends MapWrapper { +public abstract class AbstractCollValueMap> extends MapWrapper { /** * 默认集合初始大小 @@ -51,7 +51,7 @@ public abstract class AbsCollValueMap> extends Map /** * 构造 */ - public AbsCollValueMap() { + public AbstractCollValueMap() { this(DEFAULT_INITIAL_CAPACITY); } @@ -60,7 +60,7 @@ public AbsCollValueMap() { * * @param initialCapacity 初始大小 */ - public AbsCollValueMap(int initialCapacity) { + public AbstractCollValueMap(int initialCapacity) { this(initialCapacity, DEFAULT_LOAD_FACTOR); } @@ -69,7 +69,7 @@ public AbsCollValueMap(int initialCapacity) { * * @param m Map */ - public AbsCollValueMap(Map m) { + public AbstractCollValueMap(Map m) { this(DEFAULT_LOAD_FACTOR, m); } @@ -79,7 +79,7 @@ public AbsCollValueMap(Map m) { * @param loadFactor 加载因子 * @param m Map */ - public AbsCollValueMap(float loadFactor, Map m) { + public AbstractCollValueMap(float loadFactor, Map m) { this(m.size(), loadFactor); this.putAll(m); } @@ -90,7 +90,7 @@ public AbsCollValueMap(float loadFactor, Map m) { * @param initialCapacity 初始大小 * @param loadFactor 加载因子 */ - public AbsCollValueMap(int initialCapacity, float loadFactor) { + public AbstractCollValueMap(int initialCapacity, float loadFactor) { super(new HashMap<>(initialCapacity, loadFactor)); } diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotificationType.java b/bus-core/src/main/java/org/aoju/bus/core/map/AbstractEntry.java old mode 100755 new mode 100644 similarity index 65% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotificationType.java rename to bus-core/src/main/java/org/aoju/bus/core/map/AbstractEntry.java index 8d3ef3207e..5bb3a2bc3b --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotificationType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/AbstractEntry.java @@ -23,38 +23,50 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.map; -import javax.xml.bind.annotation.*; +import org.aoju.bus.core.toolkit.ObjectKit; + +import java.util.Map; /** + * 抽象的{@link Map.Entry}实现,来自Guava + * 实现了默认的{@link #equals(Object)}、{@link #hashCode()}、{@link #toString()}方法 + * 默认{@link #setValue(Object)}抛出异常 + * + * @param 键类型 + * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "NotificationType", propOrder = {"registryObjectList"}) -public class NotificationType extends RegistryObjectType { - - @XmlElement(name = "RegistryObjectList", required = true) - protected RegistryObjectListType registryObjectList; - @XmlAttribute(name = "subscription", required = true) - protected String subscription; +public abstract class AbstractEntry implements Map.Entry { - public RegistryObjectListType getRegistryObjectList() { - return this.registryObjectList; + @Override + public V setValue(V value) { + throw new UnsupportedOperationException("Entry is read only."); } - public void setRegistryObjectList(RegistryObjectListType value) { - this.registryObjectList = value; + @Override + public boolean equals(Object object) { + if (object instanceof Map.Entry) { + final Map.Entry that = (Map.Entry) object; + return ObjectKit.equals(this.getKey(), that.getKey()) + && ObjectKit.equals(this.getValue(), that.getValue()); + } + return false; } - public String getSubscription() { - return this.subscription; + @Override + public int hashCode() { + K k = getKey(); + V v = getValue(); + return ((k == null) ? 0 : k.hashCode()) ^ ((v == null) ? 0 : v.hashCode()); } - public void setSubscription(String value) { - this.subscription = value; + @Override + public String toString() { + return getKey() + "=" + getValue(); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/AbstractTable.java b/bus-core/src/main/java/org/aoju/bus/core/map/AbstractTable.java new file mode 100644 index 0000000000..6bb865b156 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/map/AbstractTable.java @@ -0,0 +1,291 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.map; + +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.toolkit.IterKit; +import org.aoju.bus.core.toolkit.ObjectKit; + +import java.io.Serializable; +import java.util.*; +import java.util.function.Function; + +/** + * 抽象{@link Table}接口实现 + * 默认实现了: + *

    + *
  • {@link #equals(Object)}
  • + *
  • {@link #hashCode()}
  • + *
  • {@link #toString()}
  • + *
  • {@link #values()}
  • + *
  • {@link #cellSet()}
  • + *
  • {@link #iterator()}
  • + *
+ * + * @param 行类型 + * @param 列类型 + * @param 值类型 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public abstract class AbstractTable implements Table { + + private Collection values; + private Set> cellSet; + + @Override + public boolean equals(Object obj) { + if (obj == this) { + return true; + } else if (obj instanceof Table) { + final Table that = (Table) obj; + return this.cellSet().equals(that.cellSet()); + } else { + return false; + } + } + + @Override + public int hashCode() { + return cellSet().hashCode(); + } + + @Override + public String toString() { + return rowMap().toString(); + } + + @Override + public Collection values() { + Collection result = values; + return (result == null) ? values = new Values() : result; + } + + @Override + public Set> cellSet() { + Set> result = cellSet; + return (result == null) ? cellSet = new CellSet() : result; + } + + @Override + public Iterator> iterator() { + return new CellIterator(); + } + + /** + * 简单{@link Cell} 实现 + * + * @param 行类型 + * @param 列类型 + * @param 值类型 + */ + private static class SimpleCell implements Cell, Serializable { + + private static final long serialVersionUID = 1L; + + private final R rowKey; + private final C columnKey; + private final V value; + + SimpleCell(R rowKey, C columnKey, V value) { + this.rowKey = rowKey; + this.columnKey = columnKey; + this.value = value; + } + + @Override + public R getRowKey() { + return rowKey; + } + + @Override + public C getColumnKey() { + return columnKey; + } + + @Override + public V getValue() { + return value; + } + + @Override + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (obj instanceof Cell) { + Cell other = (Cell) obj; + return ObjectKit.equal(rowKey, other.getRowKey()) + && ObjectKit.equal(columnKey, other.getColumnKey()) + && ObjectKit.equal(value, other.getValue()); + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(rowKey, columnKey, value); + } + + @Override + public String toString() { + return "(" + rowKey + "," + columnKey + ")=" + value; + } + } + + private class Values extends AbstractCollection { + + @Override + public Iterator iterator() { + return new TransIterator<>(cellSet().iterator(), Cell::getValue); + } + + @Override + public boolean contains(Object o) { + return containsValue((V) o); + } + + @Override + public void clear() { + AbstractTable.this.clear(); + } + + @Override + public int size() { + return AbstractTable.this.size(); + } + } + + private class CellSet extends AbstractSet> { + @Override + public boolean contains(Object o) { + if (o instanceof Cell) { + final Cell cell = (Cell) o; + Map row = getRow(cell.getRowKey()); + if (null != row) { + return ObjectKit.equals(row.get(cell.getColumnKey()), cell.getValue()); + } + } + return false; + } + + @Override + public boolean remove(Object o) { + if (contains(o)) { + final Cell cell = (Cell) o; + AbstractTable.this.remove(cell.getRowKey(), cell.getColumnKey()); + } + return false; + } + + @Override + public void clear() { + AbstractTable.this.clear(); + } + + @Override + public Iterator> iterator() { + return new CellIterator(); + } + + @Override + public int size() { + return AbstractTable.this.size(); + } + } + + /** + * 基于{@link Cell}的{@link Iterator}实现 + */ + private class CellIterator implements Iterator> { + final Iterator>> rowIterator = rowMap().entrySet().iterator(); + Map.Entry> rowEntry; + Iterator> columnIterator = IterKit.empty(); + + @Override + public boolean hasNext() { + return rowIterator.hasNext() || columnIterator.hasNext(); + } + + @Override + public Cell next() { + if (false == columnIterator.hasNext()) { + rowEntry = rowIterator.next(); + columnIterator = rowEntry.getValue().entrySet().iterator(); + } + final Map.Entry columnEntry = columnIterator.next(); + return new SimpleCell<>(rowEntry.getKey(), columnEntry.getKey(), columnEntry.getValue()); + } + + @Override + public void remove() { + columnIterator.remove(); + if (rowEntry.getValue().isEmpty()) { + rowIterator.remove(); + } + } + } + + /** + * 转换迭代器 + * + * @param 对象 + * @param 对象 + */ + public class TransIterator implements Iterator { + + private final Iterator backingIterator; + private final Function func; + + /** + * 构造 + * + * @param backingIterator 源{@link Iterator} + * @param func 转换函数 + */ + public TransIterator(Iterator backingIterator, Function func) { + this.backingIterator = Assert.notNull(backingIterator); + this.func = Assert.notNull(func); + } + + @Override + public final boolean hasNext() { + return backingIterator.hasNext(); + } + + @Override + public final T next() { + return func.apply(backingIterator.next()); + } + + @Override + public final void remove() { + backingIterator.remove(); + } + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java index a990e75e2b..7c1170aafb 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseLinkedMap.java @@ -25,8 +25,6 @@ ********************************************************************************/ package org.aoju.bus.core.map; -import org.aoju.bus.core.toolkit.StringKit; - import java.util.LinkedHashMap; import java.util.Map; @@ -37,10 +35,10 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class CamelCaseLinkedMap extends CustomKeyMap { +public class CamelCaseLinkedMap extends CamelCaseMap { /** * 构造 @@ -71,11 +69,11 @@ public CamelCaseLinkedMap(Map m) { * 构造 * * @param loadFactor 加载因子 - * @param m Map + * @param map 数据会被默认拷贝到一个新的LinkedHashMap中 */ - public CamelCaseLinkedMap(float loadFactor, Map m) { - this(m.size(), loadFactor); - this.putAll(m); + public CamelCaseLinkedMap(float loadFactor, Map map) { + this(map.size(), loadFactor); + this.putAll(map); } /** @@ -88,18 +86,4 @@ public CamelCaseLinkedMap(int initialCapacity, float loadFactor) { super(new LinkedHashMap<>(initialCapacity, loadFactor)); } - /** - * 将Key转为驼峰风格,如果key为字符串的话 - * - * @param key KEY - * @return 驼峰Key - */ - @Override - protected Object customKey(Object key) { - if (key instanceof CharSequence) { - key = StringKit.toCamelCase(key.toString()); - } - return key; - } - } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java index 6f97a9769e..2686060d7c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CamelCaseMap.java @@ -37,10 +37,10 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class CamelCaseMap extends CustomKeyMap { +public class CamelCaseMap extends FuncKeyMap { /** * 构造 @@ -71,7 +71,7 @@ public CamelCaseMap(Map map) { * 构造 * * @param loadFactor 加载因子 - * @param map Map + * @param map 初始Map,数据会被默认拷贝到一个新的HashMap中 */ public CamelCaseMap(float loadFactor, Map map) { this(map.size(), loadFactor); @@ -85,21 +85,22 @@ public CamelCaseMap(float loadFactor, Map map) { * @param loadFactor 加载因子 */ public CamelCaseMap(int initialCapacity, float loadFactor) { - super(new HashMap<>(initialCapacity, loadFactor)); + this(MapBuilder.create(new HashMap<>(initialCapacity, loadFactor))); } /** - * 将Key转为驼峰风格,如果key为字符串的话 + * 构造
+ * 注意此构造将传入的Map作为被包装的Map,针对任何修改,传入的Map都会被同样修改 * - * @param key KEY - * @return 驼峰Key + * @param emptyMapBuilder Map构造器,必须构造空的Map */ - @Override - protected Object customKey(Object key) { - if (null != key && key instanceof CharSequence) { - key = StringKit.toCamelCase(key.toString()); - } - return key; + CamelCaseMap(MapBuilder emptyMapBuilder) { + super(emptyMapBuilder.build(), (key) -> { + if (key instanceof CharSequence) { + key = StringKit.toCamelCase(key.toString()); + } + return (K) key; + }); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java index a429a6fcbd..5fda4143d0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveLinkedMap.java @@ -35,10 +35,10 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class CaseInsensitiveLinkedMap extends CustomKeyMap { +public class CaseInsensitiveLinkedMap extends CaseInsensitiveMap { /** * 构造 @@ -86,18 +86,4 @@ public CaseInsensitiveLinkedMap(int initialCapacity, float loadFactor) { super(new LinkedHashMap<>(initialCapacity, loadFactor)); } - /** - * 将Key转为小写 - * - * @param key KEY - * @return 小写KEY - */ - @Override - protected Object customKey(Object key) { - if (key instanceof CharSequence) { - key = key.toString().toLowerCase(); - } - return key; - } - } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java index 41a5d440c6..aaa1e19fd2 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveMap.java @@ -35,10 +35,10 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class CaseInsensitiveMap extends CustomKeyMap { +public class CaseInsensitiveMap extends FuncKeyMap { /** * 构造 @@ -58,22 +58,23 @@ public CaseInsensitiveMap(int initialCapacity) { /** * 构造 + * 注意此构造将传入的Map作为被包装的Map,针对任何修改,传入的Map都会被同样修改 * - * @param m Map + * @param map 被包装的自定义Map创建器 */ - public CaseInsensitiveMap(Map m) { - this(DEFAULT_LOAD_FACTOR, m); + public CaseInsensitiveMap(Map map) { + this(DEFAULT_LOAD_FACTOR, map); } /** * 构造 * * @param loadFactor 加载因子 - * @param m Map + * @param map Map */ - public CaseInsensitiveMap(float loadFactor, Map m) { - this(m.size(), loadFactor); - this.putAll(m); + public CaseInsensitiveMap(float loadFactor, Map map) { + this(map.size(), loadFactor); + this.putAll(map); } /** @@ -83,21 +84,22 @@ public CaseInsensitiveMap(float loadFactor, Map m) { * @param loadFactor 加载因子 */ public CaseInsensitiveMap(int initialCapacity, float loadFactor) { - super(new HashMap<>(initialCapacity, loadFactor)); + this(MapBuilder.create(new HashMap<>(initialCapacity, loadFactor))); } /** - * 将Key转为小写 + * 构造 + * 注意此构造将传入的Map作为被包装的Map,针对任何修改,传入的Map都会被同样修改 * - * @param key KEY - * @return 小写KEY + * @param emptyMapBuilder 被包装的自定义Map创建器 */ - @Override - protected Object customKey(Object key) { - if (key instanceof CharSequence) { - key = key.toString().toLowerCase(); - } - return key; + CaseInsensitiveMap(MapBuilder emptyMapBuilder) { + super(emptyMapBuilder.build(), (key) -> { + if (key instanceof CharSequence) { + key = key.toString().toLowerCase(); + } + return (K) key; + }); } } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/SimpleValueParser.java b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveTreeMap.java similarity index 63% rename from bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/SimpleValueParser.java rename to bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveTreeMap.java index e362e8a4ee..735b2fd3ef 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/SimpleValueParser.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CaseInsensitiveTreeMap.java @@ -23,70 +23,60 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.cron.pattern.parser; +package org.aoju.bus.core.map; -import org.aoju.bus.core.lang.exception.InstrumentException; +import java.util.Comparator; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; /** - * 简易值转换器 将给定String值转为int + * 忽略大小写的{@link TreeMap} + * 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖 * + * @param 键类型 + * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class SimpleValueParser implements ValueParser { +public class CaseInsensitiveTreeMap extends CaseInsensitiveMap { + + private static final long serialVersionUID = 1L; /** - * 最小值(包括) - */ - protected int min; - /** - * 最大值(包括) + * 构造 */ - protected int max; + public CaseInsensitiveTreeMap() { + this((Comparator) null); + } /** * 构造 * - * @param min 最小值(包括) - * @param max 最大值(包括) + * @param map 初始Map */ - public SimpleValueParser(int min, int max) { - if (min > max) { - this.min = max; - this.max = min; - } else { - this.min = min; - this.max = max; - } - } - - @Override - public int parse(String value) throws InstrumentException { - if ("L".equalsIgnoreCase(value)) { - return max; - } - - int i; - try { - i = Integer.parseInt(value); - } catch (NumberFormatException e) { - throw new InstrumentException("Invalid integer value: [{}]", value); - } - if (i < min || i > max) { - throw new InstrumentException("Value [{}] out of range: [{} , {}]", i, min, max); - } - return i; + public CaseInsensitiveTreeMap(Map map) { + this(); + this.putAll(map); } - @Override - public int getMin() { - return this.min; + /** + * 构造 + * + * @param map 初始Map,键值对会被复制到新的TreeMap中 + */ + public CaseInsensitiveTreeMap(SortedMap map) { + super(new TreeMap(map)); } - @Override - public int getMax() { - return this.max; + /** + * 构造 + * + * @param comparator 比较器,{@code null}表示使用默认比较器 + */ + public CaseInsensitiveTreeMap(Comparator comparator) { + super(new TreeMap<>(comparator)); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CollectionValueMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CollectionValueMap.java index 6003f28e60..2f909ff065 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CollectionValueMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CollectionValueMap.java @@ -38,10 +38,10 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class CollectionValueMap extends AbsCollValueMap> { +public class CollectionValueMap extends AbstractCollValueMap> { private final Func0> collectionCreateFunc; diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java index 20f3c2e522..164351b5f3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/CustomKeyMap.java @@ -34,8 +34,8 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class CustomKeyMap extends MapWrapper { @@ -45,10 +45,10 @@ public abstract class CustomKeyMap extends MapWrapper { * 构造 * 通过传入一个Map从而确定Map的类型,子类需创建一个空的Map,而非传入一个已有Map,否则值可能会被修改 * - * @param m Map 被包装的Map + * @param map 被包装的Map,必须为空Map,否则自定义key会无效 */ - public CustomKeyMap(Map m) { - super(m); + public CustomKeyMap(Map map) { + super(map); } @Override @@ -62,8 +62,8 @@ public V put(K key, V value) { } @Override - public void putAll(Map m) { - m.forEach(this::put); + public void putAll(Map map) { + map.forEach(this::put); } @Override diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/OrganizationType.java b/bus-core/src/main/java/org/aoju/bus/core/map/DuplexingMap.java old mode 100755 new mode 100644 similarity index 52% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/OrganizationType.java rename to bus-core/src/main/java/org/aoju/bus/core/map/DuplexingMap.java index 0b1eb61c29..ff5b873be3 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/OrganizationType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/DuplexingMap.java @@ -23,68 +23,95 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.map; -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; +import org.aoju.bus.core.toolkit.MapKit; + +import java.util.Map; /** + * 双向Map + * 互换键值对不检查值是否有重复,如果有则后加入的元素替换先加入的元素 + * 值的顺序在HashMap中不确定,所以谁覆盖谁也不确定,在有序的Map中按照先后顺序覆盖,保留最后的值 + * 它与TableMap的区别是,BiMap维护两个Map实现高效的正向和反向查找 + * + * @param 键类型 + * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "OrganizationType", propOrder = {"address", "telephoneNumber", "emailAddress"}) -public class OrganizationType extends RegistryObjectType { +public class DuplexingMap extends MapWrapper { - @XmlElement(name = "Address") - protected List address; - @XmlElement(name = "TelephoneNumber") - protected List telephoneNumber; - @XmlElement(name = "EmailAddress") - protected List emailAddress; - @XmlAttribute(name = "parent") - protected String parent; - @XmlAttribute(name = "primaryContact") - protected String primaryContact; + private static final long serialVersionUID = 1L; - public List getAddress() { - if (null == this.address) { - this.address = new ArrayList(); - } - return this.address; + private Map inverse; + + /** + * 构造 + * + * @param raw 被包装的Map + */ + public DuplexingMap(Map raw) { + super(raw); } - public List getTelephoneNumber() { - if (null == this.telephoneNumber) { - this.telephoneNumber = new ArrayList(); + @Override + public V put(K key, V value) { + if (null != this.inverse) { + this.inverse.put(value, key); } - return this.telephoneNumber; + return super.put(key, value); } - public List getEmailAddress() { - if (null == this.emailAddress) { - this.emailAddress = new ArrayList(); + @Override + public void putAll(Map m) { + super.putAll(m); + if (null != this.inverse) { + m.forEach((key, value) -> this.inverse.put(value, key)); } - return this.emailAddress; } - public String getParent() { - return this.parent; + @Override + public V remove(Object key) { + final V v = super.remove(key); + if (null != this.inverse && null != v) { + this.inverse.remove(v); + } + return v; } - public void setParent(String value) { - this.parent = value; + @Override + public boolean remove(Object key, Object value) { + return super.remove(key, value) && null != this.inverse && this.inverse.remove(value, key); } + @Override + public void clear() { + super.clear(); + this.inverse = null; + } - public String getPrimaryContact() { - return this.primaryContact; + /** + * 获取反向Map + * + * @return 反向Map + */ + public Map getInverse() { + if (null == this.inverse) { + inverse = MapKit.inverse(getRaw()); + } + return this.inverse; } - public void setPrimaryContact(String value) { - this.primaryContact = value; + /** + * 根据值获得键 + * + * @param value 值 + * @return 键 + */ + public K getKey(V value) { + return getInverse().get(value); } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java index 8e6a3bffb8..3a4f0bd353 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/FixedLinkedHashMap.java @@ -29,12 +29,13 @@ /** * 固定大小的{@link LinkedHashMap} 实现 + * 注意此类非线程安全,由于{@link #get(Object)}操作会修改链表的顺序结构,因此也不可以使用读写锁 * * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FixedLinkedHashMap extends LinkedHashMap { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/VersionInfoType.java b/bus-core/src/main/java/org/aoju/bus/core/map/FuncKeyMap.java old mode 100755 new mode 100644 similarity index 68% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/VersionInfoType.java rename to bus-core/src/main/java/org/aoju/bus/core/map/FuncKeyMap.java index e6a99edb1a..13b129f22c --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/VersionInfoType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/FuncKeyMap.java @@ -23,45 +23,50 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.core.map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import java.util.Map; +import java.util.function.Function; /** + * 自定义函数Key风格的Map + * + * @param 键类型 + * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "VersionInfoType") -public class VersionInfoType { +public class FuncKeyMap extends CustomKeyMap { - @XmlAttribute(name = "versionName") - protected String versionName; - @XmlAttribute(name = "comment") - protected String comment; + private static final long serialVersionUID = 1L; - public String getVersionName() { - if (null == this.versionName) { - return "1.1"; - } - return this.versionName; - } - - public void setVersionName(String value) { - this.versionName = value; - } + private final Function keyFunc; - public String getComment() { - return this.comment; + /** + * 构造 + * 注意提供的Map中不能有键值对,否则可能导致自定义key失效 + * + * @param emptyMap Map,提供的空map + * @param keyFunc 自定义KEY的函数 + */ + public FuncKeyMap(Map emptyMap, Function keyFunc) { + super(emptyMap); + this.keyFunc = keyFunc; } - public void setComment(String value) { - this.comment = value; + /** + * 根据函数自定义键 + * + * @param key KEY + * @return 驼峰Key + */ + @Override + protected Object customKey(Object key) { + if (null != this.keyFunc) { + return keyFunc.apply(key); + } + return key; } } - diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/ListValueMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/ListValueMap.java index 9aff28bf11..599bb29ea5 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/ListValueMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/ListValueMap.java @@ -33,10 +33,10 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class ListValueMap extends AbsCollValueMap> { +public class ListValueMap extends AbstractCollValueMap> { /** * 构造 diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/MapBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/map/MapBuilder.java index e3a8c70e92..2909d4b856 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/MapBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/MapBuilder.java @@ -25,9 +25,9 @@ ********************************************************************************/ package org.aoju.bus.core.map; +import org.aoju.bus.core.builder.Builder; import org.aoju.bus.core.toolkit.MapKit; -import java.io.Serializable; import java.util.Map; import java.util.function.Supplier; @@ -37,10 +37,12 @@ * @param Key类型 * @param Value类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class MapBuilder implements Serializable { +public class MapBuilder implements Builder> { + + private static final long serialVersionUID = 1L; private final Map map; @@ -152,6 +154,16 @@ public MapBuilder putAll(Map map) { return this; } + /** + * 清空Map + * + * @return this + */ + public MapBuilder clear() { + this.map.clear(); + return this; + } + /** * 创建后的map * diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java b/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java index f56d2d33ac..bed28ee2ab 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/MapProxy.java @@ -45,8 +45,8 @@ * Map代理,提供各种getXXX方法,并提供默认值支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MapProxy implements Map, OptNullObject, InvocationHandler, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java b/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java index a21053f573..ba3061c09d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/MapWrapper.java @@ -25,6 +25,8 @@ ********************************************************************************/ package org.aoju.bus.core.map; +import org.aoju.bus.core.toolkit.ObjectKit; + import java.io.Serializable; import java.util.*; import java.util.function.BiConsumer; @@ -37,8 +39,8 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MapWrapper implements Map, Iterable>, Serializable, Cloneable { @@ -51,7 +53,7 @@ public class MapWrapper implements Map, Iterable>, S */ protected static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; - private final Map raw; + private Map raw; /** * 构造 @@ -214,4 +216,11 @@ public V merge(K key, V value, BiFunction rem return raw.merge(key, value, remappingFunction); } + @Override + public MapWrapper clone() throws CloneNotSupportedException { + @SuppressWarnings("unchecked") final MapWrapper clone = (MapWrapper) super.clone(); + clone.raw = ObjectKit.clone(raw); + return clone; + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/RowKeyTable.java b/bus-core/src/main/java/org/aoju/bus/core/map/RowKeyTable.java new file mode 100644 index 0000000000..a6deb99df8 --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/map/RowKeyTable.java @@ -0,0 +1,266 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.map; + +import org.aoju.bus.core.builder.Builder; +import org.aoju.bus.core.collection.ComputeIterator; +import org.aoju.bus.core.toolkit.IterKit; + +import java.util.*; + +/** + * 将行的键作为主键的{@link Table}实现 + * 此结构为: 行=(列=值) + * + * @param 行类型 + * @param 列类型 + * @param 值类型 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class RowKeyTable extends AbstractTable { + + final Map> raw; + /** + * 列的Map创建器,用于定义Table中Value对应Map类型 + */ + final Builder> columnBuilder; + private Map> columnMap; + private Set columnKeySet; + + /** + * 构造 + */ + public RowKeyTable() { + this(new HashMap<>()); + } + + /** + * 构造 + * + * @param raw 原始Map + */ + public RowKeyTable(Map> raw) { + this(raw, HashMap::new); + } + + /** + * 构造 + * + * @param raw 原始Map + * @param columnMapBuilder 列的map创建器 + */ + public RowKeyTable(Map> raw, Builder> columnMapBuilder) { + this.raw = raw; + this.columnBuilder = null == columnMapBuilder ? HashMap::new : columnMapBuilder; + } + + @Override + public Map> rowMap() { + return raw; + } + + @Override + public V put(R rowKey, C columnKey, V value) { + return raw.computeIfAbsent(rowKey, (key) -> columnBuilder.build()).put(columnKey, value); + } + + @Override + public V remove(R rowKey, C columnKey) { + final Map map = getRow(rowKey); + if (null == map) { + return null; + } + final V value = map.remove(columnKey); + if (map.isEmpty()) { + raw.remove(rowKey); + } + return value; + } + + @Override + public boolean isEmpty() { + return raw.isEmpty(); + } + + @Override + public void clear() { + this.raw.clear(); + } + + @Override + public boolean containsColumn(C columnKey) { + if (columnKey == null) { + return false; + } + for (Map map : raw.values()) { + if (null != map && map.containsKey(columnKey)) { + return true; + } + } + return false; + } + + //region columnMap + @Override + public Map> columnMap() { + Map> result = columnMap; + return (result == null) ? columnMap = new ColumnMap() : result; + } + + @Override + public Set columnKeySet() { + Set result = columnKeySet; + return (result == null) ? columnKeySet = new ColumnKeySet() : result; + } + + @Override + public Map getColumn(C columnKey) { + return new Column(columnKey); + } + + private class ColumnMap extends AbstractMap> { + @Override + public Set>> entrySet() { + return new ColumnMapEntrySet(); + } + } + + private class ColumnMapEntrySet extends AbstractSet>> { + private final Set columnKeySet = columnKeySet(); + + @Override + public Iterator>> iterator() { + return new TransIterator<>(columnKeySet.iterator(), + c -> new AbstractMap.SimpleEntry<>(c, getColumn(c))); + } + + @Override + public int size() { + return columnKeySet.size(); + } + } + + private class ColumnKeySet extends AbstractSet { + + @Override + public Iterator iterator() { + return new ColumnKeyIterator(); + } + + @Override + public int size() { + return IterKit.size(iterator()); + } + } + + private class ColumnKeyIterator extends ComputeIterator { + final Map seen = columnBuilder.build(); + final Iterator> mapIterator = raw.values().iterator(); + Iterator> entryIterator = IterKit.empty(); + + @Override + protected C computeNext() { + while (true) { + if (entryIterator.hasNext()) { + Map.Entry entry = entryIterator.next(); + if (false == seen.containsKey(entry.getKey())) { + seen.put(entry.getKey(), entry.getValue()); + return entry.getKey(); + } + } else if (mapIterator.hasNext()) { + entryIterator = mapIterator.next().entrySet().iterator(); + } else { + return null; + } + } + } + } + + private class Column extends AbstractMap { + final C columnKey; + + Column(C columnKey) { + this.columnKey = columnKey; + } + + @Override + public Set> entrySet() { + return new EntrySet(); + } + + private class EntrySet extends AbstractSet> { + + @Override + public Iterator> iterator() { + return new EntrySetIterator(); + } + + @Override + public int size() { + int size = 0; + for (Map map : raw.values()) { + if (map.containsKey(columnKey)) { + size++; + } + } + return size; + } + } + + private class EntrySetIterator extends ComputeIterator> { + final Iterator>> iterator = raw.entrySet().iterator(); + + @Override + protected Entry computeNext() { + while (iterator.hasNext()) { + final Entry> entry = iterator.next(); + if (entry.getValue().containsKey(columnKey)) { + return new AbstractEntry() { + @Override + public R getKey() { + return entry.getKey(); + } + + @Override + public V getValue() { + return entry.getValue().get(columnKey); + } + + @Override + public V setValue(V value) { + return entry.getValue().put(columnKey, value); + } + }; + } + } + return null; + } + } + } + +} \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/SetValueMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/SetValueMap.java index bb29eafd9e..1f169b0197 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/SetValueMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/SetValueMap.java @@ -33,10 +33,10 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class SetValueMap extends AbsCollValueMap> { +public class SetValueMap extends AbstractCollValueMap> { /** * 构造 diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalLinkType.java b/bus-core/src/main/java/org/aoju/bus/core/map/SimpleEntry.java old mode 100755 new mode 100644 similarity index 79% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalLinkType.java rename to bus-core/src/main/java/org/aoju/bus/core/map/SimpleEntry.java index 55a0577007..371a4c2ee5 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalLinkType.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/SimpleEntry.java @@ -23,28 +23,36 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; +package org.aoju.bus.core.map; /** + * {@link java.util.Map.Entry}简单实现 + * 键值对使用不可变字段表示。 + * + * @param 键类型 + * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ExternalLinkType") -public class ExternalLinkType extends RegistryObjectType { - @XmlAttribute(name = "externalURI", required = true) - @XmlSchemaType(name = "anyURI") - protected String externalURI; +public class SimpleEntry extends AbstractEntry { + + private final K key; + private final V value; + + public SimpleEntry(K key, V value) { + this.key = key; + this.value = value; + } - public String getExternalURI() { - return this.externalURI; + @Override + public K getKey() { + return key; } - public void setExternalURI(String value) { - this.externalURI = value; + @Override + public V getValue() { + return value; } } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/Table.java b/bus-core/src/main/java/org/aoju/bus/core/map/Table.java new file mode 100644 index 0000000000..a73942c32f --- /dev/null +++ b/bus-core/src/main/java/org/aoju/bus/core/map/Table.java @@ -0,0 +1,278 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.core.map; + +import org.aoju.bus.core.lang.Optional; +import org.aoju.bus.core.lang.function.Consumer3; +import org.aoju.bus.core.toolkit.MapKit; + +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +/** + * 表格数据结构定义 + * 此结构类似于Guava的Table接口,使用两个键映射到一个值,类似于表格结构 + * + * @param 行键类型 + * @param 列键类型 + * @param 值类型 + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public interface Table extends Iterable> { + + /** + * 是否包含指定行列的映射 + * 行和列任意一个不存在都会返回{@code false},如果行和列都存在,值为{@code null},也会返回{@code true} + * + * @param rowKey 行键 + * @param columnKey 列键 + * @return 是否包含映射 + */ + default boolean contains(R rowKey, C columnKey) { + return Optional.ofNullable(getRow(rowKey)).map((map) -> map.containsKey(columnKey)).get(); + } + + /** + * 行是否存在 + * + * @param rowKey 行键 + * @return 行是否存在 + */ + default boolean containsRow(R rowKey) { + return Optional.ofNullable(rowMap()).map((map) -> map.containsKey(rowKey)).get(); + } + + /** + * 获取行 + * + * @param rowKey 行键 + * @return 行映射,返回的键为列键,值为表格的值 + */ + default Map getRow(R rowKey) { + return Optional.ofNullable(rowMap()).map((map) -> map.get(rowKey)).get(); + } + + /** + * 返回所有行的key,行的key不可重复 + * + * @return 行键 + */ + default Set rowKeySet() { + return Optional.ofNullable(rowMap()).map(Map::keySet).get(); + } + + /** + * 返回行列对应的Map + * + * @return map,键为行键,值为列和值的对应map + */ + Map> rowMap(); + + /** + * 列是否存在 + * + * @param columnKey 列键 + * @return 列是否存在 + */ + default boolean containsColumn(C columnKey) { + return Optional.ofNullable(columnMap()).map((map) -> map.containsKey(columnKey)).get(); + } + + /** + * 获取列 + * + * @param columnKey 列键 + * @return 列映射,返回的键为行键,值为表格的值 + */ + default Map getColumn(C columnKey) { + return Optional.ofNullable(columnMap()).map((map) -> map.get(columnKey)).get(); + } + + /** + * 返回所有列的key,列的key不可重复 + * + * @return 列set + */ + default Set columnKeySet() { + return Optional.ofNullable(columnMap()).map(Map::keySet).get(); + } + + /** + * 返回列-行对应的map + * + * @return map,键为列键,值为行和值的对应map + */ + Map> columnMap(); + + /** + * 指定值是否存在 + * + * @param value 值 + * @return 值 + */ + default boolean containsValue(V value) { + final Collection> rows = Optional.ofNullable(rowMap()).map(Map::values).get(); + if (null != rows) { + for (Map row : rows) { + if (row.containsValue(value)) { + return true; + } + } + } + return false; + } + + /** + * 获取指定值 + * + * @param rowKey 行键 + * @param columnKey 列键 + * @return 值,如果值不存在,返回{@code null} + */ + default V get(R rowKey, C columnKey) { + return Optional.ofNullable(getRow(rowKey)).map((map) -> map.get(columnKey)).get(); + } + + /** + * 所有行列值的集合 + * + * @return 值的集合 + */ + Collection values(); + + /** + * 所有单元格集合 + * + * @return 单元格集合 + */ + Set> cellSet(); + + /** + * 为表格指定行列赋值,如果不存在,创建之,存在则替换之,返回原值 + * + * @param rowKey 行键 + * @param columnKey 列键 + * @param value 值 + * @return 原值,不存在返回{@code null} + */ + V put(R rowKey, C columnKey, V value); + + /** + * 批量加入 + * + * @param table 其他table + */ + default void putAll(Table table) { + if (null != table) { + for (Cell cell : table.cellSet()) { + put(cell.getRowKey(), cell.getColumnKey(), cell.getValue()); + } + } + } + + /** + * 移除指定值 + * + * @param rowKey 行键 + * @param columnKey 列键 + * @return 移除的值,如果值不存在,返回{@code null} + */ + V remove(R rowKey, C columnKey); + + /** + * 表格是否为空 + * + * @return 是否为空 + */ + boolean isEmpty(); + + /** + * 表格大小,一般为单元格的个数 + * + * @return 表格大小 + */ + default int size() { + final Map> rowMap = rowMap(); + if (MapKit.isEmpty(rowMap)) { + return 0; + } + int size = 0; + for (Map map : rowMap.values()) { + size += map.size(); + } + return size; + } + + /** + * 清空表格 + */ + void clear(); + + /** + * 遍历表格的单元格,处理值 + * + * @param consumer 单元格值处理器 + */ + default void forEach(Consumer3 consumer) { + for (Cell cell : this) { + consumer.accept(cell.getRowKey(), cell.getColumnKey(), cell.getValue()); + } + } + + /** + * 单元格,用于表示一个单元格的行、列和值 + * + * @param 行键类型 + * @param 列键类型 + * @param 值类型 + */ + interface Cell { + /** + * 获取行键 + * + * @return 行键 + */ + R getRowKey(); + + /** + * 获取列键 + * + * @return 列键 + */ + C getColumnKey(); + + /** + * 获取值 + * + * @return 值 + */ + V getValue(); + } + +} diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/TableMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/TableMap.java index ae3b480c5b..64d1f2804f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/map/TableMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/TableMap.java @@ -37,8 +37,8 @@ * @param 键类型 * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TableMap implements Map, Iterable>, Serializable { @@ -181,7 +181,7 @@ public Collection values() { public Set> entrySet() { final Set> hashSet = new LinkedHashSet<>(); for (int i = 0; i < size(); i++) { - hashSet.add(new Entry<>(keys.get(i), values.get(i))); + hashSet.add(new SimpleEntry<>(keys.get(i), values.get(i))); } return hashSet; } @@ -199,7 +199,7 @@ public boolean hasNext() { @Override public Map.Entry next() { - return new Entry<>(keysIter.next(), valuesIter.next()); + return new SimpleEntry<>(keysIter.next(), valuesIter.next()); } @Override @@ -215,48 +215,4 @@ public String toString() { return "TableMap{" + "keys=" + keys + ", values=" + values + '}'; } - private static class Entry implements Map.Entry { - - private final K key; - private final V value; - - public Entry(K key, V value) { - this.key = key; - this.value = value; - } - - @Override - public K getKey() { - return key; - } - - @Override - public V getValue() { - return value; - } - - @Override - public V setValue(V value) { - throw new UnsupportedOperationException("setValue not supported."); - } - - @Override - public final boolean equals(Object o) { - if (o == this) - return true; - if (o instanceof Map.Entry) { - Map.Entry e = (Map.Entry) o; - return Objects.equals(key, e.getKey()) && - Objects.equals(value, e.getValue()); - } - return false; - } - - @Override - public int hashCode() { - return Objects.hashCode(key) ^ Objects.hashCode(value); - } - - } - } diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/TolerantMap.java b/bus-core/src/main/java/org/aoju/bus/core/map/TolerantMap.java index 7b8dff21c2..e709746767 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/map/TolerantMap.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/TolerantMap.java @@ -33,8 +33,8 @@ * 提供默认值的Map * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TolerantMap extends MapWrapper { diff --git a/bus-core/src/main/java/org/aoju/bus/core/map/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/map/package-info.java index 281149d253..df89b3c23b 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/map/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/map/package-info.java @@ -2,7 +2,7 @@ * Map相关封装,提供特殊Map实现以及列表类型值的Map实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.map; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/Arrange.java b/bus-core/src/main/java/org/aoju/bus/core/math/Arrange.java index 3d48f0098d..54db4cffeb 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/math/Arrange.java +++ b/bus-core/src/main/java/org/aoju/bus/core/math/Arrange.java @@ -36,8 +36,8 @@ * 排列相关类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Arrange { diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/Combine.java b/bus-core/src/main/java/org/aoju/bus/core/math/Combine.java index a4ec5ea79f..af66f7f4e8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/math/Combine.java +++ b/bus-core/src/main/java/org/aoju/bus/core/math/Combine.java @@ -37,8 +37,8 @@ * 组合相关类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Combine { diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/Formula.java b/bus-core/src/main/java/org/aoju/bus/core/math/Formula.java index de6f4afefe..11051b0157 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/math/Formula.java +++ b/bus-core/src/main/java/org/aoju/bus/core/math/Formula.java @@ -37,8 +37,8 @@ * 数学表达式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Formula { diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/Money.java b/bus-core/src/main/java/org/aoju/bus/core/math/Money.java index 0df2314731..382f52a94e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/math/Money.java +++ b/bus-core/src/main/java/org/aoju/bus/core/math/Money.java @@ -62,8 +62,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Money implements Serializable, Comparable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/math/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/math/package-info.java index 724ebab417..e11f3a9aec 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/math/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/math/package-info.java @@ -2,7 +2,7 @@ * 提供数学计算相关封装,包括排列组合等,入口为MathUtil * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.math; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/package-info.java index 38b974d518..e16bd5ff9c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/package-info.java @@ -2,7 +2,7 @@ * Bus核心方法及数据结构包 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java index a68cf7bda4..d52fce03c3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardListener.java @@ -33,8 +33,8 @@ * 用户通过实现此接口,实现监听剪贴板内容变化 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ClipboardListener { diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java index 87fc3187c9..57f8a50b17 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/ClipboardMonitor.java @@ -40,8 +40,8 @@ * 剪贴板监听 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum ClipboardMonitor implements ClipboardOwner, Runnable, Closeable { INSTANCE; diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java b/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java index bb46c17900..df3adb9925 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/ImageSelection.java @@ -37,8 +37,8 @@ * 此对象也用于将图像文件和{@link DataFlavor#imageFlavor} 元信息对应 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageSelection implements Transferable, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java b/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java index 764ff9b2b3..8193289c4e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/StringListener.java @@ -36,8 +36,8 @@ * 剪贴板字符串内容监听 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class StringListener implements ClipboardListener, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/swing/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/swing/package-info.java index 0044fa72e5..3a752ce5f9 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/swing/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/swing/package-info.java @@ -2,7 +2,7 @@ * Swing和awt相关封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.swing; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/ASCIICache.java b/bus-core/src/main/java/org/aoju/bus/core/text/ASCIICache.java index cc18d033ac..0daac4b1f0 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/ASCIICache.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/ASCIICache.java @@ -31,8 +31,8 @@ * ASCII字符对应的字符串缓存 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ASCIICache { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/Lookups.java b/bus-core/src/main/java/org/aoju/bus/core/text/Lookups.java index 5fbaa875b9..c68c0d7901 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/Lookups.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/Lookups.java @@ -33,8 +33,8 @@ * 查找字符串值的字符串键. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Lookups { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/Matchers.java b/bus-core/src/main/java/org/aoju/bus/core/text/Matchers.java index 7e9baf8a64..74f2325074 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/Matchers.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/Matchers.java @@ -37,8 +37,8 @@ * 如果这些还不够,您可以子类化并实现自己的匹配器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Matchers { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/NamingCase.java b/bus-core/src/main/java/org/aoju/bus/core/text/NamingCase.java index 6ac030c2a2..a3ab260664 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/NamingCase.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/NamingCase.java @@ -33,8 +33,8 @@ * 命名规则封装,主要是针对驼峰风格命名、连接符命名等的封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NamingCase { @@ -88,7 +88,7 @@ public static String toKebabCase(CharSequence text) { * 将驼峰式命名的字符串转换为使用符号连接方式。如果转换前的驼峰式命名的字符串为空,则返回空字符串 * * @param text 转换前的驼峰式命名的字符串,也可以为符号连接形式 - * @param symbol 连接符 + * @param symbol 原字符串中的连接符连接符 * @return 转换后符号连接方式命名的字符串 */ public static String toSymbolCase(CharSequence text, char symbol) { @@ -112,20 +112,20 @@ public static String toSymbolCase(CharSequence text, char symbol) { //普通首字母大写,如_Abb -> _abb c = Character.toLowerCase(c); } - //后一个为大写,按照专有名词对待,如_AB -> _AB + // 后一个为大写,按照专有名词对待,如_AB -> _AB } else if (Character.isLowerCase(preChar)) { // 前一个为小写 sb.append(symbol); if (null == nextChar || Character.isLowerCase(nextChar) || CharsKit.isNumber(nextChar)) { - //普通首字母大写,如aBcc -> a_bcc + // 普通首字母大写,如aBcc -> a_bcc c = Character.toLowerCase(c); } // 后一个为大写,按照专有名词对待,如aBC -> a_BC } else { - //前一个为大写 - if (null == nextChar || Character.isLowerCase(nextChar)) { + // 前一个为大写 + if (null != nextChar && Character.isLowerCase(nextChar)) { // 普通首字母大写,如ABcc -> A_bcc sb.append(symbol); c = Character.toLowerCase(c); diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/Similarity.java b/bus-core/src/main/java/org/aoju/bus/core/text/Similarity.java index 29a7b7b413..1709e1bc04 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/Similarity.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/Similarity.java @@ -33,8 +33,8 @@ * 在hash之后,仍然能保持这种相似性,就称之为局部敏感hash * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Similarity { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/SplitIterator.java b/bus-core/src/main/java/org/aoju/bus/core/text/SplitIterator.java index d87134a75f..1917d38d21 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/SplitIterator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/SplitIterator.java @@ -41,8 +41,8 @@ * 此迭代器非线程安全 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SplitIterator extends ComputeIterator implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/TextBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/text/TextBuilder.java index d5d6af1194..82ddfb99a4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/TextBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/TextBuilder.java @@ -40,8 +40,8 @@ * 提供比StringBuffer更灵活和更强大的API * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextBuilder implements CharSequence, Appendable, Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/TextFormatter.java b/bus-core/src/main/java/org/aoju/bus/core/text/TextFormatter.java index 611237dd9f..5761ef2da7 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/TextFormatter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/TextFormatter.java @@ -35,8 +35,8 @@ * 字符串格式化工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextFormatter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/TextJoiner.java b/bus-core/src/main/java/org/aoju/bus/core/text/TextJoiner.java index 7267b859e5..d05b593255 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/TextJoiner.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/TextJoiner.java @@ -15,8 +15,8 @@ * 字符连接器(拼接器),通过给定的字符串和多个元素,拼接为一个字符串 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextJoiner implements Appendable, Serializable { @@ -302,6 +302,11 @@ public TextJoiner append(Iterator iterator, Function * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextMatcher { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/TextSplitter.java b/bus-core/src/main/java/org/aoju/bus/core/text/TextSplitter.java index 91598cbca3..2b16e1cad7 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/TextSplitter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/TextSplitter.java @@ -43,8 +43,8 @@ * 字符串切分器,封装统一的字符串分割静态方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextSplitter { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvConfig.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvConfig.java index 4acf777609..a50ca64c6f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvConfig.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvConfig.java @@ -35,8 +35,8 @@ * CSV基础配置项 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CsvConfig> implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvData.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvData.java index f767fcc26f..14cd2b7923 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvData.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvData.java @@ -32,8 +32,8 @@ * CSV数据,包括头部信息和行数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CsvData { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvHandler.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvHandler.java index 1d27a62d23..46c372f8fe 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvHandler.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvHandler.java @@ -29,8 +29,8 @@ * CSV的行处理器,实现此接口用于按照行处理数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface CsvHandler { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvParser.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvParser.java index ad1b8b679d..63e7d6bece 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvParser.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvParser.java @@ -45,8 +45,8 @@ * CSV行解析器,参考:FastCSV * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CsvParser extends ComputeIterator implements Closeable, Serializable { @@ -110,13 +110,13 @@ protected CsvRow computeNext() { } /** - * 获取头部字段列表,如果containsHeader设置为false则抛出异常 + * 获取头部字段列表,如果headerLineNo < 0,抛出异常 * * @return 头部列表 * @throws IllegalStateException 如果不解析头部或者没有调用nextRow()方法 */ public List getHeader() { - if (false == config.containsHeader) { + if (config.headerLineNo < 0) { throw new IllegalStateException("No header available - header parsing is disabled"); } if (lineNo == 0) { @@ -162,8 +162,8 @@ public CsvRow nextRow() throws InstrumentException { maxFieldCount = fieldCount; } - //初始化标题 - if (config.containsHeader && null == header) { + // 初始化标题 + if (lineNo == config.headerLineNo && null == header) { initHeader(currentFields); // 作为标题行后,此行跳过,下一行做为第一行 continue; @@ -398,6 +398,7 @@ public final boolean hasRemaining() { /** * 读取到缓存 + * 全量读取,会重置Buffer中所有数据 * * @param reader {@link Reader} */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReadConfig.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReadConfig.java index c057192fa0..61d7050b9f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReadConfig.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReadConfig.java @@ -31,17 +31,13 @@ * CSV读取配置项 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CsvReadConfig extends CsvConfig implements Serializable { private static final long serialVersionUID = 1L; - /** - * 是否首行做为标题行,默认false - */ - protected boolean containsHeader; /** * 是否跳过空白行,默认true */ @@ -62,6 +58,10 @@ public class CsvReadConfig extends CsvConfig implements Serializa * 每个字段是否去除两边空白符 */ protected boolean trimField; + /** + * 指定标题行号,-1表示无标题行 + */ + protected long headerLineNo = -1; /** * 默认配置 @@ -74,12 +74,24 @@ public static CsvReadConfig defaultConfig() { /** * 设置是否首行做为标题行,默认false + * 当设置为{@code true}时,默认标题行号是{@link #beginLineNo},{@code false}为-1,表示无行号 * * @param containsHeader 是否首行做为标题行,默认false * @return this + * @see #setHeaderLineNo(long) */ public CsvReadConfig setContainsHeader(boolean containsHeader) { - this.containsHeader = containsHeader; + return setHeaderLineNo(containsHeader ? beginLineNo : -1); + } + + /** + * 设置标题行行号,默认-1,表示无标题行 + * + * @param headerLineNo 标题行行号,-1表示无标题行 + * @return this + */ + public CsvReadConfig setHeaderLineNo(long headerLineNo) { + this.headerLineNo = headerLineNo; return this; } diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReader.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReader.java index 8547ceac65..d45da6bf34 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReader.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvReader.java @@ -43,8 +43,8 @@ * CSV文件读取器,参考:FastCSV * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CsvReader implements Iterable, Closeable { @@ -247,7 +247,7 @@ public CsvData read(Reader reader) throws InstrumentException { final CsvParser csvParser = parse(reader); final List rows = new ArrayList<>(); read(csvParser, rows::add); - final List header = config.containsHeader ? csvParser.getHeader() : null; + final List header = config.headerLineNo > -1 ? csvParser.getHeader() : null; return new CsvData(header, rows); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvRow.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvRow.java index 3f39f859f7..857f683bc3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvRow.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvRow.java @@ -35,8 +35,8 @@ * CSV中一行的表示 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CsvRow implements List { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriteConfig.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriteConfig.java index 4857ea20fc..350608bd68 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriteConfig.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriteConfig.java @@ -33,8 +33,8 @@ * CSV写出配置项 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CsvWriteConfig extends CsvConfig implements Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriter.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriter.java index 48fbd3aefe..46ab182e7b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriter.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/CsvWriter.java @@ -42,8 +42,8 @@ * CSV数据写出器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CsvWriter implements Closeable, Flushable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/csv/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/text/csv/package-info.java index 7a204b0cc8..bc00483431 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/csv/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/csv/package-info.java @@ -2,7 +2,7 @@ * 提供CSV文件读写的封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.text.csv; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/EscapeCodeValues.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/EscapeCodeValues.java index 07a104a5d0..88845291e0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/EscapeCodeValues.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/EscapeCodeValues.java @@ -42,8 +42,8 @@ * ESCAPE信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EscapeCodeValues { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/JavaUnicodeEscaper.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/JavaUnicodeEscaper.java index fe617578d7..78a9764295 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/JavaUnicodeEscaper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/JavaUnicodeEscaper.java @@ -31,8 +31,8 @@ * Translates codepoints to their Unicode escaped value suitable for Java source. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaUnicodeEscaper extends UnicodeEscaper { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericEscaper.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericEscaper.java index 86209ba28d..0788f34852 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericEscaper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericEscaper.java @@ -37,8 +37,8 @@ * Translates codepoints to their XML numeric entity escaped value. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NumericEscaper extends CodePointTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericUnescaper.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericUnescaper.java index 8683b5ec3b..36d1240689 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericUnescaper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/NumericUnescaper.java @@ -41,8 +41,8 @@ * Note that the semi-colon is optional. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NumericUnescaper extends CharSequenceTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/OctalUnescaper.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/OctalUnescaper.java index 4b1177a58a..de0b93d179 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/OctalUnescaper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/OctalUnescaper.java @@ -40,8 +40,8 @@ * 1 to 377. This is because parsing Java is the main use case. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OctalUnescaper extends CharSequenceTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeEscaper.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeEscaper.java index fc6a524af6..d1e252a739 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeEscaper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeEscaper.java @@ -36,8 +36,8 @@ * Translates codepoints to their Unicode escaped value. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnicodeEscaper extends CodePointTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnescaper.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnescaper.java index 1b56670af8..1e3c92a36d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnescaper.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnescaper.java @@ -38,8 +38,8 @@ * without the +. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnicodeUnescaper extends CharSequenceTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnpaired.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnpaired.java index a97bf7cd63..9d402bf438 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnpaired.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/UnicodeUnpaired.java @@ -33,8 +33,8 @@ * Helper subclass to CharSequenceTranslator to remove unpaired surrogates. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnicodeUnpaired extends CodePointTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/escape/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/text/escape/package-info.java index 9e052a9e13..aa689045ae 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/escape/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/escape/package-info.java @@ -2,7 +2,7 @@ * 提供各种转义和反转义实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.text.escape; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/CharFinder.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/CharFinder.java index 35ab9bd831..2d9ea91c6e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/CharFinder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/CharFinder.java @@ -34,8 +34,8 @@ * 查找指定字符在字符串中的位置信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CharFinder extends TextFinder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/Finder.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/Finder.java index ffbb8d8e58..9ca9d75222 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/Finder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/Finder.java @@ -30,8 +30,8 @@ * 通过调用{@link #start(int)}查找开始位置,再调用{@link #end(int)}找结束位置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Finder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/LengthFinder.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/LengthFinder.java index 4b3b804708..39ab551e27 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/LengthFinder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/LengthFinder.java @@ -32,8 +32,8 @@ * 给定一个长度,查找的位置为from + length,一般用于分段截取 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LengthFinder extends TextFinder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/MatcherFinder.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/MatcherFinder.java index 8b1b98f226..c3422bd1d6 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/MatcherFinder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/MatcherFinder.java @@ -33,8 +33,8 @@ * 查找满足指定{@link Matcher} 匹配的字符所在位置,此类长用于查找某一类字符,如数字等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MatcherFinder extends TextFinder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/PatternFinder.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/PatternFinder.java index 02b92d587c..7f8be79612 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/PatternFinder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/PatternFinder.java @@ -35,8 +35,8 @@ * 通过传入正则表达式,查找指定字符串中匹配正则的开始和结束位置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PatternFinder extends TextFinder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/StringFinder.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/StringFinder.java index 873e78193f..ae226a9f4c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/StringFinder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/StringFinder.java @@ -33,8 +33,8 @@ * 字符查找器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringFinder extends TextFinder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/TextFinder.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/TextFinder.java index b0659ae02a..d9cb43292c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/TextFinder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/TextFinder.java @@ -33,8 +33,8 @@ * 文本查找抽象类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class TextFinder implements Finder, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/finder/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/text/finder/package-info.java index edd458bf3a..9222d1932e 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/finder/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/finder/package-info.java @@ -9,7 +9,7 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.text.finder; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/text/package-info.java index 86ab1636a1..08d0f7ce70 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/package-info.java @@ -2,7 +2,7 @@ * 提供文本相关操作的封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.text; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/LookupReplacer.java b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/LookupReplacer.java index 6e83558545..3dcc1ad588 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/LookupReplacer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/LookupReplacer.java @@ -36,8 +36,8 @@ * 查找替换器,通过查找指定关键字,替换对应的值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LookupReplacer extends TextReplacer { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/PrivacyReplacer.java b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/PrivacyReplacer.java index d7645937b4..0d338fe574 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/PrivacyReplacer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/PrivacyReplacer.java @@ -40,8 +40,8 @@ * 按值替换字符串中的变量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PrivacyReplacer implements Replacer, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/ReplacerChain.java b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/ReplacerChain.java index 8532aebc88..6d97f84563 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/ReplacerChain.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/ReplacerChain.java @@ -36,8 +36,8 @@ * 字符串替换链,用于组合多个字符串替换逻辑 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReplacerChain extends TextReplacer implements Chain { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/TextReplacer.java b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/TextReplacer.java index d8c921bfb2..70dec232a9 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/TextReplacer.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/TextReplacer.java @@ -35,8 +35,8 @@ * 通过实现replace方法实现局部替换逻辑 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class TextReplacer implements Replacer, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/package-info.java index 525df9209b..be9b1e6948 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/replacer/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/replacer/package-info.java @@ -2,7 +2,7 @@ * 文本替换类抽象及实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.text.replacer; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/translate/AggregateTranslator.java b/bus-core/src/main/java/org/aoju/bus/core/text/translate/AggregateTranslator.java index 90a548837a..dbf04b5496 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/translate/AggregateTranslator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/translate/AggregateTranslator.java @@ -35,13 +35,21 @@ * 第一个转换器使用输入中的代码点 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AggregateTranslator extends CharSequenceTranslator { + /** + * 转换器列表 + */ private final List translators = new ArrayList<>(); + /** + * 构造 + * + * @param translators 转换器 + */ public AggregateTranslator(final CharSequenceTranslator... translators) { if (null != translators) { for (final CharSequenceTranslator translator : translators) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/translate/CharSequenceTranslator.java b/bus-core/src/main/java/org/aoju/bus/core/text/translate/CharSequenceTranslator.java index 6cbc42d295..70a360f15c 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/translate/CharSequenceTranslator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/translate/CharSequenceTranslator.java @@ -35,8 +35,8 @@ * 其核心用途是转义和反转义文本 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class CharSequenceTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/translate/CodePointTranslator.java b/bus-core/src/main/java/org/aoju/bus/core/text/translate/CodePointTranslator.java index bc25b3d764..31d3287a20 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/translate/CodePointTranslator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/translate/CodePointTranslator.java @@ -33,8 +33,8 @@ * 以支持转换一次最多替换一个字符 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class CodePointTranslator extends CharSequenceTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/translate/LookupTranslator.java b/bus-core/src/main/java/org/aoju/bus/core/text/translate/LookupTranslator.java index 983c505abf..85465b6670 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/translate/LookupTranslator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/translate/LookupTranslator.java @@ -37,8 +37,8 @@ * 使用查找表转换值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LookupTranslator extends CharSequenceTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/translate/SinglePassTranslator.java b/bus-core/src/main/java/org/aoju/bus/core/text/translate/SinglePassTranslator.java index ab5fb4592c..00f1feec36 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/text/translate/SinglePassTranslator.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/translate/SinglePassTranslator.java @@ -33,8 +33,8 @@ * 处理初始索引检查和返回代码点的计数. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ abstract class SinglePassTranslator extends CharSequenceTranslator { diff --git a/bus-core/src/main/java/org/aoju/bus/core/text/translate/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/text/translate/package-info.java index 78024d47b8..15f618e093 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/text/translate/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/text/translate/package-info.java @@ -2,7 +2,7 @@ * 提供文本转换相关封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.text.translate; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/AtomicNoLock.java b/bus-core/src/main/java/org/aoju/bus/core/thread/AtomicNoLock.java index 549af2ac21..105f3901e9 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/AtomicNoLock.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/AtomicNoLock.java @@ -33,8 +33,8 @@ * 无锁实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AtomicNoLock implements Lock { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/DelegatedService.java b/bus-core/src/main/java/org/aoju/bus/core/thread/DelegatedService.java index 2da77fd1d7..dda490ebd7 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/DelegatedService.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/DelegatedService.java @@ -34,8 +34,8 @@ * ExecutorService 代理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DelegatedService extends AbstractExecutorService { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorBuilder.java index ebc2464dd2..34be9cabda 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorBuilder.java @@ -42,8 +42,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExecutorBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorService.java b/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorService.java index d1121759a7..21bacada3c 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorService.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/ExecutorService.java @@ -29,8 +29,8 @@ * 保证ExecutorService在对象回收时正常结束 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExecutorService extends DelegatedService { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/GlobalThread.java b/bus-core/src/main/java/org/aoju/bus/core/thread/GlobalThread.java index 1b063ba731..68fc2829ea 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/GlobalThread.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/GlobalThread.java @@ -35,8 +35,8 @@ * 全局公共线程池 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GlobalThread { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThread.java b/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThread.java index 851bd7a321..1d847ed196 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThread.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThread.java @@ -31,8 +31,8 @@ * * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NamedThread extends InheritableThreadLocal { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadFactory.java b/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadFactory.java index a685ccddd9..30ea4bbb4b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadFactory.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadFactory.java @@ -41,8 +41,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NamedThreadFactory implements ThreadFactory { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadLocal.java b/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadLocal.java index 66b76bb818..8d543673c9 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadLocal.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/NamedThreadLocal.java @@ -31,8 +31,8 @@ * * @param 值类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NamedThreadLocal extends ThreadLocal { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/RejectPolicy.java b/bus-core/src/main/java/org/aoju/bus/core/thread/RejectPolicy.java index f2b243087e..326b728f50 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/RejectPolicy.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/RejectPolicy.java @@ -37,8 +37,8 @@ * 此枚举为JDK预定义的几种策略枚举表示 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum RejectPolicy { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/Semaphore.java b/bus-core/src/main/java/org/aoju/bus/core/thread/Semaphore.java index bf2d751f09..f8a299fc19 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/Semaphore.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/Semaphore.java @@ -35,8 +35,8 @@ *

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Semaphore implements Runnable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/SyncFinisher.java b/bus-core/src/main/java/org/aoju/bus/core/thread/SyncFinisher.java index 793c817d25..125cd120c0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/SyncFinisher.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/SyncFinisher.java @@ -40,8 +40,8 @@ * 不能保证同时开始 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SyncFinisher { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/ThreadBuilder.java b/bus-core/src/main/java/org/aoju/bus/core/thread/ThreadBuilder.java index b64bbb7fba..3e17824291 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/ThreadBuilder.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/ThreadBuilder.java @@ -37,8 +37,8 @@ * ThreadFactory创建器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ThreadBuilder implements Builder { diff --git a/bus-core/src/main/java/org/aoju/bus/core/thread/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/thread/package-info.java index 27de72db6c..4c20c58bf4 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/thread/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/thread/package-info.java @@ -2,7 +2,7 @@ * 提供线程及高并发封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.thread; \ No newline at end of file diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/$.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/$.java index a8bab04a3a..3abe24289e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/$.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/$.java @@ -32,8 +32,8 @@ * 工具包集合,工具类快捷方式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class $ { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/AnnoKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/AnnoKit.java index 24c198a56e..e9e8d27a3e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/AnnoKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/AnnoKit.java @@ -25,6 +25,7 @@ ********************************************************************************/ package org.aoju.bus.core.toolkit; +import org.aoju.bus.core.annotation.AnnoProxy; import org.aoju.bus.core.annotation.Element; import java.lang.annotation.*; @@ -40,8 +41,8 @@ * 快速获取注解对象、注解值等工具封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AnnoKit { @@ -227,4 +228,17 @@ public static void setValue(Annotation annotation, String annotationField, Objec memberValues.put(annotationField, value); } + /** + * 获取别名支持后的注解 + * + * @param annotationEle 被注解的类 + * @param annotationType 注解类型Class + * @param 注解类型 + * @return 别名支持后的注解 + */ + public static T getAnnotationAlias(AnnotatedElement annotationEle, Class annotationType) { + final T annotation = getAnnotation(annotationEle, annotationType); + return (T) Proxy.newProxyInstance(annotationType.getClassLoader(), new Class[]{annotationType}, new AnnoProxy<>(annotation)); + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ArrayKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ArrayKit.java index cdc7106674..ab8d7bfd58 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ArrayKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ArrayKit.java @@ -44,8 +44,8 @@ * 数组工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ArrayKit { @@ -589,7 +589,7 @@ public static boolean hasNull(T... array) { } } } - return false; + return array == null; } /** @@ -1370,292 +1370,261 @@ public static boolean isSameLength(final boolean[] array1, final boolean[] array } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final Object[] array) { - if (null == array) { - return; - } - reverse(array, 0, array.length); + public static long[] reverse(long[] array) { + return reverse(array, 0, array.length); } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final long[] array) { - if (null == array) { - return; + public static long[] reverse(long[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - reverse(array, 0, array.length); - } - - /** - * 反转数组,会变更原数组 - * - * @param array 数组,会变更 - */ - public static void reverse(final int[] array) { - if (null == array) { - return; + int i = Math.max(startIndex, 0); + int j = Math.min(array.length, endIndex) - 1; + while (j > i) { + swap(array, i, j); + j--; + i++; } - reverse(array, 0, array.length); + return array; } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final short[] array) { - if (null == array) { - return; - } - reverse(array, 0, array.length); + public static int[] reverse(int[] array) { + return reverse(array, 0, array.length); } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final char[] array) { - if (null == array) { - return; + public static int[] reverse(int[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - reverse(array, 0, array.length); - } - - /** - * 反转数组,会变更原数组 - * - * @param array 数组,会变更 - */ - public static void reverse(final byte[] array) { - if (null == array) { - return; + int i = Math.max(startIndex, 0); + int j = Math.min(array.length, endIndex) - 1; + while (j > i) { + swap(array, i, j); + j--; + i++; } - reverse(array, 0, array.length); + return array; } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final double[] array) { - if (null == array) { - return; - } - reverse(array, 0, array.length); + public static short[] reverse(short[] array) { + return reverse(array, 0, array.length); } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final float[] array) { - if (null == array) { - return; + public static short[] reverse(short[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - reverse(array, 0, array.length); + int i = Math.max(startIndex, 0); + int j = Math.min(array.length, endIndex) - 1; + while (j > i) { + swap(array, i, j); + j--; + i++; + } + return array; } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final boolean[] array) { - if (null == array) { - return; - } - reverse(array, 0, array.length); + public static char[] reverse(char[] array) { + return reverse(array, 0, array.length); } /** - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * 反转数组,会变更原数组 + * + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final boolean[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; + public static char[] reverse(char[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - int i = startIndex < 0 ? 0 : startIndex; + int i = Math.max(startIndex, 0); int j = Math.min(array.length, endIndex) - 1; while (j > i) { swap(array, i, j); j--; i++; } + return array; } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final byte[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; - } - int i = startIndex < 0 ? 0 : startIndex; - int j = Math.min(array.length, endIndex) - 1; - while (j > i) { - swap(array, i, j); - j--; - i++; - } + public static byte[] reverse(byte[] array) { + return reverse(array, 0, array.length); } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final char[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; + public static byte[] reverse(byte[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - int i = startIndex < 0 ? 0 : startIndex; + int i = Math.max(startIndex, 0); int j = Math.min(array.length, endIndex) - 1; while (j > i) { swap(array, i, j); j--; i++; } + return array; } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final double[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; - } - int i = startIndex < 0 ? 0 : startIndex; - int j = Math.min(array.length, endIndex) - 1; - while (j > i) { - swap(array, i, j); - j--; - i++; - } + public static double[] reverse(double[] array) { + return reverse(array, 0, array.length); } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final float[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; + public static double[] reverse(double[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - int i = startIndex < 0 ? 0 : startIndex; + int i = Math.max(startIndex, 0); int j = Math.min(array.length, endIndex) - 1; while (j > i) { swap(array, i, j); j--; i++; } + return array; } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final int[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; - } - int i = startIndex < 0 ? 0 : startIndex; - int j = Math.min(array.length, endIndex) - 1; - while (j > i) { - swap(array, i, j); - j--; - i++; - } + public static float[] reverse(float[] array) { + return reverse(array, 0, array.length); } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final long[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; + public static float[] reverse(float[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - int i = startIndex < 0 ? 0 : startIndex; + int i = Math.max(startIndex, 0); int j = Math.min(array.length, endIndex) - 1; while (j > i) { swap(array, i, j); j--; i++; } + return array; } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @return 变更后的原数组 */ - public static void reverse(final Object[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; - } - int i = startIndex < 0 ? 0 : startIndex; - int j = Math.min(array.length, endIndex) - 1; - while (j > i) { - swap(array, i, j); - j--; - i++; - } + public static boolean[] reverse(boolean[] array) { + return reverse(array, 0, array.length); } /** - * 反转数组,会变更原数组 + * 反转数组,会变更原数组 * - * @param array 数组,会变更 - * @param startIndex 其实位置(包含) - * @param endIndex 结束位置(不包含) + * @param array 数组,会变更 + * @param startIndex 其实位置(包含) + * @param endIndex 结束位置(不包含) + * @return 变更后的原数组 */ - public static void reverse(final short[] array, final int startIndex, final int endIndex) { - if (null == array) { - return; + public static boolean[] reverse(boolean[] array, final int startIndex, final int endIndex) { + if (isEmpty(array)) { + return array; } - int i = startIndex < 0 ? 0 : startIndex; + int i = Math.max(startIndex, 0); int j = Math.min(array.length, endIndex) - 1; while (j > i) { swap(array, i, j); j--; i++; } + return array; } - /** * 交换数组中连个位置的值 * @@ -7082,18 +7051,6 @@ public static T[] setOrAppend(T[] buffer, int index, T value) { } } - /** - * 将新元素插入到到已有数组中的某个位置 - * 添加新元素会生成一个新的数组,不影响原数组 - * 如果插入位置为为负数,从原数组从后向前计数,若大于原数组长度,则空白处用null填充 - * - * @param 数组元素类型 - * @param array 已有数组 - * @param index 插入位置,此位置为对应此位置元素之前的空档 - * @param newElements 新元素 - * @return 新数组 - * - */ /** * 将元素值设置为数组的某个位置,当给定的index大于数组长度,则追加 * @@ -7111,6 +7068,46 @@ public static Object setOrAppend(Object array, int index, Object value) { } } + /** + * 将新元素插入到到已有数组中的某个位置 + * 添加新元素会生成一个新数组或原有数组 + * 如果插入位置为为负数,那么生成一个由插入元素顺序加已有数组顺序的新数组 + * + * @param 数组元素类型 + * @param buffer 已有数组 + * @param index 位置,大于长度追加,否则替换,<0表示从头部追加 + * @param values 新值 + * @return 新数组或原有数组 + */ + public static T[] replace(T[] buffer, int index, T... values) { + if (isEmpty(values)) { + return buffer; + } + if (isEmpty(buffer)) { + return values; + } + if (index < 0) { + // 从头部追加 + return insert(buffer, 0, values); + } + if (index >= buffer.length) { + // 超出长度,尾部追加 + return append(buffer, values); + } + + if (buffer.length >= values.length + index) { + System.arraycopy(values, 0, buffer, index, values.length); + return buffer; + } + + // 替换长度大于原数组长度,新建数组 + int newArrayLength = index + values.length; + final T[] result = newArray(buffer.getClass().getComponentType(), newArrayLength); + System.arraycopy(buffer, 0, result, 0, index); + System.arraycopy(values, 0, result, index, values.length); + return result; + } + /** * 生成一个新的重新设置大小的数组 * 调整大小后拷贝原数组到新数组下 扩大则占位前N个位置,缩小则截断 diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BeanKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BeanKit.java index 2f9217d3f8..99553cd80b 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BeanKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BeanKit.java @@ -50,8 +50,8 @@ * 把一个拥有对属性进行set和get方法的类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BeanKit { @@ -210,20 +210,15 @@ public static boolean hasPublicField(Class clazz) { * 判断Bean是否包含值为null的属性 * 对象本身为null也返回true * - * @param bean Bean对象 - * @param ignoreFiledNames 忽略检查的字段名 - * @return 是否包含值为null的属性,true - 包含 / false - 不包含 + * @param bean Bean对象 + * @return 是否包含值为null的属性,true - 包含 / false - 不包含 */ - public static boolean hasNullField(Object bean, String... ignoreFiledNames) { + public static boolean hasNullField(Object bean) { if (null == bean) { return true; } for (Field field : ReflectKit.getFields(bean.getClass())) { - if (isStatic(field)) { - continue; - } - if ((false == ArrayKit.contains(ignoreFiledNames, field.getName())) - && null == ReflectKit.getFieldValue(bean, field)) { + if (null == ReflectKit.getFieldValue(bean, field)) { return true; } } @@ -234,15 +229,20 @@ public static boolean hasNullField(Object bean, String... ignoreFiledNames) { * 判断Bean是否包含值为null的属性 * 对象本身为null也返回true * - * @param bean Bean对象 - * @return 是否包含值为null的属性,true - 包含 / false - 不包含 + * @param bean Bean对象 + * @param ignoreFiledNames 忽略检查的字段名 + * @return 是否包含值为null的属性,true - 包含 / false - 不包含 */ - public static boolean hasNullField(Object bean) { + public static boolean hasNullField(Object bean, String... ignoreFiledNames) { if (null == bean) { return true; } for (Field field : ReflectKit.getFields(bean.getClass())) { - if (null == ReflectKit.getFieldValue(bean, field)) { + if (isStatic(field)) { + continue; + } + if ((false == ArrayKit.contains(ignoreFiledNames, field.getName())) + && null == ReflectKit.getFieldValue(bean, field)) { return true; } } @@ -1161,6 +1161,29 @@ public static T edit(T bean, Editor editor) { return bean; } + /** + * 获取Getter或Setter方法名对应的字段名称,规则如下: + *
    + *
  • getXxxx获取为xxxx,如getName得到name
  • + *
  • setXxxx获取为xxxx,如setName得到name
  • + *
  • isXxxx获取为xxxx,如isName得到name
  • + *
  • 其它不满足规则的方法名抛出{@link IllegalArgumentException}
  • + *
+ * + * @param getterOrSetterName Getter或Setter方法名 + * @return 字段名称 + * @throws IllegalArgumentException 非Getter或Setter方法 + */ + public static String getFieldName(String getterOrSetterName) { + if (getterOrSetterName.startsWith("get") || getterOrSetterName.startsWith("set")) { + return StringKit.removePreAndLowerFirst(getterOrSetterName, 3); + } else if (getterOrSetterName.startsWith("is")) { + return StringKit.removePreAndLowerFirst(getterOrSetterName, 2); + } else { + throw new IllegalArgumentException("Invalid Getter or Setter name: " + getterOrSetterName); + } + } + /** * 修饰符枚举 */ diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BloomKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BloomKit.java index 357b04db3a..5d0624db3d 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BloomKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BloomKit.java @@ -32,8 +32,8 @@ * 布隆过滤器工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BloomKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BooleanKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BooleanKit.java index 156a90acae..ab65e4c5b4 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BooleanKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BooleanKit.java @@ -32,8 +32,8 @@ * Boolean类型相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BooleanKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BufferKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BufferKit.java index 4d5dc5c6f1..083e34517f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/BufferKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/BufferKit.java @@ -42,8 +42,8 @@ * ByteBuffer的相关介绍见:https://www.cnblogs.com/ruber/p/6857159.html * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BufferKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ByteKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ByteKit.java index dc31d7cab6..48fa764700 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ByteKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ByteKit.java @@ -52,8 +52,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ByteKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CallerKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CallerKit.java index 26ed7c953d..933eecc3a3 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CallerKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CallerKit.java @@ -34,8 +34,8 @@ * 调用者 可以通过此类的方法获取调用者、多级调用者以及判断是否被调用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CallerKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CardKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CardKit.java index 8a2118292d..8d44bea8ae 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CardKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CardKit.java @@ -35,8 +35,8 @@ * 银行卡工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CardKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CertKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CertKit.java index 8261686026..7b0ae8af37 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CertKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CertKit.java @@ -38,8 +38,8 @@ * 获取ssl证书信息工具类 * * @author zhaocy - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CertKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CharsKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CharsKit.java index f19ae9c429..694bc8c64d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CharsKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CharsKit.java @@ -49,8 +49,8 @@ * 部分工具来自于Apache * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CharsKit { @@ -1141,7 +1141,7 @@ public static String removePrefixIgnoreCase(CharSequence text, CharSequence pref } final String str2 = text.toString(); - if (str2.toLowerCase().startsWith(prefix.toString().toLowerCase())) { + if (startWithIgnoreCase(text, prefix)) { return subSuf(str2, prefix.length());// 截取后半段 } return str2; @@ -1166,6 +1166,36 @@ public static String removeSuffix(CharSequence text, CharSequence suffix) { return str2; } + /** + * 去掉指定后缀,并小写首字母 + * + * @param str 字符串 + * @param suffix 后缀 + * @return 切掉后的字符串,若后缀不是 suffix, 返回原字符串 + */ + public static String removeSufAndLowerFirst(CharSequence str, CharSequence suffix) { + return lowerFirst(removeSuffix(str, suffix)); + } + + /** + * 忽略大小写去掉指定后缀 + * + * @param str 字符串 + * @param suffix 后缀 + * @return 切掉后的字符串,若后缀不是 suffix, 返回原字符串 + */ + public static String removeSuffixIgnoreCase(CharSequence str, CharSequence suffix) { + if (isEmpty(str) || isEmpty(suffix)) { + return toString(str); + } + + final String str2 = str.toString(); + if (endWithIgnoreCase(str, suffix)) { + return subPre(str2, str2.length() - suffix.length()); + } + return str2; + } + /** * 原字符串首字母大写并在其首部添加指定字符串 * 例如:text=name, preString=get = return getName @@ -2426,6 +2456,20 @@ public static String blankToDefault(CharSequence text, String defaultStr) { return isBlank(text) ? defaultStr : text.toString(); } + /** + * 截取第一个字串的部分字符,与第二个字符串比较(长度一致),判断截取的子串是否相同 + * 任意一个字符串为null返回false + * + * @param str1 第一个字符串 + * @param start1 第一个字符串开始的位置 + * @param str2 第二个字符串 + * @param ignoreCase 是否忽略大小写 + * @return 子串是否相同 + */ + public static boolean isSubEquals(CharSequence str1, int start1, CharSequence str2, boolean ignoreCase) { + return isSubEquals(str1, start1, str2, 0, str2.length(), ignoreCase); + } + /** * 截取两个字符串的不同部分(长度一致),判断截取的子串是否相同 * 任意一个字符串为null返回false @@ -2734,7 +2778,7 @@ public static String replace(CharSequence text, String regex, Func1 + * 替换指定字符串的指定区间内字符为指定字符串,字符串只重复一次 * 此方法使用{@link String#codePoints()}完成拆分替换 * * @param text 字符串 @@ -3146,12 +3190,8 @@ public static boolean startWith(CharSequence text, CharSequence prefix, boolean return null == text && null == prefix; } - boolean isStartWith; - if (ignoreCase) { - isStartWith = text.toString().toLowerCase().startsWith(prefix.toString().toLowerCase()); - } else { - isStartWith = text.toString().startsWith(prefix.toString()); - } + boolean isStartWith = text.toString() + .regionMatches(ignoreCase, 0, prefix.toString(), 0, prefix.length()); if (isStartWith) { return (false == ignoreEquals) || (false == equals(text, prefix, ignoreCase)); @@ -3231,23 +3271,44 @@ public static boolean endWith(CharSequence text, char c) { * 是否以指定字符串结尾 * 如果给定的字符串和开头字符串都为null则返回true,否则任意一个值为null返回false * + * @param text 被监测字符串 + * @param suffix 结尾字符串 + * @param ignoreCase 是否忽略大小写 + * @return 是否以指定字符串结尾 + */ + public static boolean endWith(CharSequence text, CharSequence suffix, boolean ignoreCase) { + return endWith(text, suffix, ignoreCase, false); + } + + /** + * 是否以指定字符串结尾 + * 如果给定的字符串和开头字符串都为null则返回true,否则任意一个值为null返回false + * * @param text 被监测字符串 * @param suffix 结尾字符串 - * @param isIgnoreCase 是否忽略大小写 + * @param ignoreCase 是否忽略大小写 + * @param ignoreEquals 是否忽略字符串相等的情况 * @return 是否以指定字符串结尾 */ - public static boolean endWith(CharSequence text, CharSequence suffix, boolean isIgnoreCase) { + public static boolean endWith(CharSequence text, CharSequence suffix, boolean ignoreCase, boolean ignoreEquals) { if (null == text || null == suffix) { + if (ignoreEquals) { + return false; + } return null == text && null == suffix; } - if (isIgnoreCase) { - return text.toString().toLowerCase().endsWith(suffix.toString().toLowerCase()); - } else { - return text.toString().endsWith(suffix.toString()); + final int strOffset = text.length() - suffix.length(); + boolean isEndWith = text.toString() + .regionMatches(ignoreCase, strOffset, suffix.toString(), 0, suffix.length()); + + if (isEndWith) { + return (false == ignoreEquals) || (false == equals(text, suffix, ignoreCase)); } + return false; } + /** * 是否以指定字符串结尾 * @@ -3553,7 +3614,7 @@ public static boolean containsIgnoreCase(CharSequence text, CharSequence testStr // 如果被监测字符串和 return null == testStr; } - return text.toString().toLowerCase().contains(testStr.toString().toLowerCase()); + return indexOfIgnoreCase(text, testStr) > -1; } /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CitizenIdKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CitizenIdKit.java index 4ec4cf1ebb..94631ed798 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CitizenIdKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CitizenIdKit.java @@ -37,8 +37,8 @@ * 身份证相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CitizenIdKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ClassKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ClassKit.java index 61761106e2..c1b8b14d41 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ClassKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ClassKit.java @@ -64,8 +64,8 @@ * Class工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ClassKit { @@ -783,6 +783,16 @@ public static boolean isSynthetic(Class clazz) { return clazz.isSynthetic(); } + /** + * 是否抽象方法 + * + * @param method 方法 + * @return 是否抽象方法 + */ + public static boolean isAbstract(Method method) { + return BeanKit.hasModifier(method, BeanKit.ModifierType.ABSTRACT); + } + /** * 是否为抽象类 * diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CollKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CollKit.java index ff5253ef51..dbd7921758 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CollKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CollKit.java @@ -54,8 +54,8 @@ * 集合相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CollKit { @@ -1605,12 +1605,13 @@ public static List> splitAvg(List list, int limit) { * @return 过滤后的数组 */ public static Collection filter(Collection collection, Editor editor) { - Collection collection2 = ObjectKit.clone(collection); - try { - collection2.clear(); - } catch (UnsupportedOperationException e) { - // 克隆后的对象不支持清空,说明为不可变集合对象,使用默认的ArrayList保存结果 - collection2 = new ArrayList<>(); + if (null == collection || null == editor) { + return collection; + } + + final Collection collection2 = create(collection.getClass()); + if (isEmpty(collection)) { + return collection2; } T modified; @@ -3826,23 +3827,25 @@ public static Map merge(Map map1, Map map2, BiFun /** * 将指定元素交换到指定索引位置,其他元素的索引值不变 - * 交换会修改原List + * 交换会修改原List如果集合中有多个相同元素,只交换第一个找到的元素 * * @param 处理参数类型 * @param list 列表 * @param element 需交换元素 * @param targetIndex 目标索引 */ - public static void swapIndex(List list, T element, Integer targetIndex) { - if (isEmpty(list) || !list.contains(element)) { - return; + public static void swapTo(List list, T element, Integer targetIndex) { + if (isNotEmpty(list)) { + final int index = list.indexOf(element); + if (index >= 0) { + Collections.swap(list, index, targetIndex); + } } - Collections.swap(list, list.indexOf(element), targetIndex); } /** * 将指定元素交换到指定元素位置,其他元素的索引值不变 - * 交换会修改原List + * 交换会修改原List如果集合中有多个相同元素,只交换第一个找到的元素 * * @param 处理参数类型 * @param list 列表 @@ -3850,10 +3853,12 @@ public static void swapIndex(List list, T element, Integer targetIndex) { * @param targetElement 目标元素 */ public static void swapElement(List list, T element, T targetElement) { - if (isEmpty(list) || !list.contains(targetElement)) { - return; + if (isNotEmpty(list)) { + final int targetIndex = list.indexOf(targetElement); + if (targetIndex >= 0) { + swapTo(list, element, targetIndex); + } } - swapIndex(list, element, list.indexOf(targetElement)); } /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ComplexKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ComplexKit.java index eb513034ae..54669a1a06 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ComplexKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ComplexKit.java @@ -33,8 +33,8 @@ * 来自:https://github.com/venshine/CheckPasswordStrength * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ComplexKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CsvKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CsvKit.java index 6c464823b0..3712ba9065 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/CsvKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/CsvKit.java @@ -39,8 +39,8 @@ * CSV工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CsvKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/DateKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/DateKit.java index 8a670617f3..1261237f71 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/DateKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/DateKit.java @@ -28,16 +28,17 @@ import org.aoju.bus.core.date.*; import org.aoju.bus.core.lang.Fields; -import java.util.Calendar; -import java.util.Date; -import java.util.List; +import java.util.*; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 时间工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DateKit extends Almanac { @@ -125,7 +126,69 @@ public static Boundary range(Date start, Date end, final Fields.Type type) { } /** - * 创建日期范围生成器 + * 两个时间区间取交集 + * + * @param start 开始区间 + * @param end 结束区间 + * @return true 包含 + */ + public static List rangeContains(Boundary start, Boundary end) { + List startDateTimes = CollKit.newArrayList((Iterable) start); + List endDateTimes = CollKit.newArrayList((Iterable) end); + return startDateTimes.stream().filter(endDateTimes::contains).collect(Collectors.toList()); + } + + /** + * 两个时间区间取差集(end - start) + * + * @param start 开始区间 + * @param end 结束区间 + * @return true 包含 + */ + public static List rangeNotContains(Boundary start, Boundary end) { + List startDateTimes = CollKit.newArrayList((Iterable) start); + List endDateTimes = CollKit.newArrayList((Iterable) end); + return endDateTimes.stream().filter(item -> !startDateTimes.contains(item)).collect(Collectors.toList()); + } + + /** + * 按日期范围遍历,执行 function + * + * @param start 起始日期时间(包括) + * @param end 结束日期时间 + * @param type 步进单位 + * @param func 每次遍历要执行的 function + * @param Date经过函数处理结果类型 + * @return 结果列表 + */ + public static List rangeFunc(Date start, Date end, final Fields.Type type, Function func) { + if (start == null || end == null || start.after(end)) { + return Collections.emptyList(); + } + ArrayList list = new ArrayList<>(); + for (DateTime date : range(start, end, type)) { + list.add(func.apply(date)); + } + return list; + } + + /** + * 按日期范围遍历,执行 consumer + * + * @param start 起始日期时间(包括) + * @param end 结束日期时间 + * @param type 步进单位 + * @param consumer 每次遍历要执行的 consumer + */ + public static void rangeConsume(Date start, Date end, final Fields.Type type, Consumer consumer) { + if (start == null || end == null || start.after(end)) { + return; + } + range(start, end, type).forEach(consumer); + } + + /** + * 根据步进单位获取起始日期时间和结束日期时间的时间区间集合 * * @param start 起始日期时间 * @param end 结束日期时间 @@ -137,12 +200,12 @@ public static List rangeToList(Date start, Date end, Fields.Type type) } /** - * 创建日期范围生成器 + * 根据步进单位和步进获取起始日期时间和结束日期时间的时间区间集合 * * @param start 起始日期时间 * @param end 结束日期时间 * @param type 步进单位 - * @param step 步进数 + * @param step 步进 * @return {@link Boundary} */ public static List rangeToList(Date start, Date end, final Fields.Type type, int step) { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/EnumKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/EnumKit.java index 9fdc729008..e93d0f776a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/EnumKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/EnumKit.java @@ -34,8 +34,8 @@ * 枚举工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EnumKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/EscapeKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/EscapeKit.java index ec8c69dc7c..09369100ea 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/EscapeKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/EscapeKit.java @@ -34,8 +34,8 @@ * Java, Java Script, HTML and XML. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EscapeKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/FileKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/FileKit.java index 84d4bad9e7..a26614ab04 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/FileKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/FileKit.java @@ -56,8 +56,8 @@ * 文件工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileKit { @@ -809,7 +809,7 @@ public static File mkdir(File dir) { return null; } if (false == dir.exists()) { - dir.mkdirs(); + mkdirsSafely(dir, 5, 1); } return dir; } @@ -831,6 +831,32 @@ public static Path mkdir(Path dir) { return dir; } + /** + * 创建所给文件或目录的父目录 + * + * @param file 文件或目录 + * @return 父目录 + */ + public static File mkParentDirs(File file) { + if (null == file) { + return null; + } + return mkdir(getParent(file, 1)); + } + + /** + * 创建父文件夹,如果存在直接返回此文件夹 + * + * @param path 文件夹路径,使用POSIX格式,无论哪个平台 + * @return 创建的目录 + */ + public static File mkParentDirs(String path) { + if (path == null) { + return null; + } + return mkParentDirs(file(path)); + } + /** * 安全地级联创建目录 (确保并发环境下能创建成功) * @@ -842,28 +868,30 @@ public static Path mkdir(Path dir) { * file.createNewFile(); // 抛出 IO 异常,因为该线程无法感知到父目录已被创建 * * - * @param dir 待创建的目录 + * @param dir 待创建的目录 + * @param tryCount 最大尝试次数 + * @param sleepMillis 线程等待的毫秒数 * @return true表示创建成功,false表示创建失败 */ - public static boolean mkdirsSafely(File dir) { + public static boolean mkdirsSafely(File dir, int tryCount, long sleepMillis) { if (dir == null) { return false; } if (dir.isDirectory()) { return true; } - // 高并发场景下,可以看到 i 处于 1 ~ 3 之间 - for (int i = 1; i <= 5; i++) { + for (int i = 1; i <= tryCount; i++) { // 高并发场景下,可以看到 i 处于 1 ~ 3 之间 // 如果文件已存在,也会返回 false,所以该值不能作为是否能创建的依据,因此不对其进行处理 dir.mkdirs(); if (dir.exists()) { return true; } - ThreadKit.sleep(1); + ThreadKit.sleep(sleepMillis); } return dir.exists(); } + /** * 创建临时文件 * 创建后的文件名为 prefix[Randon].tmp @@ -876,6 +904,53 @@ public static File createTempFile(File dir) throws InstrumentException { return createTempFile("create", null, dir, true); } + /** + * 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].tmp + * 默认临时文件目录由系统属性 {@code java.io.tmpdir} 指定 + * 在 UNIX 系统上,此属性的默认值通常是 {@code "tmp"} 或 {@code "vartmp"} + * 在 Microsoft Windows 系统上,它通常是 {@code "C:\\WINNT\\TEMP"} + * 调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响 + * + * @return 临时文件 + * @throws InstrumentException IO异常 + */ + public static File createTempFile() throws InstrumentException { + return createTempFile("bus", null, null, true); + } + + /** + * 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix + * 默认临时文件目录由系统属性 {@code java.io.tmpdir} 指定 + * 在 UNIX 系统上,此属性的默认值通常是 {@code "tmp"} 或 {@code "vartmp"} + * 在 Microsoft Windows 系统上,它通常是 {@code "C:\\WINNT\\TEMP"} + * 调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响 + * + * @param suffix 后缀,如果null则使用默认.tmp + * @param isReCreat 是否重新创建文件(删掉原来的,创建新的) + * @return 临时文件 + * @throws InstrumentException IO异常 + */ + public static File createTempFile(String suffix, boolean isReCreat) throws InstrumentException { + return createTempFile("bus", suffix, null, isReCreat); + } + + /** + * 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix + * 默认临时文件目录由系统属性 {@code java.io.tmpdir} 指定 + * 在 UNIX 系统上,此属性的默认值通常是 {@code "tmp"} 或 {@code "vartmp"} + * 在 Microsoft Windows 系统上,它通常是 {@code "C:\\WINNT\\TEMP"} + * 调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响 + * + * @param prefix 前缀,至少3个字符 + * @param suffix 后缀,如果null则使用默认.tmp + * @param isReCreat 是否重新创建文件(删掉原来的,创建新的) + * @return 临时文件 + * @throws InstrumentException IO异常 + */ + public static File createTempFile(String prefix, String suffix, boolean isReCreat) throws InstrumentException { + return createTempFile(prefix, suffix, null, isReCreat); + } + /** * 创建临时文件 * 创建后的文件名为 prefix[Randon].tmp @@ -1431,7 +1506,7 @@ public static int indexOfSuffix(String filename) { /** * 返回最后一个目录分隔符的索引 *

- * 此方法将处理Unix或Windows格式的文件。 + * 此方法将处理Unix或Windows格式的文件 * 返回最后一个正斜杠或反斜杠的位置. *

* @@ -1475,7 +1550,7 @@ public static Date lastModifiedTime(String path) { * 计算目录或文件的总大小 * 当给定对象为文件时,直接调用 {@link File#length()} * 当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回 - * 此方法不包括目录本身的占用空间大小。 + * 此方法不包括目录本身的占用空间大小 * * @param file 目录或文件,null或者文件不存在返回0 * @return 总大小,bytes长度 @@ -1994,6 +2069,11 @@ public static String getSuffix(String fileName) { if (index == Normal.__1) { return Normal.EMPTY; } else { + int secondToLastIndex = fileName.substring(0, index).lastIndexOf(Symbol.DOT); + String substr = fileName.substring(secondToLastIndex == -1 ? index : secondToLastIndex + 1); + if (StringKit.containsAny(substr, new String[]{"tar.bz2", "tar.Z", "tar.gz", "tar.xz"})) { + return substr; + } String ext = fileName.substring(index + 1); // 扩展名中不能包含路径相关的符号 return StringKit.containsAny(ext, Symbol.C_SLASH, Symbol.C_BACKSLASH) ? Normal.EMPTY : ext; @@ -3915,13 +3995,24 @@ public static URL getResource(String resource) { * @return 资源列表 */ public static List getResources(String resource) { - final Enumeration resources; - try { - resources = ClassKit.getClassLoader().getResources(resource); - } catch (IOException e) { - throw new InstrumentException(e); - } - return CollKit.newArrayList(resources); + return getResources(resource, null); + } + + /** + * 获取指定路径下的资源列表 + * 路径格式必须为目录格式,用/分隔,例如: + * + *
+     * config/a
+     * spring/xml
+     * 
+ * + * @param resource 资源路径 + * @param filter 过滤器,用于过滤不需要的资源,{@code null}表示不过滤,保留所有元素 + * @return 资源列表 + */ + public static List getResources(String resource, Filter filter) { + return IterKit.filterToList(getResourceIter(resource), filter); } /** diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/GeoKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/GeoKit.java index 3b8f439305..fb786f68f7 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/GeoKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/GeoKit.java @@ -41,8 +41,8 @@ * 地理区域坐标距离计算工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GeoKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/HashKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/HashKit.java index 8585fed494..6751d1d49a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/HashKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/HashKit.java @@ -32,8 +32,8 @@ * 推荐使用FNV1算法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HashKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/HexKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/HexKit.java index 36d08b04a3..4488894126 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/HexKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/HexKit.java @@ -38,8 +38,8 @@ * 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HexKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ImageKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ImageKit.java index 92065ba2b3..ad17dd776e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ImageKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ImageKit.java @@ -56,8 +56,8 @@ * 彩色转黑白、文字水印、图片水印等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/IoKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/IoKit.java index f3cf97aa52..993c9b313a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/IoKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/IoKit.java @@ -61,8 +61,8 @@ * 原因是流可能被多次读写,读写关闭后容易造成问题 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IoKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/IterKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/IterKit.java index 12532de35e..50b05ead95 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/IterKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/IterKit.java @@ -40,8 +40,8 @@ * {@link Iterable} 和 {@link Iterator} 相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IterKit { @@ -779,7 +779,7 @@ public static , E> T filter(T iterable, Filter filter) * * @param 集合元素类型 * @param iterator 集合 - * @param filter 过滤器接口 + * @param filter 过滤器接口,删除{@link Filter#accept(Object)}为{@code false}的元素 * @return 编辑后的集合 */ public static Iterator filter(Iterator iterator, Filter filter) { @@ -795,6 +795,28 @@ public static Iterator filter(Iterator iterator, Filter filter) { return iterator; } + /** + * 过滤{@link Iterator}并将过滤后满足条件的元素添加到List中 + * + * @param 元素类型 + * @param iter {@link Iterator} + * @param filter 过滤器,保留{@link Filter#accept(Object)}为{@code true}的元素 + * @return ArrayList + */ + public static List filterToList(Iterator iter, Filter filter) { + final List result = new ArrayList<>(); + if (null != iter) { + E ele; + while (iter.hasNext()) { + ele = iter.next(); + if (null == filter || filter.accept(ele)) { + result.add(ele); + } + } + } + return result; + } + /** * Iterator转换为Map,转换规则为: * 按照keyFunc函数规则根据元素对象生成Key,元素作为值 @@ -890,4 +912,18 @@ public static int size(final Iterator iterator) { return size; } + /** + * 清空指定{@link Iterator},此方法遍历后调用{@link Iterator#remove()}移除每个元素 + * + * @param iterator {@link Iterator} + */ + public static void clear(Iterator iterator) { + if (null != iterator) { + while (iterator.hasNext()) { + iterator.next(); + iterator.remove(); + } + } + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/LambdaKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/LambdaKit.java index 194ad52f19..ea94212476 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/LambdaKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/LambdaKit.java @@ -26,6 +26,7 @@ package org.aoju.bus.core.toolkit; import org.aoju.bus.core.lang.SimpleCache; +import org.aoju.bus.core.lang.function.Func0; import org.aoju.bus.core.lang.function.Func1; import java.io.Serializable; @@ -35,8 +36,8 @@ * Lambda相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LambdaKit { @@ -54,17 +55,76 @@ public static SerializedLambda resolve(Func1 func) { return _resolve(func); } + /** + * 解析lambda表达式,加了缓存 + * 该缓存可能会在任意不定的时间被清除 + * + * @param Lambda返回类型 + * @param func 需要解析的 lambda 对象(无参方法) + * @return 返回解析后的结果 + */ + public static SerializedLambda resolve(Func0 func) { + return _resolve(func); + } + /** * 获取lambda表达式函数(方法)名称 * - * @param Lambda类型 + * @param

Lambda参数类型 * @param func 函数(无参方法) * @return 函数名称 */ - public static String getMethodName(Func1 func) { + public static

String getMethodName(Func1 func) { return resolve(func).getImplMethodName(); } + /** + * 获取lambda表达式函数(方法)名称 + * + * @param Lambda返回类型 + * @param func 函数(无参方法) + * @return 函数名称 + */ + public static String getMethodName(Func0 func) { + return resolve(func).getImplMethodName(); + } + + /** + * 获取lambda表达式Getter或Setter函数(方法)对应的字段名称,规则如下: + *

    + *
  • getXxxx获取为xxxx,如getName得到name
  • + *
  • setXxxx获取为xxxx,如setName得到name
  • + *
  • isXxxx获取为xxxx,如isName得到name
  • + *
  • 其它不满足规则的方法名抛出{@link IllegalArgumentException}
  • + *
+ * + * @param Lambda类型 + * @param func 函数(无参方法) + * @return 方法名称 + * @throws IllegalArgumentException 非Getter或Setter方法 + */ + public static String getFieldName(Func1 func) throws IllegalArgumentException { + return BeanKit.getFieldName(getMethodName(func)); + } + + /** + * 获取lambda表达式Getter或Setter函数(方法)对应的字段名称,规则如下: + *
    + *
  • getXxxx获取为xxxx,如getName得到name
  • + *
  • setXxxx获取为xxxx,如setName得到name
  • + *
  • isXxxx获取为xxxx,如isName得到name
  • + *
  • 其它不满足规则的方法名抛出{@link IllegalArgumentException}
  • + *
+ * + * @param Lambda类型 + * @param func 函数(无参方法) + * @return 方法名称 + * @throws IllegalArgumentException 非Getter或Setter方法 + */ + public static String getFieldName(Func0 func) throws IllegalArgumentException { + return BeanKit.getFieldName(getMethodName(func)); + } + /** * 解析lambda表达式,加了缓存。 * 该缓存可能会在任意不定的时间被清除 diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/MapKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/MapKit.java index f962fe3933..3c062b8076 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/MapKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/MapKit.java @@ -41,8 +41,8 @@ * Map相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MapKit { @@ -634,12 +634,18 @@ public static String join(Map map, String separator, String keyValu * @return 过滤后的Map */ public static Map filter(Map map, Editor> editor) { - final Map map2 = ObjectKit.clone(map); - if (isEmpty(map2)) { + if (null == map || null == editor) { + return map; + } + + Map map2 = ReflectKit.newInstanceIfPossible(map.getClass()); + if (null == map2) { + map2 = new HashMap<>(map.size(), 1f); + } + if (isEmpty(map)) { return map2; } - map2.clear(); Entry modified; for (Entry entry : map.entrySet()) { modified = editor.edit(entry); @@ -690,12 +696,18 @@ public static Map filter(Map map, Filter> filter) * @return Map 结果,结果的Map类型与原Map保持一致 */ public static Map filter(Map map, K... keys) { - final Map map2 = ObjectKit.clone(map); - if (isEmpty(map2)) { + if (null == map || null == keys) { + return map; + } + + Map map2 = ReflectKit.newInstanceIfPossible(map.getClass()); + if (null == map2) { + map2 = new HashMap<>(map.size(), 1f); + } + if (isEmpty(map)) { return map2; } - map2.clear(); for (K key : keys) { if (map.containsKey(key)) { map2.put(key, map.get(key)); @@ -731,6 +743,22 @@ public T setValue(T value) { }); } + /** + * Map的键和值互换 + * 互换键值对不检查值是否有重复,如果有则后加入的元素替换先加入的元素 + * 值的顺序在HashMap中不确定,所以谁覆盖谁也不确定,在有序的Map中按照先后顺序覆盖,保留最后的值 + * + * @param 键和值类型 + * @param 键和值类型 + * @param map Map对象,键值类型必须一致 + * @return 互换后的Map + */ + public static Map inverse(Map map) { + final Map result = createMap(map.getClass()); + map.forEach((key, value) -> result.put(value, key)); + return result; + } + /** * 排序已有Map,Key有序的Map,使用默认Key排序方式(字母顺序) * diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/MathKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/MathKit.java index c28360ee74..e0f251edc8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/MathKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/MathKit.java @@ -52,8 +52,8 @@ * 计量标准 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MathKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/NameKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/NameKit.java index f0aca9616b..fba1fdbc13 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/NameKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/NameKit.java @@ -32,8 +32,8 @@ * 生成姓名 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NameKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/NetKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/NetKit.java index c8c5f7b2ff..7df77be337 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/NetKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/NetKit.java @@ -47,8 +47,8 @@ * 网络相关工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NetKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ObjectKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ObjectKit.java index 78c28e183f..1e8a0aa14d 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ObjectKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ObjectKit.java @@ -25,6 +25,7 @@ ********************************************************************************/ package org.aoju.bus.core.toolkit; +import org.aoju.bus.core.compare.NormalCompare; import org.aoju.bus.core.compare.PinyinCompare; import org.aoju.bus.core.convert.Convert; import org.aoju.bus.core.io.streams.ByteArrayOutputStream; @@ -45,8 +46,8 @@ * 一些通用的函数 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ObjectKit { @@ -606,6 +607,16 @@ public static > int compare(T c1, T c2, boolean return c1.compareTo(c2); } + /** + * 获取自然排序器,即默认排序器 + * + * @param 排序节点类型 + * @return 默认排序器 + */ + public static > Comparator naturalComparator() { + return NormalCompare.INSTANCE; + } + /** * 对象比较,比较结果取决于comparator,如果被比较对象为null,传入的comparator对象应处理此情况 * 如果传入comparator为null,则使用默认规则比较(此时被比较对象必须实现Comparable接口) diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/PatternKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/PatternKit.java index 14c5932f98..d4be8d6d61 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/PatternKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/PatternKit.java @@ -44,8 +44,8 @@ * 常用正则表达式集合 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PatternKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/RandomKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/RandomKit.java index 56b9930a58..1b381a6100 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/RandomKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/RandomKit.java @@ -44,8 +44,8 @@ * 随机工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RandomKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ReflectKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ReflectKit.java index 433af2507c..6d2750666f 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ReflectKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ReflectKit.java @@ -26,6 +26,7 @@ package org.aoju.bus.core.toolkit; import org.aoju.bus.core.annotation.Alias; +import org.aoju.bus.core.collection.UniqueKeySet; import org.aoju.bus.core.convert.Convert; import org.aoju.bus.core.lang.*; import org.aoju.bus.core.lang.exception.InstrumentException; @@ -38,8 +39,8 @@ * 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReflectKit { @@ -744,34 +745,47 @@ public static Method[] getMethods(Class clazz, Filter filter) throws */ public static Method[] getMethods(Class beanClass) throws SecurityException { Assert.notNull(beanClass); - return METHODS_CACHE.get(beanClass, () -> getMethods(beanClass, true)); + return METHODS_CACHE.get(beanClass, + () -> getMethods(beanClass, true, true)); } /** - * 获得一个类中所有方法列表,直接反射获取,无缓存 + * 获得一个类中所有方法列表,直接反射获取,无缓存 + * 接口获取方法和默认方法,获取的方法包括: + *
    + *
  • 本类中的所有方法(包括static方法)
  • + *
  • 父类中的所有方法(包括static方法)
  • + *
  • Object中(包括static方法)
  • + *
* - * @param beanClass 类 - * @param withSuperClassMethods 是否包括父类的方法列表 + * @param beanClass 类或接口 + * @param withSupers 是否包括父类或接口的方法列表 + * @param withMethodFromObject 是否包括Object中的方法 * @return 方法列表 * @throws SecurityException 安全检查异常 */ - public static Method[] getMethods(Class beanClass, boolean withSuperClassMethods) throws SecurityException { + public static Method[] getMethods(Class beanClass, boolean withSupers, boolean withMethodFromObject) throws SecurityException { Assert.notNull(beanClass); - Method[] allMethods = null; + if (beanClass.isInterface()) { + // 对于接口,直接调用Class.getMethods方法获取所有方法,因为接口都是public方法 + return withSupers ? beanClass.getMethods() : beanClass.getDeclaredMethods(); + } + + final UniqueKeySet result = new UniqueKeySet<>(true, ReflectKit::getUniqueKey); Class searchType = beanClass; - Method[] declaredMethods; - while (null != searchType) { - declaredMethods = searchType.getDeclaredMethods(); - if (null == allMethods) { - allMethods = declaredMethods; - } else { - allMethods = ArrayKit.append(allMethods, declaredMethods); + while (searchType != null) { + if (false == withMethodFromObject && Object.class == searchType) { + break; } - searchType = withSuperClassMethods ? searchType.getSuperclass() : null; + result.addAllIfAbsent(Arrays.asList(searchType.getDeclaredMethods())); + result.addAllIfAbsent(getDefaultMethodsFromInterface(searchType)); + + + searchType = (withSupers && false == searchType.isInterface()) ? searchType.getSuperclass() : null; } - return allMethods; + return result.toArray(new Method[0]); } /** @@ -927,7 +941,7 @@ public static T newInstance(Class clazz, Object... params) throws Instrum * * @param 对象类型 * @param beanClass 被构造的类 - * @return 构造后的对象 + * @return 构造后的对象, 构造失败返回{@code null} */ public static T newInstanceIfPossible(Class beanClass) { Assert.notNull(beanClass); @@ -1102,4 +1116,47 @@ public static T setAccessible(T accessibleObject) { return accessibleObject; } + /** + * 获取方法的唯一键,结构为: + *
+     *     返回类型#方法名:参数1类型,参数2类型...
+     * 
+ * + * @param method 方法 + * @return 方法唯一键 + */ + private static String getUniqueKey(Method method) { + final StringBuilder sb = new StringBuilder(); + sb.append(method.getReturnType().getName()).append('#'); + sb.append(method.getName()); + Class[] parameters = method.getParameterTypes(); + for (int i = 0; i < parameters.length; i++) { + if (i == 0) { + sb.append(Symbol.C_COLON); + } else { + sb.append(Symbol.C_COMMA); + } + sb.append(parameters[i].getName()); + } + return sb.toString(); + } + + /** + * 获取类对应接口中的非抽象方法(default方法) + * + * @param clazz 类 + * @return 方法列表 + */ + private static List getDefaultMethodsFromInterface(Class clazz) { + List result = new ArrayList<>(); + for (Class ifc : clazz.getInterfaces()) { + for (Method m : ifc.getMethods()) { + if (false == ClassKit.isAbstract(m)) { + result.add(m); + } + } + } + return result; + } + } diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/RuntimeKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/RuntimeKit.java index ed7c0bd305..ba21b9c23e 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/RuntimeKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/RuntimeKit.java @@ -48,8 +48,8 @@ * 用于执行系统命令的工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RuntimeKit { @@ -65,7 +65,7 @@ public static String execForStr(String... cmds) throws InstrumentException { } /** - * 执行系统命令,使用系统默认编码 + * 执行系统命令,使用传入的 {@link java.nio.charset.Charset charset} 编码 * * @param charset 编码 * @param cmds 命令列表,每个元素代表一条命令 @@ -88,7 +88,7 @@ public static List execForLines(String... cmds) throws InstrumentExcepti } /** - * 执行系统命令,使用系统默认编码 + * 执行系统命令,使用传入的 {@link java.nio.charset.Charset charset} 编码 * * @param charset 编码 * @param cmds 命令列表,每个元素代表一条命令 @@ -179,7 +179,7 @@ public static List getResultLines(Process process) { } /** - * 获取命令执行结果,使用系统默认编码,获取后销毁进程 + * 获取命令执行结果,使用传入的 {@link java.nio.charset.Charset charset} 编码,获取后销毁进程 * * @param process {@link Process} 进程 * @param charset 编码 @@ -197,7 +197,7 @@ public static List getResultLines(Process process, java.nio.charset.Char } /** - * 获取命令执行结果,使用系统默认编码,,获取后销毁进程 + * 获取命令执行结果,使用系统默认编码,获取后销毁进程 * * @param process {@link Process} 进程 * @return 命令执行结果列表 diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/StreamKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/StreamKit.java index ceafc75639..f9fb6373b8 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/StreamKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/StreamKit.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StreamKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/StringKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/StringKit.java index 36bcdafa82..958c0b68ba 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/StringKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/StringKit.java @@ -43,8 +43,8 @@ * 字符串处理类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StringKit extends CharsKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/SwingKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/SwingKit.java index 99c6052a08..72acd402cf 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/SwingKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/SwingKit.java @@ -44,8 +44,8 @@ * 显示器等相关工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SwingKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/TextKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/TextKit.java index 932846969f..ce6169b370 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/TextKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/TextKit.java @@ -37,8 +37,8 @@ * 可复用的字符串生成器,非线程安全 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextKit implements CharSequence, Appendable, Serializable { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ThreadKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ThreadKit.java index 865afae7f6..13cef331b7 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ThreadKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ThreadKit.java @@ -26,24 +26,26 @@ package org.aoju.bus.core.toolkit; import org.aoju.bus.core.lang.Console; -import org.aoju.bus.core.thread.ExecutorBuilder; -import org.aoju.bus.core.thread.GlobalThread; -import org.aoju.bus.core.thread.NamedThreadFactory; -import org.aoju.bus.core.thread.ThreadBuilder; +import org.aoju.bus.core.thread.*; import java.lang.Thread.UncaughtExceptionHandler; +import java.util.concurrent.ExecutorService; import java.util.concurrent.*; +import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.concurrent.locks.StampedLock; import java.util.function.Supplier; /** * 线程池工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ThreadKit { + private static final AtomicNoLock NO_LOCK = new AtomicNoLock(); + /** * 新建一个线程池 *
@@ -481,7 +483,6 @@ public static Thread[] getThreads(ThreadGroup group) {
 
     /**
      * 获取进程的主线程
-     * from Voovan
      *
      * @return 进程的主线程
      */
@@ -638,4 +639,32 @@ public void setPageIndex(int pageIndex) {
         }
     }
 
+    /**
+     * 创建{@link StampedLock}锁
+     *
+     * @return {@link StampedLock}锁
+     */
+    public static StampedLock createStampLock() {
+        return new StampedLock();
+    }
+
+    /**
+     * 创建{@link ReentrantReadWriteLock}锁
+     *
+     * @param fair 是否公平锁
+     * @return {@link ReentrantReadWriteLock}锁
+     */
+    public static ReentrantReadWriteLock createReadWriteLock(boolean fair) {
+        return new ReentrantReadWriteLock(fair);
+    }
+
+    /**
+     * 获取单例的无锁对象
+     *
+     * @return {@link AtomicNoLock}
+     */
+    public static AtomicNoLock getNoLock() {
+        return NO_LOCK;
+    }
+
 }
diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/TreeKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/TreeKit.java
index 9b455c03df..ce3ac4e3f2 100644
--- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/TreeKit.java
+++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/TreeKit.java
@@ -22,8 +22,8 @@
  * 6、代码简洁轻量无额外依赖
  *
  * @author Kimi Liu
- * @version 6.3.5
- * @since JDK 1.8+
+ * @version 6.5.0
+ * @since Java 17+
  */
 public class TreeKit {
 
diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/TypeKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/TypeKit.java
index f093d06947..65d476dcfa 100755
--- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/TypeKit.java
+++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/TypeKit.java
@@ -43,8 +43,8 @@
  * 
* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TypeKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/UriKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/UriKit.java index 244e8007e8..612d0655db 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/UriKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/UriKit.java @@ -40,8 +40,8 @@ * URL相关工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UriKit { @@ -198,6 +198,25 @@ public static URL url(String url) { return url(url, null); } + /** + * 将{@link URI}转换为{@link URL} + * + * @param uri {@link URI} + * @return URL对象 + * @throws InstrumentException {@link MalformedURLException}包装,URI格式有问题时抛出 + * @see URI#toURL() + */ + public static URL url(URI uri) throws InstrumentException { + if (null == uri) { + return null; + } + try { + return uri.toURL(); + } catch (MalformedURLException e) { + throw new InstrumentException(e); + } + } + /** * 通过一个字符串形式的URL地址创建URL对象 * @@ -206,7 +225,9 @@ public static URL url(String url) { * @return URL对象 */ public static URL url(String url, URLStreamHandler handler) { - Assert.notNull(url, "URL must not be null"); + if (null == url) { + return null; + } // 兼容Spring的ClassPath路径 if (url.startsWith(Normal.CLASSPATH)) { @@ -460,9 +481,10 @@ public static URI toURI(String location) throws InstrumentException { * @return 是否为文件 */ public static boolean isFileURL(URL url) { + Assert.notNull(url, "URL must be not null"); String protocol = url.getProtocol(); - return (Normal.URL_PROTOCOL_FILE.equals(protocol) || // - Normal.URL_PROTOCOL_VFSFILE.equals(protocol) || // + return (Normal.URL_PROTOCOL_FILE.equals(protocol) || + Normal.URL_PROTOCOL_VFSFILE.equals(protocol) || Normal.URL_PROTOCOL_VFS.equals(protocol)); } @@ -474,9 +496,9 @@ public static boolean isFileURL(URL url) { */ public static boolean isJarURL(URL url) { final String protocol = url.getProtocol(); - return (Normal.URL_PROTOCOL_JAR.equals(protocol) || // - Normal.URL_PROTOCOL_ZIP.equals(protocol) || // - Normal.URL_PROTOCOL_VFSZIP.equals(protocol) || // + return (Normal.URL_PROTOCOL_JAR.equals(protocol) || + Normal.URL_PROTOCOL_ZIP.equals(protocol) || + Normal.URL_PROTOCOL_VFSZIP.equals(protocol) || Normal.URL_PROTOCOL_WSJAR.equals(protocol)); } diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/WatchKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/WatchKit.java index 4a139f970f..448f959540 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/WatchKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/WatchKit.java @@ -40,8 +40,8 @@ * 主要负责文件监听器的快捷创建 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WatchKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/XmlKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/XmlKit.java index 114423f6c1..39582f330a 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/XmlKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/XmlKit.java @@ -37,7 +37,6 @@ import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; -import javax.xml.bind.*; import javax.xml.namespace.QName; import javax.xml.parsers.*; import javax.xml.transform.*; @@ -60,8 +59,8 @@ * 工具类封装了XML文档的创建、读取、写出和部分XML操作 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class XmlKit { @@ -803,153 +802,6 @@ public static T xmlToBean(Node node, Class bean) { return BeanKit.toBean(map, bean); } - /** - * 将字符串装换为对象 - * - * @param text 字符串 - * @param javaBean 对象 - * @return object对象 - */ - public static Object xmlToBean(String text, Object javaBean) { - try { - JAXBContext jaxbContext = JAXBContext.newInstance(javaBean.getClass()); - Unmarshaller um = jaxbContext.createUnmarshaller(); - return um.unmarshal(new ByteArrayInputStream(text.getBytes(Charset.UTF_8))); - } catch (JAXBException e) { - throw new InstrumentException(e); - } - } - - /** - * 将字符串装换为对象 - * - * @param text 字符串 - * @param javaBean 对象 - * @param charset 编码 - * @return object对象 - */ - public static Object xmlToBean(String text, Object javaBean, String charset) { - try { - JAXBContext jaxbContext = JAXBContext.newInstance(javaBean.getClass()); - Unmarshaller um = jaxbContext.createUnmarshaller(); - return um.unmarshal(new ByteArrayInputStream(text.getBytes(charset))); - } catch (JAXBException | UnsupportedEncodingException e) { - throw new InstrumentException(e); - } - } - - /** - * 将String类型的xml转换成对象 - * - * @param xml 字符串 - * @param clazz 对象 - * @return object对象 - */ - public static Object xmlToObject(String xml, Class clazz) { - try { - JAXBContext context = JAXBContext.newInstance(clazz); - // 进行将Xml转成对象的核心接口 - Unmarshaller unmarshaller = context.createUnmarshaller(); - StringReader sr = new StringReader(xml); - return unmarshaller.unmarshal(sr); - } catch (JAXBException e) { - throw new InstrumentException(e); - } - } - - /** - * 将xml对象根据定义的节点进行拆分,并实现List对象转换 - * - * @param 对象 - * @param xml 字符串 - * @param rel 拆分节点 - * @param clazz 对象信息 - * @return list对象 - */ - public static List xmlToList(String xml, String rel, Class clazz) { - return xmlToList(xml, rel, clazz, true); - } - - /** - * 将xml对象根据定义的节点进行拆分,并实现List对象转换 - * - * @param 对象 - * @param xml 字符串 - * @param rel 拆分节点 - * @param clazz 对象信息 - * @param isSelect 是否拆分 - * @return list对象 - */ - public static List xmlToList(String xml, String rel, Class clazz, boolean isSelect) { - List list = new ArrayList<>(); - try { - JAXBContext jaxbContext = JAXBContext.newInstance(clazz); - Unmarshaller um = jaxbContext.createUnmarshaller(); - if (null != xml && xml.contains(rel)) { - String start_tag = Symbol.LT + rel + Symbol.GT; - if (isSelect) { - start_tag = Symbol.LT + rel + " action=\"select\"" + Symbol.GT; - } - String end_tag = Symbol.LT + Symbol.C_SLASH + rel + Symbol.GT; - String[] entrys = xml.split(end_tag); - for (String val : entrys) { - if (null != val && val.contains(start_tag)) { - String once = val.substring(val.indexOf(start_tag)) + end_tag; - T ob = (T) um.unmarshal(new ByteArrayInputStream(once.getBytes(Charset.UTF_8))); - list.add(ob); - } - } - } - return list; - } catch (JAXBException e) { - throw new InstrumentException(e); - } - } - - /** - * 将对象转换为XML - * - * @param object 对象信息 - * @return string xml - * @throws Exception 异常 - */ - public static String beanToXml(Object object) throws Exception { - JAXBContext context = JAXBContext.newInstance(object.getClass()); - Marshaller m = context.createMarshaller(); - StringWriter sw = new StringWriter(); - m.marshal(object, sw); - return sw.toString(); - } - - /** - * 将对象转换为XML - * - * @param object 对象信息 - * @param map map - * @param listener Listener - * @return string xml - * @throws Exception 异常 - */ - public static String beanToXml(Object object, Map map, Marshaller.Listener listener) throws Exception { - JAXBContext context = JAXBContext.newInstance(object.getClass()); - Marshaller marshaller = context.createMarshaller(); - if (MapKit.isNotEmpty(map)) { - map.forEach((key, value) -> { - try { - marshaller.setProperty(key, value); - } catch (PropertyException e) { - throw new InstrumentException(e); - } - }); - } - if (Objects.nonNull(listener)) { - marshaller.setListener(listener); - } - StringWriter sw = new StringWriter(); - marshaller.marshal(object, sw); - return sw.toString(); - } - /** * 将MAP对象转换为XML格式 * @@ -1309,74 +1161,6 @@ public static void toXml(Map map, StringBuffer buffer) { } - /** - * JavaBean转换成xml - * - * @param bean Bean对象 - * @param charset 编码 eg: utf-8 - * @param format 是否格式化输出eg: true - * @return 输出的XML字符串 - */ - public static String beanToXml(Object bean, java.nio.charset.Charset charset, boolean format) { - StringWriter writer; - try { - JAXBContext context = JAXBContext.newInstance(bean.getClass()); - Marshaller marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, format); - marshaller.setProperty(Marshaller.JAXB_ENCODING, charset.name()); - writer = new StringWriter(); - marshaller.marshal(bean, writer); - } catch (Exception e) { - throw new InstrumentException("ConvertToXml error:" + e.getMessage(), e); - } - return writer.toString(); - } - - /** - * xml转换成JavaBean - * - * @param Bean类型 - * @param xml XML字符串 - * @param clazz Bean类型 - * @return bean - */ - public static T xmlToBean(String xml, Class clazz) { - return xmlToBean(StringKit.getReader(xml), clazz); - } - - /** - * XML文件转Bean - * - * @param Bean类型 - * @param file 文件 - * @param charset 编码 - * @param clazz Bean类 - * @return Bean - */ - public static T xmlToBean(File file, java.nio.charset.Charset charset, Class clazz) { - return xmlToBean(FileKit.getReader(file, charset), clazz); - } - - /** - * 从{@link Reader}中读取XML字符串,并转换为Bean - * - * @param Bean类型 - * @param reader {@link Reader} - * @param clazz Bean类 - * @return Bean - */ - public static T xmlToBean(Reader reader, Class clazz) { - try { - JAXBContext context = JAXBContext.newInstance(clazz); - Unmarshaller unmarshaller = context.createUnmarshaller(); - return (T) unmarshaller.unmarshal(reader); - } catch (Exception e) { - throw new RuntimeException("convertToJava2 错误:" + e.getMessage(), e); - } finally { - IoKit.close(reader); - } - } - /** * 关闭XXE,避免漏洞攻击 * see: https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#JAXP_DocumentBuilderFactory.2C_SAXParserFactory_and_DOM4J diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZipKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZipKit.java index 1ae44bc5bb..c5b2777ed0 100755 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZipKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZipKit.java @@ -25,6 +25,7 @@ ********************************************************************************/ package org.aoju.bus.core.toolkit; +import org.aoju.bus.core.collection.EnumerationIterator; import org.aoju.bus.core.compress.*; import org.aoju.bus.core.io.resource.Resource; import org.aoju.bus.core.lang.Normal; @@ -37,7 +38,6 @@ import java.nio.file.FileSystem; import java.nio.file.*; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.function.Consumer; @@ -50,8 +50,8 @@ * 压缩工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipKit { @@ -897,6 +897,7 @@ public static ZipFile zipFile(File file, Charset charset) { /** * 获取Zip文件中指定目录下的所有文件,只显示文件,不显示目录 + * 此方法并不会关闭{@link ZipFile} * * @param zipFile Zip文件 * @param dir 目录前缀(目录前缀不包含开头的/) @@ -910,7 +911,7 @@ public static List listFileNames(ZipFile zipFile, String dir) { final List fileNames = new ArrayList<>(); String name; - for (ZipEntry entry : Collections.list(zipFile.entries())) { + for (ZipEntry entry : new EnumerationIterator<>(zipFile.entries())) { name = entry.getName(); if (StringKit.isEmpty(dir) || name.startsWith(dir)) { final String nameSuffix = StringKit.removePrefix(name, dir); diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZoneKit.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZoneKit.java index bdfcf2fa66..6392fc2abd 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZoneKit.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/ZoneKit.java @@ -32,8 +32,8 @@ * {@link ZoneId}和{@link TimeZone}相关封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZoneKit { diff --git a/bus-core/src/main/java/org/aoju/bus/core/toolkit/package-info.java b/bus-core/src/main/java/org/aoju/bus/core/toolkit/package-info.java index f2c757696f..7206a535f8 100644 --- a/bus-core/src/main/java/org/aoju/bus/core/toolkit/package-info.java +++ b/bus-core/src/main/java/org/aoju/bus/core/toolkit/package-info.java @@ -2,7 +2,7 @@ * 工具包,提供各种工具方法,按照归类入口为XXXKit,如数组工具ArrayKit等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.core.toolkit; \ No newline at end of file diff --git a/bus-cron/pom.xml b/bus-cron/pom.xml index 05643bf9b0..be33dc2468 100755 --- a/bus-cron/pom.xml +++ b/bus-cron/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-cron - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 @@ -57,7 +57,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -66,7 +66,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -100,7 +100,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -113,7 +113,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -127,7 +127,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Builder.java b/bus-cron/src/main/java/org/aoju/bus/cron/Builder.java index cb7665335a..c2ce3a099e 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Builder.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Builder.java @@ -44,8 +44,8 @@ * {@link #setMatchSecond(boolean)} 方法用于定义是否使用秒匹配模式,如果为true,则定时任务表达式中的第一位为秒,否则为分,默认是分 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Builder { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Configure.java b/bus-cron/src/main/java/org/aoju/bus/cron/Configure.java index 3605c3e9bf..d85aae349b 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Configure.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Configure.java @@ -31,8 +31,8 @@ * 定时任务配置类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Configure { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/CronTimer.java b/bus-cron/src/main/java/org/aoju/bus/cron/CronTimer.java index dac7dca22e..58c8645c45 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/CronTimer.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/CronTimer.java @@ -34,8 +34,8 @@ * 计时器线程每隔一分钟检查一次任务列表,一旦匹配到执行对应的Task * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CronTimer extends Thread { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Executor.java b/bus-cron/src/main/java/org/aoju/bus/cron/Executor.java index 4dc59f475b..dbde292d7a 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Executor.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Executor.java @@ -33,8 +33,8 @@ * 执行具体的作业,执行完毕销毁 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Executor implements Runnable { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Expression.java b/bus-cron/src/main/java/org/aoju/bus/cron/Expression.java index a8e010c5a2..bddfd5720c 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Expression.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Expression.java @@ -37,8 +37,8 @@ * Crontab表达式提供了指定复杂时间组合的能力 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Expression implements Serializable, Cloneable { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Launcher.java b/bus-cron/src/main/java/org/aoju/bus/cron/Launcher.java index 45feb361a3..5a63b1a95d 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Launcher.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Launcher.java @@ -31,8 +31,8 @@ * 检查完毕后启动器结束 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Launcher implements Runnable { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Manager.java b/bus-cron/src/main/java/org/aoju/bus/cron/Manager.java index ed27c873f2..da18ccf2d0 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Manager.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Manager.java @@ -36,8 +36,8 @@ * 负责管理作业的启动、停止等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Manager { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Repertoire.java b/bus-cron/src/main/java/org/aoju/bus/cron/Repertoire.java index 5a2f2a4e83..e09056c295 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Repertoire.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Repertoire.java @@ -44,8 +44,8 @@ * 任务的添加、移除使用读写锁保证线程安全性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Repertoire { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Scheduler.java b/bus-cron/src/main/java/org/aoju/bus/cron/Scheduler.java index a4a98918d9..b6d0d38f4f 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Scheduler.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Scheduler.java @@ -75,8 +75,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Scheduler { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Strategy.java b/bus-cron/src/main/java/org/aoju/bus/cron/Strategy.java index 9806d4380b..070dafc3dd 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Strategy.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Strategy.java @@ -29,8 +29,8 @@ * 任务执行规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Strategy { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/Supervisor.java b/bus-cron/src/main/java/org/aoju/bus/cron/Supervisor.java index 8e276d0ce0..77036fafec 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/Supervisor.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/Supervisor.java @@ -32,8 +32,8 @@ * 作业启动管理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Supervisor { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/annotation/Crontab.java b/bus-cron/src/main/java/org/aoju/bus/cron/annotation/Crontab.java index 91ebc1fb7d..288fc63bde 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/annotation/Crontab.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/annotation/Crontab.java @@ -33,8 +33,8 @@ * cron处理程序的注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/annotation/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/annotation/package-info.java index 1d21512106..4d312942b8 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/annotation/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/annotation/package-info.java @@ -2,7 +2,7 @@ * 提供cron增强型注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron.annotation; \ No newline at end of file diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/factory/CronTask.java b/bus-cron/src/main/java/org/aoju/bus/cron/factory/CronTask.java index abeb7c66b3..23b140870d 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/factory/CronTask.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/factory/CronTask.java @@ -31,8 +31,8 @@ * 定时作业,除了定义了作业,也定义了作业的执行周期以及ID * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CronTask implements Task { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/factory/InvokeTask.java b/bus-cron/src/main/java/org/aoju/bus/cron/factory/InvokeTask.java index f7ab8da292..b9aad28908 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/factory/InvokeTask.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/factory/InvokeTask.java @@ -39,8 +39,8 @@ * 如果是静态方法直接执行,如果是对象方法,需要类有默认的构造方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InvokeTask implements Task { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/factory/RunnableTask.java b/bus-cron/src/main/java/org/aoju/bus/cron/factory/RunnableTask.java index 8bec45affd..e7d2a62ddc 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/factory/RunnableTask.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/factory/RunnableTask.java @@ -29,8 +29,8 @@ * {@link Runnable} 的 {@link Task}包装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RunnableTask implements Task { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/factory/Task.java b/bus-cron/src/main/java/org/aoju/bus/cron/factory/Task.java index 69e66c0fcc..27f3c3f3c0 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/factory/Task.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/factory/Task.java @@ -29,8 +29,8 @@ * 定时作业接口,通过实现execute方法执行具体的任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Task { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/factory/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/factory/package-info.java index 661fcd68d5..ff19213300 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/factory/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/factory/package-info.java @@ -2,7 +2,7 @@ * 定时任务中作业的抽象封装和实现,包括Runnable实现和反射实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron.factory; \ No newline at end of file diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/listener/SimpleTaskListener.java b/bus-cron/src/main/java/org/aoju/bus/cron/listener/SimpleTaskListener.java index 0516d51413..dafade5347 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/listener/SimpleTaskListener.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/listener/SimpleTaskListener.java @@ -32,8 +32,8 @@ * 继承此监听后实现需要的方法即可 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleTaskListener implements TaskListener { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListener.java b/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListener.java index fe27d0bc84..90d052b018 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListener.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListener.java @@ -32,8 +32,8 @@ * 通过实现此接口,实现对定时任务的各个环节做监听 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TaskListener { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListenerManager.java b/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListenerManager.java index e415271039..6eb0a8e8bc 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListenerManager.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/listener/TaskListenerManager.java @@ -35,8 +35,8 @@ * 监听调度器,统一管理监听 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TaskListenerManager { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/listener/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/listener/package-info.java index e097c81a1c..46ade27eb4 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/listener/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/listener/package-info.java @@ -2,7 +2,7 @@ * 定时任务执行监听接口及部分实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron.listener; \ No newline at end of file diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/package-info.java index f103c3df87..00a9b06341 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/package-info.java @@ -2,7 +2,7 @@ * 定时任务模块,提供类Crontab表达式的定时任务,实现参考了Cron4j,同时可以支持秒级别的定时任务定义和年的定义(同时兼容Crontab、Cron4j、Quartz表达式) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron; \ No newline at end of file diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/CronPattern.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/CronPattern.java index 5d67484d24..196d78efb7 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/CronPattern.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/CronPattern.java @@ -25,15 +25,12 @@ ********************************************************************************/ package org.aoju.bus.cron.pattern; -import org.aoju.bus.core.lang.Symbol; -import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.lang.Fields; +import org.aoju.bus.core.toolkit.CollKit; import org.aoju.bus.core.toolkit.DateKit; -import org.aoju.bus.core.toolkit.StringKit; -import org.aoju.bus.cron.pattern.matcher.AlwaysTrueValueMatcher; -import org.aoju.bus.cron.pattern.matcher.DayOfMonthValueMatcher; -import org.aoju.bus.cron.pattern.matcher.ValueMatcher; -import org.aoju.bus.cron.pattern.matcher.ValueMatcherBuilder; -import org.aoju.bus.cron.pattern.parser.*; +import org.aoju.bus.cron.pattern.matcher.MatcherTable; +import org.aoju.bus.cron.pattern.parser.CronPatternParser; import java.util.*; @@ -92,90 +89,105 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CronPattern { - private static final ValueParser SECOND_VALUE_PARSER = new SecondValueParser(); - private static final ValueParser MINUTE_VALUE_PARSER = new MinuteValueParser(); - private static final ValueParser HOUR_VALUE_PARSER = new HourValueParser(); - private static final ValueParser DAY_OF_MONTH_VALUE_PARSER = new DayOfMonthValueParser(); - private static final ValueParser MONTH_VALUE_PARSER = new MonthValueParser(); - private static final ValueParser DAY_OF_WEEK_VALUE_PARSER = new DayOfWeekValueParser(); - private static final ValueParser YEAR_VALUE_PARSER = new YearValueParser(); + private final String pattern; + private final MatcherTable matcherTable; - private String pattern; - - /** - * 秒字段匹配列表 - */ - private List secondMatchers = new ArrayList<>(); - /** - * 分字段匹配列表 - */ - private List minuteMatchers = new ArrayList<>(); - /** - * 时字段匹配列表 - */ - private List hourMatchers = new ArrayList<>(); - /** - * 每月几号字段匹配列表 - */ - private List dayOfMonthMatchers = new ArrayList<>(); - /** - * 月字段匹配列表 - */ - private List monthMatchers = new ArrayList<>(); /** - * 星期字段匹配列表 + * 构造 + * + * @param pattern 表达式 */ - private List dayOfWeekMatchers = new ArrayList<>(); + public CronPattern(String pattern) { + this.pattern = pattern; + this.matcherTable = CronPatternParser.parse(pattern); + } + /** - * 年字段匹配列表 + * 列举指定日期之后(到开始日期对应年年底)内第一个匹配表达式的日期 + * + * @param pattern 表达式 + * @param start 起始时间 + * @param isMatchSecond 是否匹配秒 + * @return 日期 */ - private List yearMatchers = new ArrayList<>(); + public static Date nextDateAfter(CronPattern pattern, Date start, boolean isMatchSecond) { + List matchedDates = matchedDates(pattern, start.getTime(), DateKit.endOfYear(start).getTime(), 1, isMatchSecond); + if (CollKit.isNotEmpty(matchedDates)) { + return matchedDates.get(0); + } + return null; + } + /** - * 匹配器个数,取决于复合任务表达式中的单一表达式个数 + * 列举指定日期之后(到开始日期对应年年底)内所有匹配表达式的日期 + * + * @param patternStr 表达式字符串 + * @param start 起始时间 + * @param count 列举数量 + * @param isMatchSecond 是否匹配秒 + * @return 日期列表 */ - private int matcherSize; + public static List matchedDates(String patternStr, Date start, int count, boolean isMatchSecond) { + return matchedDates(patternStr, start, DateKit.endOfYear(start), count, isMatchSecond); + } /** - * 构造 + * 列举指定日期范围内所有匹配表达式的日期 * - * @param pattern 表达式 - * @see CronPattern + * @param patternStr 表达式字符串 + * @param start 起始时间 + * @param end 结束时间 + * @param count 列举数量 + * @param isMatchSecond 是否匹配秒 + * @return 日期列表 */ - public CronPattern(String pattern) { - this.pattern = pattern; - parseGroupPattern(pattern); + public static List matchedDates(String patternStr, Date start, Date end, int count, boolean isMatchSecond) { + return matchedDates(patternStr, start.getTime(), end.getTime(), count, isMatchSecond); } /** - * 是否匹配日(指定月份的第几天) + * 列举指定日期范围内所有匹配表达式的日期 * - * @param matcher {@link ValueMatcher} - * @param dayOfMonth 日 - * @param month 月 - * @param isLeapYear 是否闰年 - * @return 是否匹配 + * @param patternStr 表达式字符串 + * @param start 起始时间 + * @param end 结束时间 + * @param count 列举数量 + * @param isMatchSecond 是否匹配秒 + * @return 日期列表 */ - private static boolean isMatchDayOfMonth(ValueMatcher matcher, int dayOfMonth, int month, boolean isLeapYear) { - return ((matcher instanceof DayOfMonthValueMatcher) - ? ((DayOfMonthValueMatcher) matcher).match(dayOfMonth, month, isLeapYear) - : matcher.match(dayOfMonth)); + public static List matchedDates(String patternStr, long start, long end, int count, boolean isMatchSecond) { + return matchedDates(new CronPattern(patternStr), start, end, count, isMatchSecond); } /** - * 是否匹配指定的日期时间位置 + * 列举指定日期范围内所有匹配表达式的日期 * - * @param matchers 匹配器列表 - * @param index 位置 - * @param value 被匹配的值 - * @return 是否匹配 - */ - private static boolean isMatch(List matchers, int index, int value) { - return (matchers.size() > index) ? matchers.get(index).match(value) : true; + * @param pattern 表达式 + * @param start 起始时间 + * @param end 结束时间 + * @param count 列举数量 + * @param isMatchSecond 是否匹配秒 + * @return 日期列表 + */ + public static List matchedDates(CronPattern pattern, long start, long end, int count, boolean isMatchSecond) { + Assert.isTrue(start < end, "Start date is later than end !"); + + final List result = new ArrayList<>(count); + long step = isMatchSecond ? Fields.Units.SECOND.getUnit() : Fields.Units.MINUTE.getUnit(); + for (long i = start; i < end; i += step) { + if (pattern.match(i, isMatchSecond)) { + result.add(DateKit.date(i)); + if (result.size() >= count) { + break; + } + } + } + return result; } /** @@ -211,28 +223,15 @@ public boolean match(TimeZone timezone, long millis, boolean isMatchSecond) { * @return 如果匹配返回 {@code true}, 否则返回 {@code false} */ public boolean match(GregorianCalendar calendar, boolean isMatchSecond) { - final int second = calendar.get(Calendar.SECOND); + final int second = isMatchSecond ? calendar.get(Calendar.SECOND) : -1; final int minute = calendar.get(Calendar.MINUTE); final int hour = calendar.get(Calendar.HOUR_OF_DAY); final int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); final int month = calendar.get(Calendar.MONTH) + 1;// 月份从1开始 - final int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 星期从0开始,0和7都表示周日 + final int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 星期从0开始,0和7都表示周日 final int year = calendar.get(Calendar.YEAR); - boolean eval; - for (int i = 0; i < matcherSize; i++) { - eval = (isMatchSecond ? secondMatchers.get(i).match(second) : true) // 匹配秒(非秒匹配模式下始终返回true) - && minuteMatchers.get(i).match(minute)// 匹配分 - && hourMatchers.get(i).match(hour)// 匹配时 - && isMatchDayOfMonth(dayOfMonthMatchers.get(i), dayOfMonth, month, calendar.isLeapYear(year))// 匹配日 - && monthMatchers.get(i).match(month) // 匹配月 - && dayOfWeekMatchers.get(i).match(dayOfWeek)// 匹配周 - && isMatch(yearMatchers, i, year);// 匹配年 - if (eval) { - return true; - } - } - return false; + return this.matcherTable.match(second, minute, hour, dayOfMonth, month, dayOfWeek, year); } @Override @@ -240,84 +239,4 @@ public String toString() { return this.pattern; } - /** - * 解析复合任务表达式 - * - * @param groupPattern 复合表达式 - */ - private void parseGroupPattern(String groupPattern) { - List patternList = StringKit.split(groupPattern, Symbol.C_OR); - for (String pattern : patternList) { - parseSinglePattern(pattern); - } - } - - /** - * 解析单一定时任务表达式 - * - * @param pattern 表达式 - */ - private void parseSinglePattern(String pattern) { - final String[] parts = pattern.split("\\s"); - - int offset = 0;// 偏移量用于兼容Quartz表达式,当表达式有6或7项时,第一项为秒 - if (parts.length == 6 || parts.length == 7) { - offset = 1; - } else if (parts.length != 5) { - throw new InstrumentException("RegEx [{}] is invalid, it must be 5-7 parts!", pattern); - } - - // 秒 - if (1 == offset) {// 支持秒的表达式 - try { - this.secondMatchers.add(ValueMatcherBuilder.build(parts[0], SECOND_VALUE_PARSER)); - } catch (Exception e) { - throw new InstrumentException("Invalid pattern [{}], parsing 'second' field error!", pattern); - } - } else {// 不支持秒的表达式,则第一位按照表达式生成时间的秒数赋值,表示整分匹配 - this.secondMatchers.add(ValueMatcherBuilder.build(String.valueOf(DateKit.date().second()), SECOND_VALUE_PARSER)); - } - // 分 - try { - this.minuteMatchers.add(ValueMatcherBuilder.build(parts[0 + offset], MINUTE_VALUE_PARSER)); - } catch (Exception e) { - throw new InstrumentException("Invalid pattern [{}], parsing 'minute' field error!", pattern); - } - // 小时 - try { - this.hourMatchers.add(ValueMatcherBuilder.build(parts[1 + offset], HOUR_VALUE_PARSER)); - } catch (Exception e) { - throw new InstrumentException("Invalid pattern [{}], parsing 'hour' field error!", pattern); - } - // 每月第几天 - try { - this.dayOfMonthMatchers.add(ValueMatcherBuilder.build(parts[2 + offset], DAY_OF_MONTH_VALUE_PARSER)); - } catch (Exception e) { - throw new InstrumentException("Invalid pattern [{}], parsing 'day of month' field error!", pattern); - } - // 月 - try { - this.monthMatchers.add(ValueMatcherBuilder.build(parts[3 + offset], MONTH_VALUE_PARSER)); - } catch (Exception e) { - throw new InstrumentException("Invalid pattern [{}], parsing 'month' field error!", pattern); - } - // 星期几 - try { - this.dayOfWeekMatchers.add(ValueMatcherBuilder.build(parts[4 + offset], DAY_OF_WEEK_VALUE_PARSER)); - } catch (Exception e) { - throw new InstrumentException("Invalid pattern [{}], parsing 'day of week' field error!", pattern); - } - // 年 - if (parts.length == 7) {// 支持年的表达式 - try { - this.yearMatchers.add(ValueMatcherBuilder.build(parts[6], YEAR_VALUE_PARSER)); - } catch (Exception e) { - throw new InstrumentException("Invalid pattern [{}], parsing 'year' field error!", pattern); - } - } else {// 不支持年的表达式,全部匹配 - this.secondMatchers.add(new AlwaysTrueValueMatcher()); - } - matcherSize++; - } - } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/AlwaysTrueValueMatcher.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/AlwaysTrueValueMatcher.java index 0b40119d62..0bb4147237 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/AlwaysTrueValueMatcher.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/AlwaysTrueValueMatcher.java @@ -31,16 +31,23 @@ * 值匹配,始终返回true * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AlwaysTrueValueMatcher implements ValueMatcher { + public static AlwaysTrueValueMatcher INSTANCE = new AlwaysTrueValueMatcher(); + @Override public boolean match(Integer t) { return true; } + @Override + public int nextAfter(int value) { + return value; + } + @Override public String toString() { return StringKit.format("[Matcher]: always true."); diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/BoolArrayValueMatcher.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/BoolArrayValueMatcher.java index a36a84fa17..75da732a8b 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/BoolArrayValueMatcher.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/BoolArrayValueMatcher.java @@ -25,6 +25,8 @@ ********************************************************************************/ package org.aoju.bus.cron.pattern.matcher; +import org.aoju.bus.core.lang.Assert; +import org.aoju.bus.core.toolkit.CollKit; import org.aoju.bus.core.toolkit.StringKit; import java.util.Collections; @@ -34,31 +36,68 @@ * 将表达式中的数字值列表转换为Boolean数组,匹配时匹配相应数组位 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BoolArrayValueMatcher implements ValueMatcher { - boolean[] bValues; + /** + * 用户定义此字段的最小值 + */ + private final int minValue; + /** + * 数组值 + */ + private final boolean[] values; public BoolArrayValueMatcher(List intValueList) { - bValues = new boolean[Collections.max(intValueList) + 1]; + Assert.isTrue(CollKit.isNotEmpty(intValueList), "Values must be not empty!"); + values = new boolean[Collections.max(intValueList) + 1]; + int min = Integer.MAX_VALUE; for (Integer value : intValueList) { - bValues[value] = true; + min = Math.min(min, value); + values[value] = true; } + this.minValue = min; } @Override public boolean match(Integer value) { - if (null == value || value >= bValues.length) { + if (null == value || value >= values.length) { return false; } - return bValues[value]; + return values[value]; + } + + @Override + public int nextAfter(int value) { + if (value > minValue) { + while (value < values.length) { + if (values[value]) { + return value; + } + value++; + } + } + + // 两种情况返回最小值 + // 一是给定值小于最小值,那下一个匹配值就是最小值 + // 二是给定值大于最大值,那下一个匹配值也是下一轮的最小值 + return minValue; + } + + /** + * 获取表达式定义的最小值 + * + * @return 最小值 + */ + public int getMinValue() { + return this.minValue; } @Override public String toString() { - return StringKit.format("Matcher:{}", new Object[]{this.bValues}); + return StringKit.format("Matcher:{}", new Object[]{this.values}); } } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/DateTimeMatcher.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/DateTimeMatcher.java new file mode 100644 index 0000000000..075207b95e --- /dev/null +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/DateTimeMatcher.java @@ -0,0 +1,122 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.cron.pattern.matcher; + +import java.time.Year; + +/** + * 日期和时间的单一匹配器 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class DateTimeMatcher { + + /** + * 秒字段匹配列表 + */ + final ValueMatcher secondMatcher; + /** + * 分字段匹配列表 + */ + final ValueMatcher minuteMatcher; + /** + * 时字段匹配列表 + */ + final ValueMatcher hourMatcher; + /** + * 每月几号字段匹配列表 + */ + final ValueMatcher dayOfMonthMatcher; + /** + * 月字段匹配列表 + */ + final ValueMatcher monthMatcher; + /** + * 星期字段匹配列表 + */ + final ValueMatcher dayOfWeekMatcher; + /** + * 年字段匹配列表 + */ + final ValueMatcher yearMatcher; + + public DateTimeMatcher(ValueMatcher secondMatcher, + ValueMatcher minuteMatcher, + ValueMatcher hourMatchers, + ValueMatcher dayOfMonthMatchers, + ValueMatcher monthMatchers, + ValueMatcher dayOfWeekMatchers, + ValueMatcher yearMatchers) { + + this.secondMatcher = secondMatcher; + this.minuteMatcher = minuteMatcher; + this.hourMatcher = hourMatchers; + this.dayOfMonthMatcher = dayOfMonthMatchers; + this.monthMatcher = monthMatchers; + this.dayOfWeekMatcher = dayOfWeekMatchers; + this.yearMatcher = yearMatchers; + } + + /** + * 是否匹配日(指定月份的第几天) + * + * @param matcher {@link ValueMatcher} + * @param dayOfMonth 日 + * @param month 月 + * @param isLeapYear 是否闰年 + * @return 是否匹配 + */ + private static boolean isMatchDayOfMonth(ValueMatcher matcher, int dayOfMonth, int month, boolean isLeapYear) { + return ((matcher instanceof DayOfMonthValueMatcher) // + ? ((DayOfMonthValueMatcher) matcher).match(dayOfMonth, month, isLeapYear) // + : matcher.match(dayOfMonth)); + } + + /** + * 给定时间是否匹配定时任务表达式 + * + * @param second 秒数,-1表示不匹配此项 + * @param minute 分钟 + * @param hour 小时 + * @param dayOfMonth 天 + * @param month 月 + * @param dayOfWeek 周几 + * @param year 年 + * @return 如果匹配返回 {@code true}, 否则返回 {@code false} + */ + public boolean match(int second, int minute, int hour, int dayOfMonth, int month, int dayOfWeek, int year) { + return ((second < 0) || secondMatcher.match(second)) // 匹配秒(非秒匹配模式下始终返回true) + && minuteMatcher.match(minute)// 匹配分 + && hourMatcher.match(hour)// 匹配时 + && isMatchDayOfMonth(dayOfMonthMatcher, dayOfMonth, month, Year.isLeap(year))// 匹配日 + && monthMatcher.match(month) // 匹配月 + && dayOfWeekMatcher.match(dayOfWeek)// 匹配周 + && yearMatcher.match(year);// 匹配年 + } + +} diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/DayOfMonthValueMatcher.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/DayOfMonthValueMatcher.java index 67978b8691..4b8e7b7e6b 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/DayOfMonthValueMatcher.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/DayOfMonthValueMatcher.java @@ -35,8 +35,8 @@ * 考虑每月的天数不同,切存在闰年情况,日匹配单独使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DayOfMonthValueMatcher extends BoolArrayValueMatcher { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationSchemeType.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/MatcherTable.java old mode 100755 new mode 100644 similarity index 61% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationSchemeType.java rename to bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/MatcherTable.java index 01af7034c9..5f97070464 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationSchemeType.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/MatcherTable.java @@ -23,49 +23,58 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.cron.pattern.matcher; -import javax.xml.bind.annotation.*; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; /** + * 时间匹配表,用于存放定时任务表达式解析后的结构信息 + * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ClassificationSchemeType", propOrder = {"classificationNode"}) -public class ClassificationSchemeType extends RegistryObjectType { +public class MatcherTable { - @XmlElement(name = "ClassificationNode") - protected List classificationNode; - @XmlAttribute(name = "isInternal", required = true) - protected boolean isInternal; - @XmlAttribute(name = "nodeType", required = true) - protected String nodeType; + /** + * 秒字段匹配列表 + */ + public final List matchers; - public List getClassificationNode() { - if (null == this.classificationNode) { - this.classificationNode = new ArrayList(); - } - return this.classificationNode; - } - - public boolean isIsInternal() { - return this.isInternal; + /** + * 构造 + * + * @param size 表达式个数,用于表示复合表达式中单个表达式个数 + */ + public MatcherTable(int size) { + matchers = new ArrayList<>(size); } - public void setIsInternal(boolean value) { - this.isInternal = value; + public LocalDateTime nextMatchAfter(int second, int minute, int hour, int dayOfMonth, int month, int dayOfWeek, int year) { + return null; } - public String getNodeType() { - return this.nodeType; - } - - public void setNodeType(String value) { - this.nodeType = value; + /** + * 给定时间是否匹配定时任务表达式 + * + * @param second 秒数,-1表示不匹配此项 + * @param minute 分钟 + * @param hour 小时 + * @param dayOfMonth 天 + * @param month 月 + * @param dayOfWeek 周几 + * @param year 年 + * @return 如果匹配返回 {@code true}, 否则返回 {@code false} + */ + public boolean match(int second, int minute, int hour, int dayOfMonth, int month, int dayOfWeek, int year) { + for (DateTimeMatcher matcher : matchers) { + if (matcher.match(second, minute, hour, dayOfMonth, month, dayOfWeek, year)) { + return true; + } + } + return false; } } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcher.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcher.java index 19bc540a3b..4725392dad 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcher.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcher.java @@ -32,9 +32,17 @@ * 用于匹配日期位中对应数字是否匹配 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ValueMatcher extends Matcher { + /** + * 获取指定值之后的匹配值,也可以是指定值本身 + * + * @param value 指定的值 + * @return 匹配到的值或之后的值 + */ + int nextAfter(int value); + } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcherBuilder.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcherBuilder.java index bd98f9d315..2b9867f29d 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcherBuilder.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/ValueMatcherBuilder.java @@ -41,8 +41,8 @@ * {@link ValueMatcher} 构建器,用于构建表达式中每一项的匹配器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ValueMatcherBuilder { @@ -52,11 +52,11 @@ public class ValueMatcherBuilder { * * @param value 某个时间字段 * @param parser 针对这个时间字段的解析器 - * @return List + * @return the list */ public static ValueMatcher build(String value, ValueParser parser) { if (isMatchAllStr(value)) { - //兼容Quartz的"?"表达式,不会出现互斥情况,与"*"作用相同 + // 兼容Quartz的"?"表达式,不会出现互斥情况,与"*"作用相同 return new AlwaysTrueValueMatcher(); } @@ -66,10 +66,10 @@ public static ValueMatcher build(String value, ValueParser parser) { } if (parser instanceof DayOfMonthValueParser) { - //考虑每月的天数不同,且存在闰年情况,日匹配单独使用 + // 考虑每月的天数不同,且存在闰年情况,日匹配单独使用 return new DayOfMonthValueMatcher(values); } else if (parser instanceof YearValueParser) { - //考虑年数字太大,不适合boolean数组,单独使用列表遍历匹配 + // 考虑年数字太大,不适合boolean数组,单独使用列表遍历匹配 return new YearValueMatcher(values); } else { return new BoolArrayValueMatcher(values); @@ -86,7 +86,7 @@ public static ValueMatcher build(String value, ValueParser parser) { * * @param value 子表达式值 * @param parser 针对这个字段的解析器 - * @return 值列表 + * @return the list */ private static List parseArray(String value, ValueParser parser) { final List values = new ArrayList<>(); @@ -109,7 +109,7 @@ private static List parseArray(String value, ValueParser parser) { * * @param value 表达式值 * @param parser 针对这个时间字段的解析器 - * @return List + * @return the list */ private static List parseStep(String value, ValueParser parser) { final List parts = StringKit.split(value, Symbol.C_SLASH); @@ -143,14 +143,14 @@ private static List parseStep(String value, ValueParser parser) { * @param value 范围表达式 * @param step 步进 * @param parser 针对这个时间字段的解析器 - * @return List + * @return the list */ private static List parseRange(String value, int step, ValueParser parser) { final List results = new ArrayList<>(); // 全部匹配形式 if (value.length() <= 2) { - //根据步进的第一个数字确定起始时间,类似于 12/3则从12(秒、分等)开始 + // 根据步进的第一个数字确定起始时间,类似于 12/3则从12(秒、分等)开始 int minValue = parser.getMin(); if (false == isMatchAllStr(value)) { try { @@ -159,7 +159,7 @@ private static List parseRange(String value, int step, ValueParser pars throw new InstrumentException("Invalid field value: [{}]", value); } } else { - //在全匹配模式下,如果步进不存在,表示步进为1 + // 在全匹配模式下,如果步进不存在,表示步进为1 if (step < 1) { step = 1; } @@ -169,23 +169,23 @@ private static List parseRange(String value, int step, ValueParser pars if (minValue > maxValue) { throw new InstrumentException("Invalid value {} > {}", minValue, maxValue); } - //有步进 + // 有步进 for (int i = minValue; i <= maxValue; i += step) { results.add(i); } } else { - //固定时间 + // 固定时间 results.add(minValue); } return results; } - //Range模式 + // Range模式 List parts = StringKit.split(value, Symbol.C_MINUS); int size = parts.size(); if (size == 1) {// 普通值 final int v1 = parser.parse(value); - if (step > 0) {//类似 20/2的形式 + if (step > 0) {// 类似 20/2的形式 MathKit.appendRange(v1, parser.getMax(), step, results); } else { results.add(v1); @@ -194,7 +194,7 @@ private static List parseRange(String value, int step, ValueParser pars final int v1 = parser.parse(parts.get(0)); final int v2 = parser.parse(parts.get(1)); if (step < 1) { - //在range模式下,如果步进不存在,表示步进为1 + // 在range模式下,如果步进不存在,表示步进为1 step = 1; } if (v1 < v2) {// 正常范围,例如:2-5 @@ -203,7 +203,7 @@ private static List parseRange(String value, int step, ValueParser pars MathKit.appendRange(v1, parser.getMax(), step, results); MathKit.appendRange(parser.getMin(), v2, step, results); } else {// v1 == v2,此时与单值模式一致 - if (step > 0) {//类似 20/2的形式 + if (step > 0) {// 类似 20/2的形式 MathKit.appendRange(v1, parser.getMax(), step, results); } else { results.add(v1); diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/YearValueMatcher.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/YearValueMatcher.java index c1b6b26a35..8291f84304 100755 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/YearValueMatcher.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/YearValueMatcher.java @@ -32,20 +32,40 @@ * 考虑年数字太大,不适合boolean数组,单独使用列表遍历匹配 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class YearValueMatcher implements ValueMatcher { - private List valueList; + /** + * 值列表 + */ + private List list; - public YearValueMatcher(List intValueList) { - this.valueList = intValueList; + /** + * 构造 + * + * @param list 列表年份 + */ + public YearValueMatcher(List list) { + this.list = list; } @Override public boolean match(Integer t) { - return valueList.contains(t); + return list.contains(t); + } + + @Override + public int nextAfter(int value) { + for (Integer year : list) { + if (year >= value) { + return year; + } + } + + // 年无效,此表达式整体无效 + return -1; } } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/package-info.java index 11e73063c7..935435bf85 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/matcher/package-info.java @@ -2,7 +2,7 @@ * 定时任务表达式匹配器,内部使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron.pattern.matcher; \ No newline at end of file diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/package-info.java index 3285aa5b1a..b57016f7d5 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/package-info.java @@ -2,7 +2,7 @@ * 定时任务表达式解析,核心为CronPattern * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron.pattern; \ No newline at end of file diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/AbstractValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/AbstractValueParser.java new file mode 100644 index 0000000000..bab97c3ece --- /dev/null +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/AbstractValueParser.java @@ -0,0 +1,276 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.cron.pattern.parser; + +import org.aoju.bus.core.lang.Symbol; +import org.aoju.bus.core.lang.exception.CrontabException; +import org.aoju.bus.core.toolkit.CollKit; +import org.aoju.bus.core.toolkit.MathKit; +import org.aoju.bus.core.toolkit.StringKit; +import org.aoju.bus.cron.pattern.matcher.AlwaysTrueValueMatcher; +import org.aoju.bus.cron.pattern.matcher.BoolArrayValueMatcher; +import org.aoju.bus.cron.pattern.matcher.ValueMatcher; + +import java.util.ArrayList; +import java.util.List; + +/** + * 简易值转换器将给定String值转为int,并限定最大值和最小值 + * 此类同时识别{@code L} 为最大值 + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public abstract class AbstractValueParser implements ValueParser { + + /** + * 最小值(包括) + */ + protected int min; + /** + * 最大值(包括) + */ + protected int max; + + /** + * 构造 + * + * @param min 最小值(包括) + * @param max 最大值(包括) + */ + public AbstractValueParser(int min, int max) { + if (min > max) { + this.min = max; + this.max = min; + } else { + this.min = min; + this.max = max; + } + } + + /** + * 是否为全匹配符 + * 全匹配符指 * 或者 ? + * + * @param value 被检查的值 + * @return 是否为全匹配符 + */ + private static boolean isMatchAllStr(String value) { + return (1 == value.length()) && ("*".equals(value) || "?".equals(value)); + } + + @Override + public int parse(String value) throws CrontabException { + if ("L".equalsIgnoreCase(value)) { + // L表示最大值 + return max; + } + + int i; + try { + i = Integer.parseInt(value); + } catch (NumberFormatException e) { + throw new CrontabException("Invalid integer value: '{}'", value); + } + if (i < min || i > max) { + throw new CrontabException("Value {} out of range: [{} , {}]", i, min, max); + } + return i; + } + + @Override + public int getMin() { + return this.min; + } + + @Override + public int getMax() { + return this.max; + } + + /** + * 处理定时任务表达式每个时间字段 + * 多个时间使用逗号分隔 + * + * @param value 某个时间字段 + * @return the list + */ + @Override + public ValueMatcher parseAsValueMatcher(String value) { + if (isMatchAllStr(value)) { + // 兼容Quartz的"?"表达式,不会出现互斥情况,与"*"作用相同 + return new AlwaysTrueValueMatcher(); + } + + List values = parseArray(value); + if (values.size() == 0) { + throw new CrontabException("Invalid field: [{}]", value); + } + + return buildValueMatcher(values); + } + + /** + * 根据解析的数字值列表构建{@link ValueMatcher} + * 默认为{@link BoolArrayValueMatcher},如果有特殊实现,子类须重写此方法 + * + * @param values 数字值列表 + * @return {@link ValueMatcher} + */ + protected ValueMatcher buildValueMatcher(List values) { + return new BoolArrayValueMatcher(values); + } + + /** + * 处理数组形式表达式 + * 处理的形式包括: + *
    + *
  • a*
  • + *
  • a,b,c,d
  • + *
+ * + * @param value 子表达式值 + * @return 值列表 + */ + private List parseArray(String value) { + final List values = new ArrayList<>(); + + final List parts = StringKit.split(value, Symbol.C_COMMA); + for (String part : parts) { + CollKit.addAllIfNotContains(values, parseStep(part)); + } + return values; + } + + /** + * 处理间隔形式的表达式 + * 处理的形式包括: + *
    + *
  • a*
  • + *
  • a/b*/b
  • + *
  • a-b/2
  • + *
+ * + * @param value 表达式值 + * @return List + */ + private List parseStep(String value) { + final List parts = StringKit.split(value, Symbol.C_SLASH); + int size = parts.size(); + + List results; + if (size == 1) {// 普通形式 + results = parseRange(value, -1); + } else if (size == 2) {// 间隔形式 + final int step = parse(parts.get(1)); + if (step < 1) { + throw new CrontabException("Non positive divisor for field: [{}]", value); + } + results = parseRange(parts.get(0), step); + } else { + throw new CrontabException("Invalid syntax of field: [{}]", value); + } + return results; + } + + /** + * 处理表达式中范围表达式 处理的形式包括: + *
    + *
  • *
  • + *
  • 2
  • + *
  • 3-8
  • + *
  • 8-3
  • + *
  • 3-3
  • + *
+ * + * @param value 范围表达式 + * @param step 步进 + * @return List + */ + private List parseRange(String value, int step) { + final List results = new ArrayList<>(); + + // 全部匹配形式 + if (value.length() <= 2) { + // 根据步进的第一个数字确定起始时间,类似于 12/3则从12(秒、分等)开始 + int minValue = getMin(); + if (false == isMatchAllStr(value)) { + minValue = Math.max(minValue, parse(value)); + } else { + // 在全匹配模式下,如果步进不存在,表示步进为1 + if (step < 1) { + step = 1; + } + } + if (step > 0) { + final int maxValue = getMax(); + if (minValue > maxValue) { + throw new CrontabException("Invalid value {} > {}", minValue, maxValue); + } + // 有步进 + for (int i = minValue; i <= maxValue; i += step) { + results.add(i); + } + } else { + // 固定时间 + results.add(minValue); + } + return results; + } + + // Range模式 + List parts = StringKit.split(value, '-'); + int size = parts.size(); + if (size == 1) {// 普通值 + final int v1 = parse(value); + if (step > 0) {// 类似 20/2的形式 + MathKit.appendRange(v1, getMax(), step, results); + } else { + results.add(v1); + } + } else if (size == 2) {// range值 + final int v1 = parse(parts.get(0)); + final int v2 = parse(parts.get(1)); + if (step < 1) { + // 在range模式下,如果步进不存在,表示步进为1 + step = 1; + } + if (v1 < v2) {// 正常范围,例如:2-5 + MathKit.appendRange(v1, v2, step, results); + } else if (v1 > v2) {// 逆向范围,反选模式,例如:5-2 + MathKit.appendRange(v1, getMax(), step, results); + MathKit.appendRange(getMin(), v2, step, results); + } else {// v1 == v2,此时与单值模式一致 + MathKit.appendRange(v1, getMax(), step, results); + } + } else { + throw new CrontabException("Invalid syntax of field: [{}]", value); + } + return results; + } + +} diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/CronPatternParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/CronPatternParser.java new file mode 100644 index 0000000000..8ccdafeda4 --- /dev/null +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/CronPatternParser.java @@ -0,0 +1,128 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.cron.pattern.parser; + +import org.aoju.bus.core.lang.exception.CrontabException; +import org.aoju.bus.core.toolkit.DateKit; +import org.aoju.bus.core.toolkit.StringKit; +import org.aoju.bus.cron.pattern.matcher.AlwaysTrueValueMatcher; +import org.aoju.bus.cron.pattern.matcher.DateTimeMatcher; +import org.aoju.bus.cron.pattern.matcher.MatcherTable; +import org.aoju.bus.cron.pattern.matcher.ValueMatcher; + +import java.util.List; + +/** + * 定时任务表达式解析器,用于将表达式字符串解析为{@link MatcherTable} + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class CronPatternParser { + + private static final ValueParser SECOND_VALUE_PARSER = new SecondValueParser(); + private static final ValueParser MINUTE_VALUE_PARSER = new MinuteValueParser(); + private static final ValueParser HOUR_VALUE_PARSER = new HourValueParser(); + private static final ValueParser DAY_OF_MONTH_VALUE_PARSER = new DayOfMonthValueParser(); + private static final ValueParser MONTH_VALUE_PARSER = new MonthValueParser(); + private static final ValueParser DAY_OF_WEEK_VALUE_PARSER = new DayOfWeekValueParser(); + private static final ValueParser YEAR_VALUE_PARSER = new YearValueParser(); + + /** + * 解析表达式到匹配表中 + * + * @param cronPattern 复合表达式 + * @return {@link MatcherTable} + */ + public static MatcherTable parse(String cronPattern) { + return parseGroupPattern(cronPattern); + } + + /** + * 解析复合任务表达式,格式为: + *
+     *     cronA | cronB | ...
+     * 
+ * + * @param groupPattern 复合表达式 + * @return {@link MatcherTable} + */ + private static MatcherTable parseGroupPattern(String groupPattern) { + final List patternList = StringKit.split(groupPattern, '|'); + final MatcherTable matcherTable = new MatcherTable(patternList.size()); + for (String pattern : patternList) { + matcherTable.matchers.add(parseSinglePattern(pattern)); + } + return matcherTable; + } + + /** + * 解析单一定时任务表达式 + * + * @param pattern 表达式 + * @return {@link DateTimeMatcher} + */ + private static DateTimeMatcher parseSinglePattern(String pattern) { + final String[] parts = pattern.split("\\s"); + + int offset = 0;// 偏移量用于兼容Quartz表达式,当表达式有6或7项时,第一项为秒 + if (parts.length == 6 || parts.length == 7) { + offset = 1; + } else if (parts.length != 5) { + throw new CrontabException("Pattern [{}] is invalid, it must be 5-7 parts!", pattern); + } + + // 秒,如果不支持秒的表达式,则第一位按照表达式生成时间的秒数赋值,表示整分匹配 + final String secondPart = (1 == offset) ? parts[0] : String.valueOf(DateKit.date().second()); + + // 年 + ValueMatcher yearMatcher; + if (parts.length == 7) {// 支持年的表达式 + yearMatcher = YEAR_VALUE_PARSER.parseAsValueMatcher(parts[6]); + } else {// 不支持年的表达式,全部匹配 + yearMatcher = AlwaysTrueValueMatcher.INSTANCE; + } + + return new DateTimeMatcher( + // 秒 + SECOND_VALUE_PARSER.parseAsValueMatcher(secondPart), + // 分 + MINUTE_VALUE_PARSER.parseAsValueMatcher(parts[offset]), + // 时 + HOUR_VALUE_PARSER.parseAsValueMatcher(parts[1 + offset]), + // 天 + DAY_OF_MONTH_VALUE_PARSER.parseAsValueMatcher(parts[2 + offset]), + // 月 + MONTH_VALUE_PARSER.parseAsValueMatcher(parts[3 + offset]), + // 周 + DAY_OF_WEEK_VALUE_PARSER.parseAsValueMatcher(parts[4 + offset]), + // 年 + yearMatcher + ); + } + +} diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfMonthValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfMonthValueParser.java old mode 100755 new mode 100644 index ca89c0b802..d8a29fbd6a --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfMonthValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfMonthValueParser.java @@ -25,32 +25,42 @@ ********************************************************************************/ package org.aoju.bus.cron.pattern.parser; -import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.exception.InstrumentException; -import org.aoju.bus.core.toolkit.ObjectKit; +import org.aoju.bus.core.lang.exception.CrontabException; +import org.aoju.bus.cron.pattern.matcher.DayOfMonthValueMatcher; +import org.aoju.bus.cron.pattern.matcher.ValueMatcher; + +import java.util.List; /** * 每月的几号值处理 - * 每月最多31天,32和“L”都表示最后一天 + * 每月最多31天,32和“L”都表示最后一天 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class DayOfMonthValueParser extends SimpleValueParser { +public class DayOfMonthValueParser extends AbstractValueParser { + /** + * 构造 + */ public DayOfMonthValueParser() { super(1, 31); } @Override - public int parse(String value) throws InstrumentException { - //每月最后一天 - if ("L".equalsIgnoreCase(value) || ObjectKit.equal(value, "32")) { - return Normal._32; + public int parse(String value) throws CrontabException { + if ("L".equalsIgnoreCase(value) || "32".equals(value)) {// 每月最后一天 + return 32; } else { return super.parse(value); } } + @Override + protected ValueMatcher buildValueMatcher(List values) { + // 考虑每月的天数不同,且存在闰年情况,日匹配单独使用 + return new DayOfMonthValueMatcher(values); + } + } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfWeekValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfWeekValueParser.java old mode 100755 new mode 100644 index ddd636b0bd..c39e9435ba --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfWeekValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/DayOfWeekValueParser.java @@ -25,20 +25,21 @@ ********************************************************************************/ package org.aoju.bus.cron.pattern.parser; -import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.lang.exception.CrontabException; /** * 星期值处理 - * 1表示星期一,2表示星期二,依次类推,0和7都可以表示星期日 + * 1表示星期一,2表示星期二,依次类推,0和7都可以表示星期日 + * {@code L}表示周六 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class DayOfWeekValueParser extends SimpleValueParser { +public class DayOfWeekValueParser extends AbstractValueParser { /** - * 周的别名 + * Weeks aliases. */ private static final String[] ALIASES = {"sun", "mon", "tue", "wed", "thu", "fri", "sat"}; @@ -48,10 +49,10 @@ public DayOfWeekValueParser() { /** * 对于星期提供转换 - * 1表示星期一,2表示星期二,依次类推,0和7都可以表示星期日 + * 1表示星期一,2表示星期二,依次类推,0和7都可以表示星期日 */ @Override - public int parse(String value) throws InstrumentException { + public int parse(String value) throws CrontabException { try { return super.parse(value) % 7; } catch (Exception e) { @@ -64,11 +65,11 @@ public int parse(String value) throws InstrumentException { * * @param value 别名值 * @return 月份int值 - * @throws InstrumentException 异常 + * @throws CrontabException 无效别名抛出此异常 */ - private int parseAlias(String value) throws InstrumentException { + private int parseAlias(String value) throws CrontabException { if ("L".equalsIgnoreCase(value)) { - //最后一天为星期六 + // 最后一天为星期六 return ALIASES.length - 1; } @@ -77,7 +78,7 @@ private int parseAlias(String value) throws InstrumentException { return i; } } - throw new InstrumentException("Invalid month alias: {}", value); + throw new CrontabException("Invalid month alias: {}", value); } } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/HourValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/HourValueParser.java old mode 100755 new mode 100644 index 17876c45a7..8978ea2d8c --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/HourValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/HourValueParser.java @@ -27,12 +27,13 @@ /** * 小时值处理 + * 小时被限定在0-23 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class HourValueParser extends SimpleValueParser { +public class HourValueParser extends AbstractValueParser { public HourValueParser() { super(0, 23); diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MinuteValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MinuteValueParser.java old mode 100755 new mode 100644 index 56f1117e87..1c86ba9322 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MinuteValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MinuteValueParser.java @@ -27,13 +27,17 @@ /** * 分钟值处理 + * 限定于0-59 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class MinuteValueParser extends SimpleValueParser { +public class MinuteValueParser extends AbstractValueParser { + /** + * 构造 + */ public MinuteValueParser() { super(0, 59); } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MonthValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MonthValueParser.java old mode 100755 new mode 100644 index de4c7d2d61..9c7823ec56 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MonthValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/MonthValueParser.java @@ -25,16 +25,17 @@ ********************************************************************************/ package org.aoju.bus.cron.pattern.parser; -import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.lang.exception.CrontabException; /** * 月份值处理 + * 限定于1-12,1表示一月,支持别名(忽略大小写),如一月是{@code jan} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class MonthValueParser extends SimpleValueParser { +public class MonthValueParser extends AbstractValueParser { /** * Months aliases. @@ -46,7 +47,7 @@ public MonthValueParser() { } @Override - public int parse(String value) throws InstrumentException { + public int parse(String value) throws CrontabException { try { return super.parse(value); } catch (Exception e) { @@ -59,15 +60,15 @@ public int parse(String value) throws InstrumentException { * * @param value 别名值 * @return 月份int值 - * @throws InstrumentException 异常 + * @throws CrontabException 无效月别名抛出此异常 */ - private int parseAlias(String value) throws InstrumentException { + private int parseAlias(String value) throws CrontabException { for (int i = 0; i < ALIASES.length; i++) { if (ALIASES[i].equalsIgnoreCase(value)) { return i + 1; } } - throw new InstrumentException("Invalid month alias: {}", value); + throw new CrontabException("Invalid month alias: {}", value); } } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/SecondValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/SecondValueParser.java old mode 100755 new mode 100644 index be101812e7..eb5eb2ba2b --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/SecondValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/SecondValueParser.java @@ -27,10 +27,11 @@ /** * 秒值处理 + * 限定于0-59 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SecondValueParser extends MinuteValueParser { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/ValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/ValueParser.java old mode 100755 new mode 100644 index 70c4138ecf..b241dd8e9a --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/ValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/ValueParser.java @@ -25,22 +25,38 @@ ********************************************************************************/ package org.aoju.bus.cron.pattern.parser; +import org.aoju.bus.cron.pattern.matcher.ValueMatcher; + /** * 值处理接口 - * 值处理用于限定表达式中相应位置的值范围,并转换表达式值为int值 + * 值处理用于限定表达式中相应位置的值范围,并转换表达式值为int值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ValueParser { + /** + * 解析表达式对应部分为{@link ValueMatcher},支持的表达式包括: + *
    + *
  1. 单值或通配符形式,如 a*
  2. + *
  3. 数组形式,如 1,2,3
  4. + *
  5. 间隔形式,如 a/b*/b
  6. + *
  7. 范围形式,如 3-8
  8. + *
+ * + * @param pattern 对应时间部分的表达式 + * @return {@link ValueMatcher} + */ + ValueMatcher parseAsValueMatcher(String pattern); + /** * 处理String值并转为int * 转换包括: *
    - *
  1. 数字字符串转为数字
  2. - *
  3. 别名转为对应的数字(如月份和星期)
  4. + *
  5. 数字字符串转为数字
  6. + *
  7. 别名转为对应的数字(如月份和星期)
  8. *
* * @param value String值 diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/YearValueParser.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/YearValueParser.java old mode 100755 new mode 100644 index 05f3d4216a..285cf2e505 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/YearValueParser.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/YearValueParser.java @@ -25,17 +25,29 @@ ********************************************************************************/ package org.aoju.bus.cron.pattern.parser; +import org.aoju.bus.cron.pattern.matcher.ValueMatcher; +import org.aoju.bus.cron.pattern.matcher.YearValueMatcher; + +import java.util.List; + /** * 年值处理 + * 年的限定在1970-2099年 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -public class YearValueParser extends SimpleValueParser { +public class YearValueParser extends AbstractValueParser { public YearValueParser() { super(1970, 2099); } + @Override + protected ValueMatcher buildValueMatcher(List values) { + // 考虑年数字太大,不适合boolean数组,单独使用列表遍历匹配 + return new YearValueMatcher(values); + } + } diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/package-info.java index fd8d3315d3..e342c9d6e5 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/pattern/parser/package-info.java @@ -2,7 +2,7 @@ * 定时任务表达式解析器,内部使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron.pattern.parser; \ No newline at end of file diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/timings/SystemTimer.java b/bus-cron/src/main/java/org/aoju/bus/cron/timings/SystemTimer.java index 5f4764c2d7..8d0d99d696 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/timings/SystemTimer.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/timings/SystemTimer.java @@ -10,8 +10,8 @@ * 系统计时器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SystemTimer { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTask.java b/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTask.java index b3634f5670..1d8490857a 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTask.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTask.java @@ -4,8 +4,8 @@ * 延迟任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TimerTask { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTaskList.java b/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTaskList.java index eed334a422..1706a9648b 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTaskList.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimerTaskList.java @@ -9,8 +9,8 @@ * 任务队列,任务双向链表 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TimerTaskList implements Delayed { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimingWheel.java b/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimingWheel.java index 0db5e56a58..8a07e71f61 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimingWheel.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/timings/TimingWheel.java @@ -10,8 +10,8 @@ * 一个单独的线程推进时间一槽一槽的移动,并执行槽中的任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TimingWheel { diff --git a/bus-cron/src/main/java/org/aoju/bus/cron/timings/package-info.java b/bus-cron/src/main/java/org/aoju/bus/cron/timings/package-info.java index 216e9b9b17..17a75bdb28 100644 --- a/bus-cron/src/main/java/org/aoju/bus/cron/timings/package-info.java +++ b/bus-cron/src/main/java/org/aoju/bus/cron/timings/package-info.java @@ -4,7 +4,7 @@ * 指针周期性地跳动,跳动到一个槽位,就执行该槽位的定时任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.cron.timings; diff --git a/bus-crypto/pom.xml b/bus-crypto/pom.xml index 0bc6aacfd8..843fc3a3c1 100755 --- a/bus-crypto/pom.xml +++ b/bus-crypto/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-crypto - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.70 @@ -53,7 +53,7 @@ org.bouncycastle - bcprov-jdk15to18 + bcprov-jdk15on ${bouncycastle.version} true @@ -64,7 +64,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -73,7 +73,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -107,7 +107,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -120,7 +120,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -134,7 +134,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/Builder.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/Builder.java index 37ae83d393..93bb49b636 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/Builder.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/Builder.java @@ -97,8 +97,8 @@ * 3、摘要加密(digest),例如:MD5、SHA-1、SHA-256、HMAC等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Builder { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/Ciphers.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/Ciphers.java index 8de9c6c8b2..79cda77a8a 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/Ciphers.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/Ciphers.java @@ -41,8 +41,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Ciphers { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/Holder.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/Holder.java index cc4ad3947c..a34e5a5216 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/Holder.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/Holder.java @@ -31,8 +31,8 @@ * 全局单例的 org.bouncycastle.jce.provider.BouncyCastleProvider 对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Holder { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/Mode.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/Mode.java index 402f7b152c..84a0b6e0d0 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/Mode.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/Mode.java @@ -31,8 +31,8 @@ * 在加密时对明文分组的模式,它代表了不同的分组方式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Mode { /** diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/Padding.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/Padding.java index 472c72c4b8..ce0e0edabf 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/Padding.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/Padding.java @@ -31,8 +31,8 @@ * 需要在最后一个分组中填充一些数据使其凑满一个分组的长度。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Padding { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/Provider.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/Provider.java index b4efa6c57a..635e46d791 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/Provider.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/Provider.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Provider { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/Registry.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/Registry.java index ea558d815f..b6177ac471 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/Registry.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/Registry.java @@ -38,8 +38,8 @@ * 注解和实现之间映射 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Registry { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/AbstractCrypto.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/AbstractCrypto.java index ae9bc4ef89..8ff77e99a0 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/AbstractCrypto.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/AbstractCrypto.java @@ -33,8 +33,8 @@ * * @param 返回自身类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractCrypto> extends Asymmetric implements Encryptor, Decryptor { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Asymmetric.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Asymmetric.java index 1ea4a68056..ca3f9bc3ee 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Asymmetric.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Asymmetric.java @@ -42,8 +42,8 @@ * 非对称基础,提供锁、私钥和公钥的持有 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Asymmetric> implements Serializable { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Crypto.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Crypto.java index 5119b77752..62af545dc3 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Crypto.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Crypto.java @@ -51,8 +51,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Crypto extends AbstractCrypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Decryptor.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Decryptor.java index 2f4114c61f..2b490f9e71 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Decryptor.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Decryptor.java @@ -45,8 +45,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Decryptor { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/ECIES.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/ECIES.java index 0343e4f4d5..dc740aae06 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/ECIES.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/ECIES.java @@ -34,8 +34,8 @@ * 此算法必须引入Bouncy Castle库 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ECIES extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Encryptor.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Encryptor.java index ede89cbf02..cd21559ce3 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Encryptor.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Encryptor.java @@ -45,8 +45,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Encryptor { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/KeyType.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/KeyType.java index 1c6ba539a0..14691d80df 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/KeyType.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/KeyType.java @@ -31,8 +31,8 @@ * 密钥类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum KeyType { /** diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/RSA.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/RSA.java index 5acc614fb3..80a8eb1ce6 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/RSA.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/RSA.java @@ -52,8 +52,8 @@ *

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RSA extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/SM2.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/SM2.java index 27edff2ecd..bc867e12e7 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/SM2.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/SM2.java @@ -44,6 +44,7 @@ import org.bouncycastle.crypto.signers.SM2Signer; import org.bouncycastle.crypto.signers.StandardDSAEncoding; import org.bouncycastle.util.BigIntegers; +import org.bouncycastle.util.encoders.Hex; import java.math.BigInteger; import java.security.PrivateKey; @@ -59,8 +60,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SM2 extends AbstractCrypto { @@ -516,7 +517,7 @@ public SM2 setMode(SM2Engine.Mode mode) { * @return D值 */ public byte[] getD() { - return BigIntegers.asUnsignedByteArray(getDBigInteger()); + return BigIntegers.asUnsignedByteArray(32, getDBigInteger()); } /** @@ -525,7 +526,7 @@ public byte[] getD() { * @return D值 */ public String getDHex() { - return String.format("%064x", new BigInteger(1, getD())); + return new String(Hex.encode(getD())); } /** diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Sign.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Sign.java index 76b17c0ff9..8518cb6206 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Sign.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/Sign.java @@ -47,8 +47,8 @@ * 签名包装,{@link Signature} 包装类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Sign extends Asymmetric { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/package-info.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/package-info.java index 87396c320e..9f37d10714 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/package-info.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/asymmetric/package-info.java @@ -2,7 +2,7 @@ * 非对称加密的实现,包括RSA等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.crypto.asymmetric; \ No newline at end of file diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/BCrypt.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/BCrypt.java index 2f9a465e7f..59042b987b 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/BCrypt.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/BCrypt.java @@ -37,8 +37,8 @@ * 它的口令必须是8至56个字符,并将在内部被转化为448位的密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BCrypt { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/Digester.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/Digester.java index 80f71e8463..d1f4b5dbd5 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/Digester.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/Digester.java @@ -44,8 +44,8 @@ * 注意:此对象实例化后为非线程安全! * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Digester implements Serializable { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/HMac.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/HMac.java index 232f340b86..7eee57ff9d 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/HMac.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/HMac.java @@ -54,8 +54,8 @@ * 注意:此对象实例化后为非线程安全! * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HMac implements Serializable { @@ -182,7 +182,8 @@ public String digestBase64(String data, boolean isUrlSafe) { * @return 摘要 */ public String digestBase64(String data, Charset charset, boolean isUrlSafe) { - return StringKit.toString(Base64.encode(digest(data, charset), false, isUrlSafe)); + final byte[] digest = digest(data, charset); + return isUrlSafe ? Base64.encodeUrlSafe(digest) : Base64.encode(digest); } /** diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/MD5.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/MD5.java index ba6ad6cceb..41ea0b3a5d 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/MD5.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/MD5.java @@ -36,8 +36,8 @@ * MD5算法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MD5 extends Digester { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/SM3.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/SM3.java index b7997534e5..28116680c8 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/SM3.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/SM3.java @@ -37,8 +37,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SM3 extends Digester { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/BCHMacEngine.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/BCHMacEngine.java index e2b4bae3f5..caf65e7c8b 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/BCHMacEngine.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/BCHMacEngine.java @@ -37,8 +37,8 @@ * 当引入BouncyCastle库时自动使用其作为Provider * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BCHMacEngine implements MacEngine { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/DefaultHMacEngine.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/DefaultHMacEngine.java index 184253b689..044561056d 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/DefaultHMacEngine.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/DefaultHMacEngine.java @@ -39,8 +39,8 @@ * 当引入BouncyCastle库时自动使用其作为Provider * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultHMacEngine implements MacEngine { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngine.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngine.java index 2b90ce7748..9702639099 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngine.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngine.java @@ -35,8 +35,8 @@ * MAC(Message Authentication Code)算法引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface MacEngine { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngineFactory.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngineFactory.java index 8bd8236c73..f3094d8bd1 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngineFactory.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/MacEngineFactory.java @@ -35,8 +35,8 @@ * {@link MacEngine} 实现工厂类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MacEngineFactory { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/package-info.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/package-info.java index 69541beadb..d5c9bb1928 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/package-info.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/mac/package-info.java @@ -6,7 +6,7 @@ * HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.crypto.digest.mac; \ No newline at end of file diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/HOTP.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/HOTP.java index 9600754bda..902a966ac0 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/HOTP.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/HOTP.java @@ -40,8 +40,8 @@ *

参考:https://github.com/jchambers/java-otp

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HOTP { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/TOTP.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/TOTP.java index b95b67b7e8..acc159ae69 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/TOTP.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/TOTP.java @@ -41,8 +41,8 @@ *

参考:https://github.com/jchambers/java-otp

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TOTP extends HOTP { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/package-info.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/package-info.java index 8b324ae44b..e0846badeb 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/package-info.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/otp/package-info.java @@ -9,7 +9,7 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.crypto.digest.otp; \ No newline at end of file diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/package-info.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/package-info.java index 96cb3971fe..22b97a9115 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/package-info.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/digest/package-info.java @@ -2,7 +2,7 @@ * 摘要加密算法实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.crypto.digest; \ No newline at end of file diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/package-info.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/package-info.java index 160b8a6603..55c13f7d90 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/package-info.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/package-info.java @@ -8,7 +8,7 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.crypto; \ No newline at end of file diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/AESProvider.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/AESProvider.java index 1a50dab591..a9792704c3 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/AESProvider.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/AESProvider.java @@ -38,8 +38,8 @@ * 达到十亿量级 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AESProvider implements Provider { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/DESProvider.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/DESProvider.java index 1c45abce0e..32aeb5c994 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/DESProvider.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/DESProvider.java @@ -34,8 +34,8 @@ * 数据加密标准,速度较快,适用于加密大量数据的场合 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DESProvider implements Provider { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RC4Provider.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RC4Provider.java index 469c921b8e..865b97fc2b 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RC4Provider.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RC4Provider.java @@ -39,8 +39,8 @@ * 达到十亿量级 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RC4Provider implements Provider { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RSAProvider.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RSAProvider.java index 0c28eb9d8e..436bd25236 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RSAProvider.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/RSAProvider.java @@ -36,8 +36,8 @@ * RSA 加密解密算法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RSAProvider implements Provider { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM2Provider.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM2Provider.java index 0816808e4b..7a7f25f1c5 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM2Provider.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM2Provider.java @@ -37,8 +37,8 @@ * RSA 加密解密算法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SM2Provider implements Provider { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM4Provider.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM4Provider.java index 820fe56e36..6a7a93c522 100755 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM4Provider.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/SM4Provider.java @@ -39,8 +39,8 @@ * 达到十亿量级 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SM4Provider implements Provider { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/package-info.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/package-info.java index a657edd478..a0942c36cf 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/package-info.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/provider/package-info.java @@ -2,7 +2,7 @@ * 加解密服务实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.crypto.provider; \ No newline at end of file diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/AES.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/AES.java index cb9ca88e4f..b70615c5e9 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/AES.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/AES.java @@ -49,8 +49,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AES extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ChaCha20.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ChaCha20.java index 7192394f82..8f83f89bde 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ChaCha20.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ChaCha20.java @@ -35,8 +35,8 @@ * ChaCha系列流密码,作为salsa密码的改良版,具有更强的抵抗密码分析攻击的特性,“20”表示该算法有20轮的加密计算 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ChaCha20 extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Crypto.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Crypto.java index f9071d9c45..18298dfd3a 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Crypto.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Crypto.java @@ -59,8 +59,8 @@ * 在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Crypto implements Encryptor, Decryptor, Serializable { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DES.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DES.java index c3de7c563f..8e0e86c31a 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DES.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DES.java @@ -40,8 +40,8 @@ * Java中默认实现为:DES/CBC/PKCS5Padding * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DES extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DESede.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DESede.java index 6f7953923e..9da59dd2aa 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DESede.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/DESede.java @@ -41,8 +41,8 @@ * Java中默认实现为:DESede/ECB/PKCS5Padding * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DESede extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Decryptor.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Decryptor.java index f0ec1789e1..bb7b078955 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Decryptor.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Decryptor.java @@ -43,8 +43,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Decryptor { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Encryptor.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Encryptor.java index b60192ce33..63af3d3b37 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Encryptor.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Encryptor.java @@ -44,8 +44,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Encryptor { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/FPE.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/FPE.java index ff1a9f91f4..1b8d8f477d 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/FPE.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/FPE.java @@ -52,8 +52,8 @@ * 此类基于BouncyCastle实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FPE implements Serializable { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/PBKDF2.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/PBKDF2.java index ee0adb08f3..da8d9d7991 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/PBKDF2.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/PBKDF2.java @@ -37,8 +37,8 @@ * 参考:https://blog.csdn.net/huoji555/article/details/83659687 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PBKDF2 { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/RC4.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/RC4.java index 0000a00da0..031440a03e 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/RC4.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/RC4.java @@ -45,8 +45,8 @@ * * @author Iurii Sergiichuk * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RC4 implements Serializable { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/SM4.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/SM4.java index f2ca3228ca..20e05df9ed 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/SM4.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/SM4.java @@ -45,8 +45,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SM4 extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Vigenere.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Vigenere.java index e92cd5a831..c376d44097 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Vigenere.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/Vigenere.java @@ -33,8 +33,8 @@ * 算法实现来自:https://github.com/zhaorenjie110/SymmetricEncryptionAndDecryption * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Vigenere { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ZUC.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ZUC.java index f64471c018..07ddf6f5b0 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ZUC.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/ZUC.java @@ -10,8 +10,8 @@ * 祖冲之算法集(ZUC算法)实现,基于BouncyCastle实现。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZUC extends Crypto { diff --git a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/package-info.java b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/package-info.java index 692b6542a1..1c79107371 100644 --- a/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/package-info.java +++ b/bus-crypto/src/main/java/org/aoju/bus/crypto/symmetric/package-info.java @@ -2,7 +2,7 @@ * 对称加密算法实现,包括AES、DES、DESede等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.crypto.symmetric; \ No newline at end of file diff --git a/bus-extra/pom.xml b/bus-extra/pom.xml index 47fdab6231..6e07d2978e 100644 --- a/bus-extra/pom.xml +++ b/bus-extra/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-extra - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 1.2.76 2.8.7 @@ -203,7 +203,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -212,7 +212,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -246,7 +246,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -259,7 +259,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -273,7 +273,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaBuilder.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaBuilder.java index 23b34ae689..c660a73764 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaBuilder.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaBuilder.java @@ -34,8 +34,8 @@ * 图形验证码工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CaptchaBuilder { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaProvider.java index 92a98df937..4f8cf49160 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/CaptchaProvider.java @@ -31,8 +31,8 @@ * 验证码接口,提供验证码对象接口定义 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CaptchaProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/package-info.java index c3dc6662ae..a9f939402e 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/package-info.java @@ -2,7 +2,7 @@ * 图片验证码实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.captcha; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/AbstractProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/AbstractProvider.java index 846dc4b256..6faa757824 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/AbstractProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/AbstractProvider.java @@ -47,8 +47,8 @@ * 实现类通过实现{@link #createImage(String)} 方法生成图片对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProvider implements CaptchaProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/CircleProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/CircleProvider.java index 9540923701..f4ec3a8ead 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/CircleProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/CircleProvider.java @@ -38,8 +38,8 @@ * 圆圈干扰验证码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CircleProvider extends AbstractProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ClickWordProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ClickWordProvider.java index ff1c64668f..26d36f56ab 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ClickWordProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ClickWordProvider.java @@ -33,8 +33,8 @@ * 点选文字验证码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ClickWordProvider extends AbstractProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/GifProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/GifProvider.java index 5ebb04107a..4134b6c4fb 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/GifProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/GifProvider.java @@ -37,8 +37,8 @@ * Git验证码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GifProvider extends AbstractProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/LineProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/LineProvider.java index 560b8f5ae2..39edf52de3 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/LineProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/LineProvider.java @@ -37,8 +37,8 @@ * 普通干扰线验证码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LineProvider extends AbstractProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/PuzzleProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/PuzzleProvider.java index 24efb94bbd..303a1eecc6 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/PuzzleProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/PuzzleProvider.java @@ -33,8 +33,8 @@ * 滑动验证码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PuzzleProvider extends AbstractProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ShearProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ShearProvider.java index 0a100b4bb7..f05e308019 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ShearProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/ShearProvider.java @@ -36,8 +36,8 @@ * 扭曲干扰验证码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ShearProvider extends AbstractProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/package-info.java index 0c826498c1..fca805fd22 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/provider/package-info.java @@ -2,7 +2,7 @@ * 验证码生成实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.captcha.provider; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/AbstractStrategy.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/AbstractStrategy.java index e91a4af40b..3efa284905 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/AbstractStrategy.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/AbstractStrategy.java @@ -32,8 +32,8 @@ * 可以通过传入的基础集合和长度随机生成验证码字符 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractStrategy implements CodeStrategy { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/CodeStrategy.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/CodeStrategy.java index 980c12e8fc..3b88476e68 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/CodeStrategy.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/CodeStrategy.java @@ -29,8 +29,8 @@ * 验证码文字生成器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CodeStrategy { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/MathStrategy.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/MathStrategy.java index 03400bdade..46b965ddfe 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/MathStrategy.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/MathStrategy.java @@ -34,8 +34,8 @@ * 数字计算验证码生成器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MathStrategy implements CodeStrategy { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/RandomStrategy.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/RandomStrategy.java index 83fa7a34a9..fd083f642e 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/RandomStrategy.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/RandomStrategy.java @@ -33,8 +33,8 @@ * 可以通过传入的基础集合和长度随机生成验证码字符 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RandomStrategy extends AbstractStrategy { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/package-info.java index 73905898c8..1287aa0bd5 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/captcha/strategy/package-info.java @@ -2,7 +2,7 @@ * 验证码策略实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.captcha.strategy; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectFactory.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectFactory.java index b6737a86bd..9f18b909bb 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectFactory.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectFactory.java @@ -35,8 +35,8 @@ * 解压缩服务工厂 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum EffectFactory { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectProvider.java index d9423061e7..5e4830b760 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/EffectProvider.java @@ -31,8 +31,8 @@ * 数据压缩/解压缩 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface EffectProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/package-info.java index 389198e4a8..d0e6ee4315 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/package-info.java @@ -4,7 +4,7 @@ * ar, arj, cpio, dump, tar and zip等格式。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.effect; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Bzip2Provider.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Bzip2Provider.java index ccdaec0117..e8482fdcad 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Bzip2Provider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Bzip2Provider.java @@ -37,8 +37,8 @@ * 基于bzip2算法的数据解压缩 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Bzip2Provider implements EffectProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/DeflaterProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/DeflaterProvider.java index 6dc0f71da8..12792b4c74 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/DeflaterProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/DeflaterProvider.java @@ -36,8 +36,8 @@ * 基于deflater算法的数据解压缩 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeflaterProvider implements EffectProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/GzipProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/GzipProvider.java index aecb58341d..82c1465997 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/GzipProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/GzipProvider.java @@ -37,8 +37,8 @@ * 基于gzip算法的数据解压缩 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GzipProvider implements EffectProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Lz4Provider.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Lz4Provider.java index fa0a70f788..6e3f1f49be 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Lz4Provider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/Lz4Provider.java @@ -36,8 +36,8 @@ * 基于lz4算法的数据解压缩 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Lz4Provider implements EffectProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/LzoProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/LzoProvider.java index 14f32c6a78..22ac7b239f 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/LzoProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/LzoProvider.java @@ -36,8 +36,8 @@ * 基于lzo算法的数据解压缩 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LzoProvider implements EffectProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/SnappyProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/SnappyProvider.java index dff34be96a..ebc60fa91a 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/SnappyProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/SnappyProvider.java @@ -34,8 +34,8 @@ * 基于snappy的数据压缩 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SnappyProvider implements EffectProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/package-info.java index 3904886916..a1003c7e22 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/effect/provider/package-info.java @@ -2,7 +2,7 @@ * 基于commons-compress的解包(解压缩)封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.effect.provider; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/emoji/EmojiKit.java b/bus-extra/src/main/java/org/aoju/bus/extra/emoji/EmojiKit.java index 22ab787eef..a4f150cabf 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/emoji/EmojiKit.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/emoji/EmojiKit.java @@ -37,8 +37,8 @@ * 基于emoji-java的Emoji表情工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EmojiKit { @@ -160,7 +160,7 @@ public static String toHtml(String text) { * 否则,👦🏿 转换为 &#128102; * * - * @param text 包含Emoji Unicode字符的字符串 + * @param text 包含Emoji Unicode字符的字符串 * @param isHex 是否hex形式 * @return 替换后的字符串 */ diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/emoji/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/emoji/package-info.java index c227094e28..4b9c57f483 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/emoji/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/emoji/package-info.java @@ -2,7 +2,7 @@ * 基于https://github.com/vdurmont/emoji-java的Emoji表情工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.emoji; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/AbstractFtp.java b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/AbstractFtp.java index 3630b6aff2..f819a62401 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/AbstractFtp.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/AbstractFtp.java @@ -40,8 +40,8 @@ * 抽象FTP类,用于定义通用的FTP方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractFtp implements Closeable { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/Ftp.java b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/Ftp.java index 5bbf655743..aa734463db 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/Ftp.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/Ftp.java @@ -53,8 +53,8 @@ * 此客户端基于Apache-Commons-Net * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Ftp extends AbstractFtp { @@ -157,6 +157,16 @@ public Ftp(FtpConfig config, FtpMode mode) { this.init(); } + /** + * 构造 + * + * @param client 自定义实例化好的{@link FTPClient} + */ + public Ftp(FTPClient client) { + super(FtpConfig.create()); + this.client = client; + } + /** * 初始化连接 * @@ -261,6 +271,15 @@ public Ftp setMode(FtpMode mode) { return this; } + /** + * 是否执行完操作返回当前目录 + * + * @return 执行完操作是否返回当前目录 + */ + public boolean isBackToPwd() { + return this.backToPwd; + } + /** * 设置执行完操作是否返回当前目录 * @@ -272,15 +291,6 @@ public Ftp setBackToPwd(boolean backToPwd) { return this; } - /** - * 是否执行完操作返回当前目录 - * - * @return 执行完操作是否返回当前目录 - */ - public boolean isBackToPwd() { - return this.backToPwd; - } - /** * 如果连接超时的话,重新进行连接 经测试,当连接超时时,client.isConnected()仍然返回ture,无法判断是否连接超时 因此,通过发送pwd命令的方式,检查连接是否超时 * diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpConfig.java b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpConfig.java index d70ac5dbd6..c2a3e755a9 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpConfig.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpConfig.java @@ -32,8 +32,8 @@ * FTP配置项参数信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FtpConfig implements Serializable { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpMode.java b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpMode.java index 333c2553d0..bc05e0b21c 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpMode.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpMode.java @@ -29,8 +29,8 @@ * FTP连接模式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum FtpMode { /** diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpServer.java b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpServer.java index 25c0d6eff8..68aa0b0e4b 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpServer.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/FtpServer.java @@ -49,8 +49,8 @@ * 基于 Apache FtpServer的服务端简单封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FtpServer { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/package-info.java index 79de90bcc9..43abd6f9f0 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ftp/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ftp/package-info.java @@ -2,7 +2,7 @@ * 基于Apache Commons Net封装的FTP工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.ftp; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonFactory.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonFactory.java index 8b67c5cc73..3434f4246a 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonFactory.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonFactory.java @@ -37,8 +37,8 @@ * 自动创建对应的json解析器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JsonFactory { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonKit.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonKit.java index d6b9168285..ed24818ded 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonKit.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonKit.java @@ -33,8 +33,8 @@ * json工具类,通过SPI自动识别 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JsonKit { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonProvider.java index 5e8f53671e..0b78cd25be 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/JsonProvider.java @@ -33,8 +33,8 @@ * JSON服务提供者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface JsonProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/package-info.java index 7f2ac8023d..b5110dd722 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/package-info.java @@ -2,7 +2,7 @@ * JSON封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.json; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/AbstractJsonProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/AbstractJsonProvider.java index 57aaaf9499..8f855b4dbd 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/AbstractJsonProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/AbstractJsonProvider.java @@ -31,8 +31,8 @@ * 默认解析器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractJsonProvider implements JsonProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/FastJsonProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/FastJsonProvider.java index 6cf684c23c..22d2444043 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/FastJsonProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/FastJsonProvider.java @@ -38,8 +38,8 @@ * FastJson 解析器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FastJsonProvider extends AbstractJsonProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/GsonProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/GsonProvider.java index 7ce8fc60a3..e86cd90368 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/GsonProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/GsonProvider.java @@ -35,8 +35,8 @@ * Gson 解析器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GsonProvider extends AbstractJsonProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/JacksonProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/JacksonProvider.java index 60b174792d..d632f0a87d 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/JacksonProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/JacksonProvider.java @@ -42,8 +42,8 @@ * Jackson 解析器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JacksonProvider extends AbstractJsonProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/package-info.java index 03bd475c42..134f78f884 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/json/provider/package-info.java @@ -2,7 +2,7 @@ * JSON自定义序列化和反序列化接口实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.json.provider; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/package-info.java index 80b0715d9d..758e96aff7 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/package-info.java @@ -2,7 +2,7 @@ * 扩展第三方插件等功能 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinFactory.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinFactory.java index d72bd97503..9ba862d5d1 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinFactory.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinFactory.java @@ -36,8 +36,8 @@ * 自动创建对应的拼音引擎对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PinyinFactory { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinKit.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinKit.java index 4997274756..8dea195ca0 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinKit.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinKit.java @@ -39,8 +39,8 @@ * 3. Pinyin4j * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PinyinKit { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinProvider.java index ab351e1fe1..fd7b558fb6 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/PinyinProvider.java @@ -34,8 +34,8 @@ * 拼音服务提供者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface PinyinProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/package-info.java index 63aec5beb9..bafb30f8b8 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/package-info.java @@ -2,7 +2,7 @@ * 拼音工具封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.pinyin; diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/AbstractPinyinProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/AbstractPinyinProvider.java index aaa1c40801..5715d4bec0 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/AbstractPinyinProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/AbstractPinyinProvider.java @@ -31,8 +31,8 @@ * 拼音默认实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractPinyinProvider implements PinyinProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Bopomofo4jProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Bopomofo4jProvider.java index 9aca1fa452..70e67ba061 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Bopomofo4jProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Bopomofo4jProvider.java @@ -33,8 +33,8 @@ * Bopomofo4j 引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Bopomofo4jProvider extends AbstractPinyinProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/HoubbPinyinProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/HoubbPinyinProvider.java index 720039b37f..ae781b695b 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/HoubbPinyinProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/HoubbPinyinProvider.java @@ -32,8 +32,8 @@ * houbb Pinyin 引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HoubbPinyinProvider extends AbstractPinyinProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/JPinyinProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/JPinyinProvider.java index 2cb4cad5f7..a780b152e0 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/JPinyinProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/JPinyinProvider.java @@ -35,8 +35,8 @@ * Jpinyin 引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JPinyinProvider extends AbstractPinyinProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Pinyin4JProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Pinyin4JProvider.java index 006f1acf39..feb97afb96 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Pinyin4JProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/Pinyin4JProvider.java @@ -39,8 +39,8 @@ * Pinyin4j 引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Pinyin4JProvider extends AbstractPinyinProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/TinyPinyinProvider.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/TinyPinyinProvider.java index 808bd590d5..0659a8fe6d 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/TinyPinyinProvider.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/TinyPinyinProvider.java @@ -31,8 +31,8 @@ * TinyPinyin 引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TinyPinyinProvider extends AbstractPinyinProvider { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/package-info.java index d7c6cec492..e5d87ad6cb 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/pinyin/provider/package-info.java @@ -7,7 +7,7 @@ * TinyPinyin - https://github.com/promeG/TinyPinyin * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.pinyin.provider; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/LuminanceSource.java b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/LuminanceSource.java index 696c5e5f06..d560a5689e 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/LuminanceSource.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/LuminanceSource.java @@ -33,8 +33,8 @@ * {@link BufferedImage} 图片二维码源 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class LuminanceSource extends com.google.zxing.LuminanceSource { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrCodeKit.java b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrCodeKit.java index 9e344967b0..23c8db2fb7 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrCodeKit.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrCodeKit.java @@ -52,8 +52,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QrCodeKit { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrConfig.java b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrConfig.java index d0103a50f7..b9a9e8bac1 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrConfig.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/QrConfig.java @@ -41,8 +41,8 @@ * 二维码设置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QrConfig { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/package-info.java index 61ffcef972..19e68ebfcf 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/qrcode/package-info.java @@ -2,7 +2,7 @@ * 二维码封装,基于zxing库 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.qrcode; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/servlet/ServletKit.java b/bus-extra/src/main/java/org/aoju/bus/extra/servlet/ServletKit.java index 875226c643..e42aaa3e7f 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/servlet/ServletKit.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/servlet/ServletKit.java @@ -46,8 +46,8 @@ * Servlet 工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ServletKit { @@ -84,8 +84,8 @@ public static Map getParamMap(ServletRequest request) { * @return 获得请求体 */ public static String getBody(ServletRequest request) { - try { - return IoKit.read(request.getReader()); + try (final BufferedReader reader = request.getReader()) { + return IoKit.read(reader); } catch (IOException e) { throw new InstrumentException(e); } @@ -113,7 +113,7 @@ public static byte[] getBodyBytes(ServletRequest request) { * @param request ServletRequest * @param bean Bean * @param copyOptions 注入时的设置 - * @return Bean + * @return the bean */ public static T fillBean(final ServletRequest request, T bean, CopyOptions copyOptions) { final String beanName = StringKit.lowerFirst(bean.getClass().getSimpleName()); @@ -152,7 +152,7 @@ public boolean containsKey(String key) { * @param request {@link ServletRequest} * @param bean Bean * @param isIgnoreError 是否忽略注入错误 - * @return Bean + * @return the bean */ public static T fillBean(ServletRequest request, T bean, boolean isIgnoreError) { return fillBean(request, bean, CopyOptions.create().setIgnoreError(isIgnoreError)); @@ -165,7 +165,7 @@ public static T fillBean(ServletRequest request, T bean, boolean isIgnoreErr * @param request ServletRequest * @param beanClass Bean Class * @param isIgnoreError 是否忽略注入错误 - * @return Bean + * @return the bean */ public static T toBean(ServletRequest request, Class beanClass, boolean isIgnoreError) { return fillBean(request, ReflectKit.newInstanceIfPossible(beanClass), isIgnoreError); @@ -246,7 +246,6 @@ public static Map getHeader(HttpServletRequest request) { return headerMap; } - /** * 忽略大小写获得请求header中的信息 * @@ -373,7 +372,7 @@ public static boolean isMultipart(HttpServletRequest request) { * @param httpServletRequest {@link HttpServletRequest} * @return Cookie map */ - public static Map readCookie(HttpServletRequest httpServletRequest) { + public static Map getCookie(HttpServletRequest httpServletRequest) { final Cookie[] cookies = httpServletRequest.getCookies(); if (ArrayKit.isEmpty(cookies)) { return MapKit.empty(); @@ -392,8 +391,8 @@ public static Map readCookie(HttpServletRequest httpServletReque * @param name cookie名称 * @return Cookie对象 */ - public static Cookie readCookie(HttpServletRequest httpServletRequest, String name) { - return readCookie(httpServletRequest).get(name); + public static Cookie getCookie(HttpServletRequest httpServletRequest, String name) { + return getCookie(httpServletRequest).get(name); } /** diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/servlet/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/servlet/package-info.java index e1a08a5315..010016de27 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/servlet/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/servlet/package-info.java @@ -2,7 +2,7 @@ * Servlet封装,包括Servlet参数获取、文件上传、Response写出等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.servlet; \ No newline at end of file diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/ChannelType.java b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/ChannelType.java index 74aeeb2160..20b634b6ff 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/ChannelType.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/ChannelType.java @@ -29,8 +29,8 @@ * Jsch支持的Channel类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum ChannelType { /** diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Connector.java b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Connector.java index 16c9ccb6c4..25dd73452d 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Connector.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Connector.java @@ -29,8 +29,8 @@ * 连接者对象,提供一些连接的基本信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Connector { private String host; diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchKit.java b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchKit.java index 15cdfff060..c558dc84e0 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchKit.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchKit.java @@ -43,8 +43,8 @@ * 它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JSchKit { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchSessionPool.java b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchSessionPool.java index 52ec9f3772..2f36bde485 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchSessionPool.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/JSchSessionPool.java @@ -37,8 +37,8 @@ * Jsch会话池 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum JSchSessionPool { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Sftp.java b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Sftp.java index 7b44c98c4f..f3c4e55a6d 100755 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Sftp.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/Sftp.java @@ -55,8 +55,8 @@ *

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Sftp extends AbstractFtp { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/SshjSftp.java b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/SshjSftp.java index 1b3d60c654..75aa2c0f04 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/SshjSftp.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/SshjSftp.java @@ -55,8 +55,8 @@ *

* * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SshjSftp extends AbstractFtp { diff --git a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/package-info.java b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/package-info.java index fe9eb97960..ad3b6a250f 100644 --- a/bus-extra/src/main/java/org/aoju/bus/extra/ssh/package-info.java +++ b/bus-extra/src/main/java/org/aoju/bus/extra/ssh/package-info.java @@ -2,7 +2,7 @@ * Jsch封装,包括端口映射、SFTP封装等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.extra.ssh; \ No newline at end of file diff --git a/bus-gitlab/README.md b/bus-gitlab/README.md index 0601caa165..b07e76e0da 100755 --- a/bus-gitlab/README.md +++ b/bus-gitlab/README.md @@ -70,7 +70,7 @@ dependencies { org.aoju bus-gitlab - 6.3.5 + 6.5.0 ``` diff --git a/bus-gitlab/pom.xml b/bus-gitlab/pom.xml index 1b1705600b..a40e6350de 100755 --- a/bus-gitlab/pom.xml +++ b/bus-gitlab/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-gitlab - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.10.3 2.30.1 4.0.1 @@ -96,7 +96,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -105,7 +105,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -139,7 +139,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -152,7 +152,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -166,7 +166,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-gitlab/src/main/java/org/aoju/bus/gitlab/hooks/web/WebHookManager.java b/bus-gitlab/src/main/java/org/aoju/bus/gitlab/hooks/web/WebHookManager.java index 0a1fff3d28..a58b8932eb 100644 --- a/bus-gitlab/src/main/java/org/aoju/bus/gitlab/hooks/web/WebHookManager.java +++ b/bus-gitlab/src/main/java/org/aoju/bus/gitlab/hooks/web/WebHookManager.java @@ -1,4 +1,3 @@ - package org.aoju.bus.gitlab.hooks.web; import org.aoju.bus.gitlab.GitLabApiException; diff --git a/bus-goalie/pom.xml b/bus-goalie/pom.xml index da36a5aef2..a06c394367 100644 --- a/bus-goalie/pom.xml +++ b/bus-goalie/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-goalie - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.6.3 1.18.22 30.1.1-jre @@ -100,7 +100,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -109,7 +109,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -143,7 +143,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -156,7 +156,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -170,7 +170,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/Assets.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/Assets.java index a6f0caced1..88982439fb 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/Assets.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/Assets.java @@ -35,8 +35,8 @@ * api definition * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Assets { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/Athlete.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/Athlete.java index ccccd3be31..364fd7facf 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/Athlete.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/Athlete.java @@ -33,8 +33,8 @@ * 服务端 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Athlete { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/Config.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/Config.java index 207d2987d3..9ba05cbc07 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/Config.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/Config.java @@ -31,8 +31,8 @@ * 服务端配置 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Config { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/Context.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/Context.java index 755beaa91f..b0ac069d08 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/Context.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/Context.java @@ -44,8 +44,8 @@ * 上下文传参 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Context { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/Handler.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/Handler.java index 2aa78e02f7..3424e78a5f 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/Handler.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/Handler.java @@ -32,8 +32,8 @@ * 拦截器,原理同spring拦截器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public interface Handler { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/Provider.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/Provider.java index 1c77a0e496..e391c03668 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/Provider.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/Provider.java @@ -29,8 +29,8 @@ * 数据序列化 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public interface Provider { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/Registry.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/Registry.java index dc87df24fa..13f3f5388f 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/Registry.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/Registry.java @@ -29,8 +29,8 @@ * api registry * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Registry { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ApiVersion.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ApiVersion.java index 13ec21d2a1..b99ae751b2 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ApiVersion.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ApiVersion.java @@ -35,8 +35,8 @@ * 规则,自动放置于路径开始部分;不做method做版本,避免难以维护 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ClientVersion.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ClientVersion.java index f16ff56760..e180f46e23 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ClientVersion.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/ClientVersion.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/TerminalVersion.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/TerminalVersion.java index 63b2712370..d636915b0c 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/TerminalVersion.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/TerminalVersion.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ @Retention(RetentionPolicy.RUNTIME) public @interface TerminalVersion { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/VersionMapping.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/VersionMapping.java index 5e17b18831..1f1ce27bad 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/VersionMapping.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/VersionMapping.java @@ -33,7 +33,7 @@ /** * @author Kimi Liu - * @version 6.3.5 + * @version 6.5.0 */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/package-info.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/package-info.java index ca0284c28a..ec504d9570 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/package-info.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/annotation/package-info.java @@ -2,7 +2,7 @@ * 注解信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.goalie.annotation; \ No newline at end of file diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/AuthorizeFilter.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/AuthorizeFilter.java index 6c276d0a3a..16986806ad 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/AuthorizeFilter.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/AuthorizeFilter.java @@ -55,8 +55,8 @@ * 访问鉴权 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(Ordered.HIGHEST_PRECEDENCE + 2) public class AuthorizeFilter implements WebFilter { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/DecryptFilter.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/DecryptFilter.java index 244d605627..8bb2ad6d29 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/DecryptFilter.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/DecryptFilter.java @@ -49,8 +49,8 @@ * 数据解密 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(Ordered.HIGHEST_PRECEDENCE + 1) public class DecryptFilter implements WebFilter { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/EncryptFilter.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/EncryptFilter.java index 5d728dc106..828bd958e2 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/EncryptFilter.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/EncryptFilter.java @@ -56,8 +56,8 @@ * 数据加密 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(Ordered.LOWEST_PRECEDENCE - 1) public class EncryptFilter implements WebFilter { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/FormatFilter.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/FormatFilter.java index 130989fd8f..d023ec81c6 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/FormatFilter.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/FormatFilter.java @@ -47,8 +47,8 @@ * 格式化 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(Ordered.LOWEST_PRECEDENCE - 2) public class FormatFilter implements WebFilter { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/LimitFilter.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/LimitFilter.java index 2beb417dee..1fa4052dd8 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/LimitFilter.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/LimitFilter.java @@ -43,8 +43,8 @@ * 限流 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(Ordered.HIGHEST_PRECEDENCE + 3) public class LimitFilter implements WebFilter { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/PrimaryFilter.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/PrimaryFilter.java index b5656322eb..e0bfbbd697 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/PrimaryFilter.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/PrimaryFilter.java @@ -57,8 +57,8 @@ * 参数过滤/校验 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(Ordered.HIGHEST_PRECEDENCE) public class PrimaryFilter implements WebFilter { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/package-info.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/package-info.java index 5a231f3fe7..aa89dd4012 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/package-info.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/filter/package-info.java @@ -2,7 +2,7 @@ * 安全规则等过滤 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.goalie.filter; \ No newline at end of file diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/AbstractApiHandler.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/AbstractApiHandler.java index cb2278611a..55736f50c0 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/AbstractApiHandler.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/AbstractApiHandler.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public class AbstractApiHandler implements Handler { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiPermissionHandler.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiPermissionHandler.java index fd1e8f141c..e9a5e546ce 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiPermissionHandler.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiPermissionHandler.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public class ApiPermissionHandler extends AbstractApiHandler { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRequestMappingHandlerMapping.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRequestMappingHandlerMapping.java index 8d42ec2ba6..d29b4eaf38 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRequestMappingHandlerMapping.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRequestMappingHandlerMapping.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public class ApiRequestMappingHandlerMapping extends RequestMappingHandlerMapping { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRouterHandler.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRouterHandler.java index 2a08a71ac3..350f008ef8 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRouterHandler.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiRouterHandler.java @@ -55,8 +55,8 @@ * router handler * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ApiRouterHandler { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiVersionRequestCondition.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiVersionRequestCondition.java index be23d9aacc..5ed4370a2d 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiVersionRequestCondition.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiVersionRequestCondition.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public class ApiVersionRequestCondition extends AbstractRequestCondition { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiWebMvcRegistrations.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiWebMvcRegistrations.java index 71321afc95..406d1ba21e 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiWebMvcRegistrations.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/ApiWebMvcRegistrations.java @@ -34,8 +34,8 @@ * spring boot专用,避免继承webconfigurationsupport对spring的自动配置侵入和破坏 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public class ApiWebMvcRegistrations implements WebMvcRegistrations { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/GlobalExceptionHandler.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/GlobalExceptionHandler.java index 07ac5671cc..a21707669b 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/GlobalExceptionHandler.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/GlobalExceptionHandler.java @@ -49,8 +49,8 @@ * 异常处理 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GlobalExceptionHandler extends Controller implements ErrorWebExceptionHandler { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/package-info.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/package-info.java index cc628b74e1..99aaf98f4e 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/package-info.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/handler/package-info.java @@ -2,7 +2,7 @@ * 权限等相关参数校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.goalie.handler; \ No newline at end of file diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Authorize.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Authorize.java index a57deda09d..d24343f838 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Authorize.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Authorize.java @@ -29,8 +29,8 @@ * 访问授权认证 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Authorize { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Delegate.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Delegate.java index e2091fc72f..d604e10b62 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Delegate.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Delegate.java @@ -34,8 +34,8 @@ * 认证及委托处理 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Delegate { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Limiter.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Limiter.java index 9de1db82c9..776f75046d 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Limiter.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Limiter.java @@ -32,8 +32,8 @@ * 限流器 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Limiter { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Token.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Token.java index 3a79cded33..49d26c8831 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Token.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/Token.java @@ -32,8 +32,8 @@ * token参数 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @AllArgsConstructor @Data diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/package-info.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/package-info.java index 08e578e640..5e96b4dfb9 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/package-info.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/metric/package-info.java @@ -2,7 +2,7 @@ * 基础信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.goalie.metric; \ No newline at end of file diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/package-info.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/package-info.java index 34aa58adec..cd7acb42b7 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/package-info.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/package-info.java @@ -2,7 +2,7 @@ * 基于spring webflux 开发的API网关 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.goalie; \ No newline at end of file diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AbstractRegistry.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AbstractRegistry.java index ef8776ba9b..5e51c88a0a 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AbstractRegistry.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AbstractRegistry.java @@ -35,8 +35,8 @@ * 抽象注册类 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractRegistry implements Registry, InitializingBean { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AssetsRegistry.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AssetsRegistry.java index 00211282b0..7ba2fe5648 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AssetsRegistry.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/AssetsRegistry.java @@ -32,8 +32,8 @@ * 路由注册 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface AssetsRegistry extends Registry { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultAssetsRegistry.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultAssetsRegistry.java index 3e2d353da4..cf9d283e52 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultAssetsRegistry.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultAssetsRegistry.java @@ -32,8 +32,8 @@ * 抽象路由注册 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultAssetsRegistry extends AbstractRegistry implements AssetsRegistry { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultLimiterRegistry.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultLimiterRegistry.java index 64d68394ad..2d9275d45c 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultLimiterRegistry.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/DefaultLimiterRegistry.java @@ -32,8 +32,8 @@ * 限流注册 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultLimiterRegistry extends AbstractRegistry implements LimiterRegistry { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/InterceptorRegistry.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/InterceptorRegistry.java index 34d7b497d5..531b48771b 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/InterceptorRegistry.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/InterceptorRegistry.java @@ -31,8 +31,8 @@ * 数据序列化 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public interface InterceptorRegistry extends Registry { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/LimiterRegistry.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/LimiterRegistry.java index f3a7887413..7c51463950 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/LimiterRegistry.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/LimiterRegistry.java @@ -33,8 +33,8 @@ * 限流注册器 * * @author Justubborn - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LimiterRegistry extends Registry { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/package-info.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/package-info.java index b32936512f..671313f851 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/package-info.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/registry/package-info.java @@ -2,7 +2,7 @@ * 流量及资源匹配 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.goalie.registry; \ No newline at end of file diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/support/JsonProvider.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/support/JsonProvider.java index fb7ce952cd..da83146b16 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/support/JsonProvider.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/support/JsonProvider.java @@ -32,8 +32,8 @@ * Json序列化 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public class JsonProvider implements Provider { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/support/XmlProvider.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/support/XmlProvider.java index 95a2af1ba3..99a826e239 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/support/XmlProvider.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/support/XmlProvider.java @@ -36,8 +36,8 @@ * Xml序列化 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public class XmlProvider implements Provider { diff --git a/bus-goalie/src/main/java/org/aoju/bus/goalie/support/package-info.java b/bus-goalie/src/main/java/org/aoju/bus/goalie/support/package-info.java index c9a5103011..3ceca5b59f 100644 --- a/bus-goalie/src/main/java/org/aoju/bus/goalie/support/package-info.java +++ b/bus-goalie/src/main/java/org/aoju/bus/goalie/support/package-info.java @@ -2,7 +2,7 @@ * 数据输出处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.goalie.support; \ No newline at end of file diff --git a/bus-health/pom.xml b/bus-health/pom.xml index 5c1f2c83fd..87e8e249fe 100755 --- a/bus-health/pom.xml +++ b/bus-health/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-health - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 5.10.0 @@ -63,6 +63,12 @@ ${jna.version} true + + net.jcip + jcip-annotations + RELEASE + compile +
@@ -70,7 +76,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -79,7 +85,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -113,7 +119,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -126,7 +132,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -140,7 +146,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-health/src/main/java/org/aoju/bus/health/Builder.java b/bus-health/src/main/java/org/aoju/bus/health/Builder.java index 99f3106565..3ced3b3f6f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/Builder.java +++ b/bus-health/src/main/java/org/aoju/bus/health/Builder.java @@ -25,6 +25,10 @@ ********************************************************************************/ package org.aoju.bus.health; +import com.sun.jna.Native; +import com.sun.jna.NativeLong; +import com.sun.jna.Pointer; +import com.sun.jna.platform.unix.LibCAPI; import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.core.convert.Convert; import org.aoju.bus.core.lang.Normal; @@ -58,8 +62,8 @@ * String parsing utility. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Builder { @@ -1577,6 +1581,137 @@ public static byte[] readAllBytes(String filename, boolean reportError) { return new byte[0]; } + /** + * Read an entire file at one time. Intended for unix /proc binary files to + * avoid reading file contents on iterative reads. + * + * @param filename The file to read + * @return A bytebuffer representing the file if read was successful; null + * otherwise + */ + public static ByteBuffer readAllBytesAsBuffer(String filename) { + byte[] bytes = readAllBytes(filename, false); + ByteBuffer buff = ByteBuffer.allocate(bytes.length); + buff.order(ByteOrder.nativeOrder()); + for (byte b : bytes) { + buff.put(b); + } + buff.flip(); + return buff; + } + + /** + * Reads a byte value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @return The next byte value + */ + public static byte readByteFromBuffer(ByteBuffer buff) { + if (buff.position() < buff.limit()) { + return buff.get(); + } + return 0; + } + + /** + * Reads a short value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @return The next short value + */ + public static short readShortFromBuffer(ByteBuffer buff) { + if (buff.position() <= buff.limit() - 2) { + return buff.getShort(); + } + return 0; + } + + /** + * Reads an int value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @return The next int value + */ + public static int readIntFromBuffer(ByteBuffer buff) { + if (buff.position() <= buff.limit() - 4) { + return buff.getInt(); + } + return 0; + } + + /** + * Reads a long value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @return The next long value + */ + public static long readLongFromBuffer(ByteBuffer buff) { + if (buff.position() <= buff.limit() - 8) { + return buff.getLong(); + } + return 0L; + } + + /** + * Reads a NativeLong value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @return The next value + */ + public static NativeLong readNativeLongFromBuffer(ByteBuffer buff) { + return new NativeLong(Native.LONG_SIZE == 4 ? readIntFromBuffer(buff) : readLongFromBuffer(buff)); + } + + /** + * Reads a size_t value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @return The next value + */ + public static LibCAPI.size_t readSizeTFromBuffer(ByteBuffer buff) { + return new LibCAPI.size_t(Native.SIZE_T_SIZE == 4 ? readIntFromBuffer(buff) : readLongFromBuffer(buff)); + } + + /** + * Reads a byte array value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @param array The array into which to read the data + */ + public static void readByteArrayFromBuffer(ByteBuffer buff, byte[] array) { + if (buff.position() <= buff.limit() - array.length) { + buff.get(array); + } + } + + /** + * Reads a byte array value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @param size The number of bytes to read + * @return The next values + */ + public static byte[] readByteArrayFromBuffer(ByteBuffer buff, int size) { + byte[] bytes = new byte[size]; + if (buff.position() <= buff.limit() - size) { + buff.get(bytes); + } + return bytes; + } + + /** + * Reads a Pointer value from a ByteBuffer + * + * @param buff The bytebuffer to read from + * @return The next value + */ + public static Pointer readPointerFromBuffer(ByteBuffer buff) { + if (buff.position() <= buff.limit() - Native.POINTER_SIZE) { + return Native.POINTER_SIZE == 4 ? new Pointer(buff.getInt()) : new Pointer(buff.getLong()); + } + return Pointer.NULL; + } + /** * Read a file and return the long value contained therein. Intended primarily * for Linux /sys filesystem diff --git a/bus-health/src/main/java/org/aoju/bus/health/Config.java b/bus-health/src/main/java/org/aoju/bus/health/Config.java index ac7f45277d..18222a4eb6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/Config.java +++ b/bus-health/src/main/java/org/aoju/bus/health/Config.java @@ -35,8 +35,8 @@ * The global configuration utility * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @NotThreadSafe public final class Config { @@ -57,10 +57,25 @@ public final class Config { public static final String OS_WINDOWS_COMMANDLINE_BATCH = "bus.health.os.windows.commandline.batch"; public static final String OS_WINDOWS_HKEYPERFDATA = "bus.health.os.windows.hkeyperfdata"; public static final String OS_WINDOWS_CPU_UTILITY = "bus.health.os.windows.cpu.utility"; + + public static final String OS_WINDOWS_PERFDISK_DIABLED = "bus.os.windows.perfdisk.disabled"; + public static final String OS_WINDOWS_PERFOS_DIABLED = "bus.os.windows.perfos.disabled"; + public static final String OS_WINDOWS_PERFPROC_DIABLED = "bus.os.windows.perfproc.disabled"; + public static final String OS_UNIX_WHOCOMMAND = "bus.health.os.unix.whoCommand"; private static final Properties CONFIG = readProperties(PROPERTIES); + /** + * Get the property associated with the given key. + * + * @param key The property key + * @return The property value if it exists, or null otherwise + */ + public static String get(String key) { + return CONFIG.getProperty(key); + } + /** * Get the {@code String} property associated with the given key. * diff --git a/bus-health/src/main/java/org/aoju/bus/health/Executor.java b/bus-health/src/main/java/org/aoju/bus/health/Executor.java index 6b7049cbcf..13d269f8ef 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/Executor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/Executor.java @@ -45,8 +45,8 @@ * execution. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Executor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/Formats.java b/bus-health/src/main/java/org/aoju/bus/health/Formats.java index 0af21b5ec2..0c930ba191 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/Formats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/Formats.java @@ -39,8 +39,8 @@ * Formatting utility for appending units or converting between number types. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Formats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/IdGroup.java b/bus-health/src/main/java/org/aoju/bus/health/IdGroup.java index 08b68fbc4e..899967e9db 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/IdGroup.java +++ b/bus-health/src/main/java/org/aoju/bus/health/IdGroup.java @@ -40,8 +40,8 @@ * parsing process ownership. Cache expires after one minute. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class IdGroup { diff --git a/bus-health/src/main/java/org/aoju/bus/health/Memoize.java b/bus-health/src/main/java/org/aoju/bus/health/Memoize.java index c7df8037e4..274cf940d1 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/Memoize.java +++ b/bus-health/src/main/java/org/aoju/bus/health/Memoize.java @@ -36,8 +36,8 @@ * rather than recalculating it. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Memoize { diff --git a/bus-health/src/main/java/org/aoju/bus/health/Platform.java b/bus-health/src/main/java/org/aoju/bus/health/Platform.java index d77777be20..dbb235ed99 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/Platform.java +++ b/bus-health/src/main/java/org/aoju/bus/health/Platform.java @@ -61,8 +61,8 @@ * (software) and {@link HardwareAbstractionLayer} (hardware). * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Platform { @@ -399,7 +399,7 @@ public static OperatingSystemMXBean getOperatingSystemMXBean() { /** * Returns a list of {@link MemoryPoolMXBean} objects in the Java virtual machine. The Java virtual machine can have first or more memory pools. It may add or remove memory pools during execution. * - * @return a list of MemoryPoolMXBean objects. + * @return a list of MemoryPoolMXBean objects. */ public static List getMemoryPoolMXBeans() { return ManagementFactory.getMemoryPoolMXBeans(); @@ -409,17 +409,17 @@ public static List getMemoryPoolMXBeans() { * Returns a list of {@link MemoryManagerMXBean} objects in the Java virtual machine. The Java virtual machine can have first or more memory managers. It may add or remove memory managers during * execution. * - * @return a list of MemoryManagerMXBean objects. + * @return a list of MemoryManagerMXBean objects. */ public static List getMemoryManagerMXBeans() { return ManagementFactory.getMemoryManagerMXBeans(); } /** - * Returns a list of {@link GarbageCollectorMXBean} objects in the Java virtual machine. The Java virtual machine may have first or more GarbageCollectorMXBean objects. It may add or remove - * GarbageCollectorMXBean during execution. + * Returns a list of {@link GarbageCollectorMXBean} objects in the Java virtual machine. The Java virtual machine may have first or more GarbageCollectorMXBean objects. It may add or remove + * GarbageCollectorMXBean during execution. * - * @return a list of GarbageCollectorMXBean objects. + * @return a list of GarbageCollectorMXBean objects. */ public static List getGarbageCollectorMXBeans() { return ManagementFactory.getGarbageCollectorMXBeans(); diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/Cpu.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/Cpu.java index d7ebb8e0dd..cd0b559735 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/Cpu.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/Cpu.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Cpu { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/Java.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/Java.java index 1f97fd088c..8720f357c3 100755 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/Java.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/Java.java @@ -36,8 +36,8 @@ * 代表Java Implementation的信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Java implements Serializable { @@ -261,7 +261,7 @@ public final boolean isJava17() { *

* 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false * - * @return 如果当前Java版本为1.8, 则返回true + * @return 如果当前Java版本为8, 则返回true */ public final boolean isJava18() { return IS_JAVA_1_8; diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaRuntime.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaRuntime.java index 8140df47d7..adab1f8ee4 100755 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaRuntime.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaRuntime.java @@ -36,8 +36,8 @@ * 代表当前运行的JRE的信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaRuntime implements Serializable { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaSpec.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaSpec.java index 7ca960bf9d..309e8a7617 100755 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaSpec.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/JavaSpec.java @@ -35,8 +35,8 @@ * 代表Java Specification的信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavaSpec implements Serializable { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/Jvm.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/Jvm.java index a018b98ac6..5ad423c914 100755 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/Jvm.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/Jvm.java @@ -35,8 +35,8 @@ * 代表Java Virtual Machine Implementation的信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Jvm implements Serializable { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmRuntime.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmRuntime.java index cbc5a6d0e8..d5c40799e5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmRuntime.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmRuntime.java @@ -34,8 +34,8 @@ * 运行时信息,包括内存总大小、已用大小、可用大小等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JvmRuntime implements Serializable { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmSpec.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmSpec.java index 424bdcfd78..18ce9a32fe 100755 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmSpec.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/JvmSpec.java @@ -35,8 +35,8 @@ * 代表Java Virutal Machine Specification的信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JvmSpec implements Serializable { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/Ticks.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/Ticks.java index eb207c2d17..967b13cbee 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/Ticks.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/Ticks.java @@ -32,8 +32,8 @@ * CPU负载时间信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Ticks { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/User.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/User.java index bdfcd8ae95..36df7637a4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/User.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/User.java @@ -32,8 +32,8 @@ * OSUser class * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class User { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractBaseboard.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractBaseboard.java index f5438743a8..fff8273e8a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractBaseboard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractBaseboard.java @@ -31,8 +31,8 @@ * Baseboard data * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public abstract class AbstractBaseboard implements Baseboard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractCentralProcessor.java index b6ed367137..11ecd06320 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractCentralProcessor.java @@ -25,9 +25,11 @@ ********************************************************************************/ package org.aoju.bus.health.builtin.hardware; +import com.sun.jna.Platform; import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.core.lang.tuple.Pair; import org.aoju.bus.health.Builder; +import org.aoju.bus.health.linux.drivers.proc.Auxv; import org.aoju.bus.logger.Logger; import java.util.*; @@ -41,8 +43,8 @@ * A CPU. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractCentralProcessor implements CentralProcessor { @@ -118,100 +120,108 @@ protected static String createProcessorID(String stepping, String model, String processorIdBytes |= (familyL & 0x0f) << 8; processorIdBytes |= (familyL & 0xf0) << 20; // 13:12 – Processor Type, assume 0 - for (String flag : flags) { - switch (flag) { // NOSONAR squid:S1479 - case "fpu": - processorIdBytes |= 1L << 32; - break; - case "vme": - processorIdBytes |= 1L << 33; - break; - case "de": - processorIdBytes |= 1L << 34; - break; - case "pse": - processorIdBytes |= 1L << 35; - break; - case "tsc": - processorIdBytes |= 1L << 36; - break; - case "msr": - processorIdBytes |= 1L << 37; - break; - case "pae": - processorIdBytes |= 1L << 38; - break; - case "mce": - processorIdBytes |= 1L << 39; - break; - case "cx8": - processorIdBytes |= 1L << 40; - break; - case "apic": - processorIdBytes |= 1L << 41; - break; - case "sep": - processorIdBytes |= 1L << 43; - break; - case "mtrr": - processorIdBytes |= 1L << 44; - break; - case "pge": - processorIdBytes |= 1L << 45; - break; - case "mca": - processorIdBytes |= 1L << 46; - break; - case "cmov": - processorIdBytes |= 1L << 47; - break; - case "pat": - processorIdBytes |= 1L << 48; - break; - case "pse-36": - processorIdBytes |= 1L << 49; - break; - case "psn": - processorIdBytes |= 1L << 50; - break; - case "clfsh": - processorIdBytes |= 1L << 51; - break; - case "ds": - processorIdBytes |= 1L << 53; - break; - case "acpi": - processorIdBytes |= 1L << 54; - break; - case "mmx": - processorIdBytes |= 1L << 55; - break; - case "fxsr": - processorIdBytes |= 1L << 56; - break; - case "sse": - processorIdBytes |= 1L << 57; - break; - case "sse2": - processorIdBytes |= 1L << 58; - break; - case "ss": - processorIdBytes |= 1L << 59; - break; - case "htt": - processorIdBytes |= 1L << 60; - break; - case "tm": - processorIdBytes |= 1L << 61; - break; - case "ia64": - processorIdBytes |= 1L << 62; - break; - case "pbe": - processorIdBytes |= 1L << 63; - break; - default: - break; + long hwcap = 0L; + if (Platform.isLinux()) { + hwcap = Auxv.queryAuxv().getOrDefault(Auxv.AT_HWCAP, 0L); + } + if (hwcap > 0) { + processorIdBytes |= hwcap << 32; + } else { + for (String flag : flags) { + switch (flag) { // NOSONAR squid:S1479 + case "fpu": + processorIdBytes |= 1L << 32; + break; + case "vme": + processorIdBytes |= 1L << 33; + break; + case "de": + processorIdBytes |= 1L << 34; + break; + case "pse": + processorIdBytes |= 1L << 35; + break; + case "tsc": + processorIdBytes |= 1L << 36; + break; + case "msr": + processorIdBytes |= 1L << 37; + break; + case "pae": + processorIdBytes |= 1L << 38; + break; + case "mce": + processorIdBytes |= 1L << 39; + break; + case "cx8": + processorIdBytes |= 1L << 40; + break; + case "apic": + processorIdBytes |= 1L << 41; + break; + case "sep": + processorIdBytes |= 1L << 43; + break; + case "mtrr": + processorIdBytes |= 1L << 44; + break; + case "pge": + processorIdBytes |= 1L << 45; + break; + case "mca": + processorIdBytes |= 1L << 46; + break; + case "cmov": + processorIdBytes |= 1L << 47; + break; + case "pat": + processorIdBytes |= 1L << 48; + break; + case "pse-36": + processorIdBytes |= 1L << 49; + break; + case "psn": + processorIdBytes |= 1L << 50; + break; + case "clfsh": + processorIdBytes |= 1L << 51; + break; + case "ds": + processorIdBytes |= 1L << 53; + break; + case "acpi": + processorIdBytes |= 1L << 54; + break; + case "mmx": + processorIdBytes |= 1L << 55; + break; + case "fxsr": + processorIdBytes |= 1L << 56; + break; + case "sse": + processorIdBytes |= 1L << 57; + break; + case "sse2": + processorIdBytes |= 1L << 58; + break; + case "ss": + processorIdBytes |= 1L << 59; + break; + case "htt": + processorIdBytes |= 1L << 60; + break; + case "tm": + processorIdBytes |= 1L << 61; + break; + case "ia64": + processorIdBytes |= 1L << 62; + break; + case "pbe": + processorIdBytes |= 1L << 63; + break; + default: + break; + } } } return String.format("%016X", processorIdBytes); @@ -416,6 +426,20 @@ public String toString() { StringBuilder sb = new StringBuilder(getProcessorIdentifier().getName()); sb.append("\n ").append(getPhysicalPackageCount()).append(" physical CPU package(s)"); sb.append("\n ").append(getPhysicalProcessorCount()).append(" physical CPU core(s)"); + Map efficiencyCount = new HashMap<>(); + int maxEfficiency = 0; + for (PhysicalProcessor cpu : getPhysicalProcessors()) { + int eff = cpu.getEfficiency(); + efficiencyCount.merge(eff, 1, Integer::sum); + if (eff > maxEfficiency) { + maxEfficiency = eff; + } + } + int pCores = efficiencyCount.getOrDefault(maxEfficiency, 0); + int eCores = getPhysicalProcessorCount() - pCores; + if (eCores > 0) { + sb.append(" (").append(pCores).append(" performance + ").append(eCores).append(" efficiency)"); + } sb.append("\n ").append(getLogicalProcessorCount()).append(" logical CPU(s)"); sb.append('\n').append("Identifier: ").append(getProcessorIdentifier().getIdentifier()); sb.append('\n').append("ProcessorID: ").append(getProcessorIdentifier().getProcessorID()); diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractComputerSystem.java index 01806123f0..8a93b3e829 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractComputerSystem.java @@ -35,8 +35,8 @@ * Computer System data. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public abstract class AbstractComputerSystem implements ComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractDisplay.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractDisplay.java index 8b9ac64ec0..4d6b895c1b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractDisplay.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractDisplay.java @@ -34,8 +34,8 @@ * A Display * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public abstract class AbstractDisplay implements Display { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractFirmware.java index db4b75cc8f..d031660d85 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractFirmware.java @@ -32,8 +32,8 @@ * Firmware data. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public abstract class AbstractFirmware implements Firmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGlobalMemory.java index 42edc05617..77dcc875a0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGlobalMemory.java @@ -39,8 +39,8 @@ * Memory info. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractGlobalMemory implements GlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGraphicsCard.java index 1468ee99a5..c479e1d54e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractGraphicsCard.java @@ -31,8 +31,8 @@ * An abstract Sound Card * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public abstract class AbstractGraphicsCard implements GraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHWDiskStore.java index 83c79d1128..4f3e65463a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHWDiskStore.java @@ -33,8 +33,8 @@ * Common methods for platform HWDiskStore classes * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractHWDiskStore implements HWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHardwareAbstractionLayer.java index 47ddbb5ce7..b949c2e376 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractHardwareAbstractionLayer.java @@ -36,8 +36,8 @@ * HardwareAbstractionLayer * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractHardwareAbstractionLayer implements HardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractLogicalVolumeGroup.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractLogicalVolumeGroup.java index ddfbab487c..82de006eed 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractLogicalVolumeGroup.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractLogicalVolumeGroup.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AbstractLogicalVolumeGroup implements LogicalVolumeGroup { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractNetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractNetworkIF.java index 72182c0b77..9d376794c7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractNetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractNetworkIF.java @@ -46,8 +46,8 @@ * Network interfaces implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractNetworkIF implements NetworkIF { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractPowerSource.java index e8027115da..9e6467ced8 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractPowerSource.java @@ -27,7 +27,6 @@ import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.Symbol; import org.aoju.bus.health.Platform; import org.aoju.bus.health.linux.hardware.LinuxPowerSource; import org.aoju.bus.health.mac.hardware.MacPowerSource; @@ -43,8 +42,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractPowerSource implements PowerSource { @@ -281,29 +280,30 @@ public boolean updateAttributes() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Name: ").append(getName()).append(", "); - sb.append("Device Name: ").append(getDeviceName()).append(Symbol.NEWLINE); + sb.append("Device Name: ").append(getDeviceName()).append(",\n "); sb.append("RemainingCapacityPercent: ").append(getRemainingCapacityPercent() * 100).append("%, "); sb.append("Time Remaining: ").append(formatTimeRemaining(getTimeRemainingEstimated())).append(", "); - sb.append("Time Remaining Instant: ").append(formatTimeRemaining(getTimeRemainingInstant())).append(Symbol.NEWLINE); + sb.append("Time Remaining Instant: ").append(formatTimeRemaining(getTimeRemainingInstant())).append(",\n "); sb.append("Power Usage Rate: ").append(getPowerUsageRate()).append("mW, "); sb.append("Voltage: "); if (getVoltage() > 0) { sb.append(getVoltage()).append("V, "); } else { - sb.append(Normal.UNKNOWN); + sb.append(Normal.UNKNOWN).append(", "); } sb.append("Amperage: ").append(getAmperage()).append("mA,\n "); sb.append("Power OnLine: ").append(isPowerOnLine()).append(", "); sb.append("Charging: ").append(isCharging()).append(", "); - sb.append("Discharging: ").append(isDischarging()).append(Symbol.NEWLINE); + sb.append("Discharging: ").append(isDischarging()).append(",\n "); sb.append("Capacity Units: ").append(getCapacityUnits()).append(", "); sb.append("Current Capacity: ").append(getCurrentCapacity()).append(", "); sb.append("Max Capacity: ").append(getMaxCapacity()).append(", "); - sb.append("Design Capacity: ").append(getDesignCapacity()).append(Symbol.NEWLINE); + sb.append("Design Capacity: ").append(getDesignCapacity()).append(",\n "); sb.append("Cycle Count: ").append(getCycleCount()).append(", "); sb.append("Chemistry: ").append(getChemistry()).append(", "); - sb.append("Manufacture Date: ").append(null != getManufactureDate() ? getManufactureDate() : Normal.UNKNOWN).append(", "); - sb.append("Manufacturer: ").append(getManufacturer()).append(Symbol.NEWLINE); + sb.append("Manufacture Date: ").append(getManufactureDate() != null ? getManufactureDate() : Normal.UNKNOWN) + .append(", "); + sb.append("Manufacturer: ").append(getManufacturer()).append(",\n "); sb.append("SerialNumber: ").append(getSerialNumber()).append(", "); sb.append("Temperature: "); if (getTemperature() > 0) { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSensors.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSensors.java index 8c9a8a9a9e..4cbfdf91e2 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSensors.java @@ -35,8 +35,8 @@ * Sensors from WMI or Open Hardware Monitor * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractSensors implements Sensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSoundCard.java index 891857676c..e991576fa5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractSoundCard.java @@ -31,8 +31,8 @@ * An abstract Sound Card * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public abstract class AbstractSoundCard implements SoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractUsbDevice.java index 563754b232..936168bc09 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractUsbDevice.java @@ -35,8 +35,8 @@ * A USB device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public abstract class AbstractUsbDevice implements UsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractVirtualMemory.java index aab09a2195..6cbfe8a420 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/AbstractVirtualMemory.java @@ -33,8 +33,8 @@ * Virtual Memory info. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractVirtualMemory implements VirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Baseboard.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Baseboard.java index 2783ebd935..f69bb1c668 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Baseboard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Baseboard.java @@ -32,8 +32,8 @@ * board, etc. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface Baseboard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/CentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/CentralProcessor.java index 570e9dd3f0..fce228ec89 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/CentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/CentralProcessor.java @@ -49,8 +49,8 @@ * the Operating System sees, which may include hyperthreaded cores.) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface CentralProcessor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/ComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/ComputerSystem.java index 920ad2011b..b050c8802a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/ComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/ComputerSystem.java @@ -33,8 +33,8 @@ * etc. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface ComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Display.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Display.java index 4d5d6c5a63..9c3b34e759 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Display.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Display.java @@ -32,8 +32,8 @@ * identified by the EDID standard. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface Display { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Firmware.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Firmware.java index 0c9131ddcf..6a04ff5ebb 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Firmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Firmware.java @@ -31,8 +31,8 @@ * The Firmware represents the low level BIOS or equivalent. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface Firmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GlobalMemory.java index 49152d33c9..ba2eaa3f91 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GlobalMemory.java @@ -34,8 +34,8 @@ * physical memory (RAM) as well as any available virtual memory. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface GlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GraphicsCard.java index 939cf86151..2e3a264e37 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/GraphicsCard.java @@ -31,8 +31,8 @@ * GraphicsCard interface. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface GraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWDiskStore.java index 279520fcb5..e9c36ce3f6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWDiskStore.java @@ -43,8 +43,8 @@ * usage to ensure consistent calculations. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface HWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWPartition.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWPartition.java index 4d20e0e73a..31298493cd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWPartition.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HWPartition.java @@ -37,8 +37,8 @@ * actual disk. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class HWPartition { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HardwareAbstractionLayer.java index 50617bd71e..69aeb2013f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/HardwareAbstractionLayer.java @@ -35,8 +35,8 @@ * processors, memory, battery, and disks. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface HardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/LogicalVolumeGroup.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/LogicalVolumeGroup.java index 30bb45fd90..f26ef67b8d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/LogicalVolumeGroup.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/LogicalVolumeGroup.java @@ -38,8 +38,8 @@ * devices accessible to the file system. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface LogicalVolumeGroup { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/NetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/NetworkIF.java index ee608c449b..a8b81cd1dc 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/NetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/NetworkIF.java @@ -40,8 +40,8 @@ * usage to ensure consistent calculations. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface NetworkIF { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PhysicalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PhysicalMemory.java index 0fbd391d9e..41fff4141e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PhysicalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PhysicalMemory.java @@ -33,8 +33,8 @@ * computer system and available to the operating system. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class PhysicalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PowerSource.java index 93ee089bcc..09192a7de7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/PowerSource.java @@ -34,8 +34,8 @@ * of charge/discharge * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface PowerSource { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Sensors.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Sensors.java index f7397d239d..88841bc7ce 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Sensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/Sensors.java @@ -46,8 +46,8 @@ * on the motherboard manufacturer. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface Sensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/SoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/SoundCard.java index e1278b6a2e..95b575ec2a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/SoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/SoundCard.java @@ -31,8 +31,8 @@ * SoundCard interface. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface SoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/UsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/UsbDevice.java index 56bc62d179..4b777124ff 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/UsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/UsbDevice.java @@ -35,8 +35,8 @@ * in a recursive fashion. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public interface UsbDevice extends Comparable { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/VirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/VirtualMemory.java index aeeaacd818..1157d1dd52 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/VirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/VirtualMemory.java @@ -33,8 +33,8 @@ * information to a disk or other storage device. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface VirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/package-info.java index 196a302452..caac5fe5f6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/hardware/package-info.java @@ -4,7 +4,7 @@ * Sources, Sensors, and USB Devices * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.builtin.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractFileSystem.java index d2e569a39b..9850504e13 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractFileSystem.java @@ -37,8 +37,8 @@ * Common methods for filesystem implementations * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractFileSystem implements FileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractInternetProtocolStats.java index 77388f86a9..6ef4700207 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractInternetProtocolStats.java @@ -33,8 +33,8 @@ * Common implementations for IP Stats * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractInternetProtocolStats implements InternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractNetworkParams.java index 4177ca1aaa..ef7be4407d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractNetworkParams.java @@ -39,8 +39,8 @@ * Common NetworkParams implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractNetworkParams implements NetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSFileStore.java index 35fa853c4c..a7a3d1330f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSFileStore.java @@ -31,8 +31,8 @@ * Common implementations for OSFileStore * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractOSFileStore implements OSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSProcess.java index 60fa7f9630..eeb7b613c3 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSProcess.java @@ -37,8 +37,8 @@ * execution that execute instructions concurrently. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractOSProcess implements OSProcess { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSThread.java index 42976f6e60..a6b75aff8e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOSThread.java @@ -34,8 +34,8 @@ * Common methods for OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public abstract class AbstractOSThread implements OSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOperatingSystem.java index b70048d484..3c42f76907 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/AbstractOperatingSystem.java @@ -40,8 +40,8 @@ * Common methods for OperatingSystem implementations * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractOperatingSystem implements OperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/FileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/FileSystem.java index b14c655e50..666f17b98c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/FileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/FileSystem.java @@ -35,8 +35,8 @@ * more file stores. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface FileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/InternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/InternetProtocolStats.java index de32d73697..343c8a475a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/InternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/InternetProtocolStats.java @@ -37,8 +37,8 @@ * Includes key statistics of TCP and UDP protocols * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface InternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/NetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/NetworkParams.java index 5acde0be88..fd32696abf 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/NetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/NetworkParams.java @@ -32,8 +32,8 @@ * name etc. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface NetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSDesktopWindow.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSDesktopWindow.java index 4d0dde9749..c586a8864a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSDesktopWindow.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSDesktopWindow.java @@ -35,8 +35,8 @@ * GUI desktop * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class OSDesktopWindow { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSFileStore.java index 3e809ce0b8..5589b9e20a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSFileStore.java @@ -34,8 +34,8 @@ * {@link java.nio.file.FileStore} class, with additional information. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface OSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSProcess.java index 19fd7ce257..d729d959c6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSProcess.java @@ -38,8 +38,8 @@ * threads. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface OSProcess { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSService.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSService.java index 7305dfd79c..3b1d5bc38b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSService.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSService.java @@ -36,8 +36,8 @@ * meaning of services is platform-dependent. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class OSService { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSSession.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSSession.java index ca1ae78fdd..1d883113e4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSSession.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSSession.java @@ -37,8 +37,8 @@ * to an operating system. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class OSSession { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSThread.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSThread.java index e71a7e7ca6..ef094623f7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OSThread.java @@ -29,8 +29,8 @@ * Represents a Thread/Task on the operating system. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OperatingSystem.java index 5128a9566f..60fbb4b599 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/OperatingSystem.java @@ -48,8 +48,8 @@ * method. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public interface OperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/package-info.java index 69dd381ef2..afe752478c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/builtin/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/builtin/software/package-info.java @@ -3,7 +3,7 @@ * FileSystem, and Process information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.builtin.software; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/LinuxLibc.java b/bus-health/src/main/java/org/aoju/bus/health/linux/LinuxLibc.java index 55a66960a4..bef7192340 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/LinuxLibc.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/LinuxLibc.java @@ -36,8 +36,8 @@ * if/when its code is incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LinuxLibc extends LibC, CLibrary { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/ProcPath.java b/bus-health/src/main/java/org/aoju/bus/health/linux/ProcPath.java index fda3be8963..89d54a42fd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/ProcPath.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/ProcPath.java @@ -38,8 +38,8 @@ * {@link Config} class prior to initializing this class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ProcPath { @@ -50,6 +50,7 @@ public final class ProcPath { public static final String PROC = queryProcConfig(); public static final String ASOUND = PROC + "/asound/"; + public static final String AUXV = PROC + "/self/auxv"; public static final String CPUINFO = PROC + "/cpuinfo"; public static final String DISKSTATS = PROC + "/diskstats"; public static final String MEMINFO = PROC + "/meminfo"; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/DeviceTree.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/DeviceTree.java index b689712786..43e8ccf954 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/DeviceTree.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/DeviceTree.java @@ -32,11 +32,11 @@ * Utility to read info from the devicetree * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe -public final class Devicetree { +public final class DeviceTree { /** * Query the model from the devicetree diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Dmidecode.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Dmidecode.java index 0c25be19b4..7ca63d820f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Dmidecode.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Dmidecode.java @@ -34,8 +34,8 @@ * Utility to read info from {@code dmidecode} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Dmidecode { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshal.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshal.java index 9d85dd75c9..9a3034e3bc 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshal.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshal.java @@ -33,8 +33,8 @@ * Utility to read info from {@code lshal} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Lshal { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshw.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshw.java index a07891c2b4..1188faf955 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshw.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Lshw.java @@ -33,8 +33,8 @@ * Utility to read info from {@code lshw} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Lshw { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Sysfs.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Sysfs.java index f8e44c5fc8..e4124e72e1 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Sysfs.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Sysfs.java @@ -33,8 +33,8 @@ * Utility to read info from {@code sysfs} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Sysfs { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Who.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Who.java index b10432a22c..89e6094fcc 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Who.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/Who.java @@ -43,8 +43,8 @@ * Utility to query logged in users. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Who { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/package-info.java index 32a6ed3e2d..1a4ebbbc5b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query Linux information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.linux.drivers; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/Auxv.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/Auxv.java new file mode 100644 index 0000000000..d56b2db9ce --- /dev/null +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/Auxv.java @@ -0,0 +1,66 @@ +package org.aoju.bus.health.linux.drivers.proc; + +/* + * MIT License + * + * Copyright (c) 2022 The OSHI Project Contributors: https://github.com/oshi/oshi/graphs/contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +import org.aoju.bus.core.annotation.ThreadSafe; +import org.aoju.bus.health.Builder; +import org.aoju.bus.health.linux.ProcPath; + +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.Map; + +/** + * Utility to read auxiliary vector from {@code /proc/self/auxv} + */ +@ThreadSafe +public final class Auxv { + + public static final int AT_PAGESZ = 6; // system page size + public static final int AT_HWCAP = 16; // arch dependent hints at CPU capabilities + public static final int AT_CLKTCK = 17; // frequency at which times() increments + + /** + * Retrieve the auxiliary vector for the current process + * + * @return A map of auxiliary vector keys to their respective values + * @see auxvec.h + */ + public static Map queryAuxv() { + ByteBuffer buff = Builder.readAllBytesAsBuffer(ProcPath.AUXV); + Map auxvMap = new HashMap<>(); + int key; + do { + key = Builder.readNativeLongFromBuffer(buff).intValue(); + if (key > 0) { + auxvMap.put(key, Builder.readNativeLongFromBuffer(buff).longValue()); + } + } while (key > 0); + return auxvMap; + + } + +} diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuInfo.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuInfo.java index 2ca23b31df..933f33b09f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuInfo.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuInfo.java @@ -37,8 +37,8 @@ * Utility to read CPU info from {@code /proc/cpuinfo} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class CpuInfo { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuStat.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuStat.java index bb608b9a34..f53171745c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuStat.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/CpuStat.java @@ -37,8 +37,8 @@ * Utility to read CPU statistics from {@code /proc/stat} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class CpuStat { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/DiskStats.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/DiskStats.java index b2e51f62e8..14c65a65d1 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/DiskStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/DiskStats.java @@ -39,8 +39,8 @@ * Utility to read disk statistics from {@code /proc/diskstats} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class DiskStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/ProcessStat.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/ProcessStat.java index b11c0c9840..a9814db0e0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/ProcessStat.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/ProcessStat.java @@ -42,8 +42,8 @@ * Utility to read process statistics from {@code /proc/[pid]/stat} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ProcessStat { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/UpTime.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/UpTime.java index 6151285666..f9058a9537 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/UpTime.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/UpTime.java @@ -33,8 +33,8 @@ * Utility to read system uptime from {@code /proc/uptime} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class UpTime { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/package-info.java index 9ca14ce9b4..8b9a3e21c0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/drivers/proc/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query statistics in the Linux /proc pseudo-filesystem * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.linux.drivers.proc; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxBaseboard.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxBaseboard.java index 731638f842..2ba04b58df 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxBaseboard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxBaseboard.java @@ -39,8 +39,8 @@ * Baseboard data obtained by sysfs * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class LinuxBaseboard extends AbstractBaseboard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxCentralProcessor.java index 86570a2b03..463cf4ce85 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxCentralProcessor.java @@ -57,8 +57,8 @@ * A CPU as defined in Linux /proc. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class LinuxCentralProcessor extends AbstractCentralProcessor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxComputerSystem.java index 6532935f14..d29723bbaa 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxComputerSystem.java @@ -40,8 +40,8 @@ * Hardware data obtained from sysfs. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class LinuxComputerSystem extends AbstractComputerSystem { @@ -64,7 +64,7 @@ private static String queryManufacturer() { private static String queryModel() { String result; - if ((result = Sysfs.queryProductModel()) == null && (result = Devicetree.queryModel()) == null + if ((result = Sysfs.queryProductModel()) == null && (result = DeviceTree.queryModel()) == null && (result = Lshw.queryModel()) == null) { return Normal.UNKNOWN; } diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxFirmware.java index 4ed73a548b..d7b22e5b78 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxFirmware.java @@ -45,8 +45,8 @@ * Firmware data obtained by sysfs. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class LinuxFirmware extends AbstractFirmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGlobalMemory.java index 2e370842ec..ccd9eada9b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGlobalMemory.java @@ -29,11 +29,11 @@ import org.aoju.bus.core.lang.RegEx; import org.aoju.bus.core.lang.tuple.Pair; import org.aoju.bus.health.Builder; -import org.aoju.bus.health.Executor; import org.aoju.bus.health.Memoize; import org.aoju.bus.health.builtin.hardware.AbstractGlobalMemory; import org.aoju.bus.health.builtin.hardware.VirtualMemory; import org.aoju.bus.health.linux.ProcPath; +import org.aoju.bus.health.linux.software.LinuxOperatingSystem; import java.util.List; import java.util.function.Supplier; @@ -42,14 +42,13 @@ * Memory obtained by /proc/meminfo and sysinfo.totalram * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LinuxGlobalMemory extends AbstractGlobalMemory { - public static final long PAGE_SIZE = Builder - .parseLongOrDefault(Executor.getFirstAnswer("getconf PAGE_SIZE"), 4096L); + private static final long PAGE_SIZE = LinuxOperatingSystem.getPageSize(); private final Supplier> availTotal = Memoize.memoize(LinuxGlobalMemory::readMemInfo, Memoize.defaultExpiration()); diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGraphicsCard.java index f43f890aa2..c39f166646 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxGraphicsCard.java @@ -41,8 +41,8 @@ * Graphics card info obtained by lshw * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class LinuxGraphicsCard extends AbstractGraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHWDiskStore.java index 5af66a429f..7b0e6e31dd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHWDiskStore.java @@ -47,8 +47,8 @@ * Linux hard disk implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LinuxHWDiskStore extends AbstractHWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHardwareAbstractionLayer.java index d2887e1eb4..a1736fbf4f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxHardwareAbstractionLayer.java @@ -35,8 +35,8 @@ * LinuxHardwareAbstractionLayer class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LinuxHardwareAbstractionLayer extends AbstractHardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxLogicalVolumeGroup.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxLogicalVolumeGroup.java index 8d00ba413f..9d6d2da274 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxLogicalVolumeGroup.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxLogicalVolumeGroup.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class LinuxLogicalVolumeGroup extends AbstractLogicalVolumeGroup { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxNetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxNetworkIF.java index 41f9d51d20..622a57f042 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxNetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxNetworkIF.java @@ -44,8 +44,8 @@ * LinuxNetworks class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LinuxNetworkIF extends AbstractNetworkIF { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxPowerSource.java index 488c1b08bf..15876d1bbf 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxPowerSource.java @@ -45,8 +45,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LinuxPowerSource extends AbstractPowerSource { @@ -105,7 +105,8 @@ public static List getPowerSources() { UdevDevice device = udev.deviceNewFromSyspath(syspath); if (device != null) { try { - if (Builder.parseIntOrDefault(device.getPropertyValue("POWER_SUPPLY_PRESENT"), + if (Builder.parseIntOrDefault(device.getPropertyValue("POWER_SUPPLY_PRESENT"), 1) > 0 + && Builder.parseIntOrDefault(device.getPropertyValue("POWER_SUPPLY_ONLINE"), 1) > 0) { psName = getOrDefault(device, "POWER_SUPPLY_NAME", name); String status = device.getPropertyValue("POWER_SUPPLY_STATUS"); diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSensors.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSensors.java index 513fb067f6..895d379274 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSensors.java @@ -43,8 +43,8 @@ * Sensors from WMI or Open Hardware Monitor * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LinuxSensors extends AbstractSensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSoundCard.java index d6fec79ed4..946689678e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxSoundCard.java @@ -42,8 +42,8 @@ * Sound card data obtained via /proc/asound directory * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public final class LinuxSoundCard extends AbstractSoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxUsbDevice.java index 738b77c213..521e3f793e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxUsbDevice.java @@ -39,8 +39,8 @@ * Linux Usb Device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class LinuxUsbDevice extends AbstractUsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxVirtualMemory.java index 839dbfedba..6176f22dc7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/LinuxVirtualMemory.java @@ -41,8 +41,8 @@ * Memory obtained by /proc/meminfo and /proc/vmstat * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LinuxVirtualMemory extends AbstractVirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/package-info.java index 800298f1ca..534c51eff8 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/hardware/package-info.java @@ -3,7 +3,7 @@ * Processor on Linux systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.linux.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/linux/package-info.java index f9796567aa..d07f2e50f4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/package-info.java @@ -6,7 +6,7 @@ * into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.linux; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxFileSystem.java index 97419daace..63a578248c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxFileSystem.java @@ -54,8 +54,8 @@ * the /proc/mount filesystem, excluding temporary and kernel mounts. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class LinuxFileSystem extends AbstractFileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxInternetProtocolStats.java index 304cd4dbef..5977061a1d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxInternetProtocolStats.java @@ -43,8 +43,8 @@ * Internet Protocol Stats implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class LinuxInternetProtocolStats extends AbstractInternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxNetworkParams.java index 068c5a9512..e4dbba2661 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxNetworkParams.java @@ -47,8 +47,8 @@ * LinuxNetworkParams class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class LinuxNetworkParams extends AbstractNetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSFileStore.java index 207bd48cd1..da958ccc7e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSFileStore.java @@ -33,8 +33,8 @@ * OSFileStore implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class LinuxOSFileStore extends AbstractOSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSProcess.java index d111a8b634..8982d6e051 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSProcess.java @@ -36,7 +36,6 @@ import org.aoju.bus.health.builtin.software.OSThread; import org.aoju.bus.health.linux.ProcPath; import org.aoju.bus.health.linux.drivers.proc.ProcessStat; -import org.aoju.bus.health.linux.hardware.LinuxGlobalMemory; import org.aoju.bus.logger.Logger; import java.io.File; @@ -59,8 +58,8 @@ * OSProcess implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class LinuxOSProcess extends AbstractOSProcess { @@ -383,7 +382,7 @@ public boolean updateAttributes() { this.threadCount = (int) statArray[ProcPidStat.THREAD_COUNT.ordinal()]; this.priority = (int) statArray[ProcPidStat.PRIORITY.ordinal()]; this.virtualSize = statArray[ProcPidStat.VSZ.ordinal()]; - this.residentSetSize = statArray[ProcPidStat.RSS.ordinal()] * LinuxGlobalMemory.PAGE_SIZE; + this.residentSetSize = statArray[ProcPidStat.RSS.ordinal()] * LinuxOperatingSystem.getPageSize(); this.kernelTime = statArray[ProcPidStat.KERNEL_TIME.ordinal()] * 1000L / LinuxOperatingSystem.getHz(); this.userTime = statArray[ProcPidStat.USER_TIME.ordinal()] * 1000L / LinuxOperatingSystem.getHz(); this.minorFaults = statArray[ProcPidStat.MINOR_FAULTS.ordinal()]; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSThread.java index 94abe62aa1..2ac4093de0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOSThread.java @@ -38,8 +38,8 @@ * OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class LinuxOSThread extends AbstractOSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOperatingSystem.java index 1235c3a545..e5d593d116 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/LinuxOperatingSystem.java @@ -40,6 +40,7 @@ import org.aoju.bus.health.linux.LinuxLibc; import org.aoju.bus.health.linux.ProcPath; import org.aoju.bus.health.linux.drivers.Who; +import org.aoju.bus.health.linux.drivers.proc.Auxv; import org.aoju.bus.health.linux.drivers.proc.CpuStat; import org.aoju.bus.health.linux.drivers.proc.ProcessStat; import org.aoju.bus.health.linux.drivers.proc.UpTime; @@ -54,8 +55,8 @@ * 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class LinuxOperatingSystem extends AbstractOperatingSystem { @@ -71,8 +72,8 @@ public class LinuxOperatingSystem extends AbstractOperatingSystem { /** * Jiffies per second, used for process time counters. */ - private static final long USER_HZ = Builder.parseLongOrDefault(Executor.getFirstAnswer("getconf CLK_TCK"), - 100L); + private static final long USER_HZ; + private static final long PAGE_SIZE; /** * OS Name for manufacturer */ @@ -80,6 +81,22 @@ public class LinuxOperatingSystem extends AbstractOperatingSystem { // PPID is 4th numeric value in proc pid stat; subtract 1 for 0-index private static final int[] PPID_INDEX = {3}; + static { + Map auxv = Auxv.queryAuxv(); + long hz = auxv.getOrDefault(Auxv.AT_CLKTCK, 0L); + if (hz > 0) { + USER_HZ = hz; + } else { + USER_HZ = Builder.parseLongOrDefault(Executor.getFirstAnswer("getconf CLK_TCK"), 100L); + } + long pagesz = Auxv.queryAuxv().getOrDefault(Auxv.AT_PAGESZ, 0L); + if (pagesz > 0) { + PAGE_SIZE = pagesz; + } else { + PAGE_SIZE = Builder.parseLongOrDefault(Executor.getFirstAnswer("getconf PAGE_SIZE"), 4096L); + } + } + static { long tempBT = CpuStat.getBootTime(); // If above fails, current time minus uptime. @@ -427,6 +444,15 @@ public static long getHz() { return USER_HZ; } + /** + * Gets Page Size, for converting memory stats from pages to bytes + * + * @return Page Size + */ + public static long getPageSize() { + return PAGE_SIZE; + } + @Override public String queryManufacturer() { return OS_NAME; diff --git a/bus-health/src/main/java/org/aoju/bus/health/linux/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/linux/software/package-info.java index d33a77e3e4..a62f9c45bd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/linux/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/linux/software/package-info.java @@ -2,7 +2,7 @@ * Provides information about Software and OS on Linux * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.linux.software; diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/CFKit.java b/bus-health/src/main/java/org/aoju/bus/health/mac/CFKit.java index b13dd1e546..2a75a8fb35 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/CFKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/CFKit.java @@ -34,8 +34,8 @@ * CF String retrieving * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class CFKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/CoreGraphics.java b/bus-health/src/main/java/org/aoju/bus/health/mac/CoreGraphics.java index 130ed669b8..5334799da9 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/CoreGraphics.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/CoreGraphics.java @@ -44,8 +44,8 @@ * hardware, low-level user input events, and the windowing system. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CoreGraphics extends Library { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/NonIOKit.java b/bus-health/src/main/java/org/aoju/bus/health/mac/NonIOKit.java index fd19df3933..8160213d2f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/NonIOKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/NonIOKit.java @@ -36,8 +36,8 @@ * (drivers and nubs) through the device-interface mechanism. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface NonIOKit extends com.sun.jna.platform.mac.IOKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/SmcKit.java b/bus-health/src/main/java/org/aoju/bus/health/mac/SmcKit.java index e527bfae05..8c4ed2fba4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/SmcKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/SmcKit.java @@ -45,8 +45,8 @@ * Provides access to SMC calls on macOS * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SmcKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/SysctlKit.java b/bus-health/src/main/java/org/aoju/bus/health/mac/SysctlKit.java index 70fe3b4575..d067fbf07e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/SysctlKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/SysctlKit.java @@ -37,8 +37,8 @@ * Provides access to sysctl calls on macOS * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SysctlKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/SystemB.java b/bus-health/src/main/java/org/aoju/bus/health/mac/SystemB.java index c8e5e3563c..26aaa5ad24 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/SystemB.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/SystemB.java @@ -36,8 +36,8 @@ * if/when its code is incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SystemB extends com.sun.jna.platform.mac.SystemB, CLibrary { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/SystemConfiguration.java b/bus-health/src/main/java/org/aoju/bus/health/mac/SystemConfiguration.java index 2bfea4d0f2..1724ea7b97 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/SystemConfiguration.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/SystemConfiguration.java @@ -38,8 +38,8 @@ * connectivity are active. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SystemConfiguration extends Library { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/ThreadInfo.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/ThreadInfo.java index 1d6175c54b..99d715af49 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/ThreadInfo.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/ThreadInfo.java @@ -43,8 +43,8 @@ * Utility to query threads for a process * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ThreadInfo { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/Who.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/Who.java index 06830ef0f8..01d62ccf71 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/Who.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/Who.java @@ -42,8 +42,8 @@ * Utility to query logged in users. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Who { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/WindowInfo.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/WindowInfo.java index 4b621b5742..3d0d4ce85e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/WindowInfo.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/WindowInfo.java @@ -43,8 +43,8 @@ * Utility to query desktop windows * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class WindowInfo { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/Fsstat.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/Fsstat.java index 923770638c..5b08efcfc0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/Fsstat.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/Fsstat.java @@ -39,8 +39,8 @@ * Utility to query fsstat * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Fsstat { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/package-info.java index 4bcc0b7d32..e64e271422 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/disk/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query Mac disk info * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.mac.drivers.disk; diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/NetStat.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/NetStat.java index e8f00c0866..f7bf591e65 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/NetStat.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/NetStat.java @@ -42,8 +42,8 @@ * Utility to query NetStat. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class NetStat { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/package-info.java index b3c4c89ac1..a469629343 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/net/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query Mac network info * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.mac.drivers.net; diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/package-info.java index 01aaa0e49a..27d62eb47a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/drivers/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query Mac info * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.mac.drivers; diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacBaseboard.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacBaseboard.java index 315e16acf7..6dcbf269e6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacBaseboard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacBaseboard.java @@ -42,8 +42,8 @@ * Baseboard data obtained from ioreg * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class MacBaseboard extends AbstractBaseboard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacCentralProcessor.java index b4c52763c2..06278417f6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacCentralProcessor.java @@ -55,8 +55,8 @@ * A CPU. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class MacCentralProcessor extends AbstractCentralProcessor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacComputerSystem.java index ea1ffcf89f..788b067b2e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacComputerSystem.java @@ -44,8 +44,8 @@ * Hardware data obtained from ioreg. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class MacComputerSystem extends AbstractComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacDisplay.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacDisplay.java index b54cfdabdb..88b0521e66 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacDisplay.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacDisplay.java @@ -44,8 +44,8 @@ * A Display * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class MacDisplay extends AbstractDisplay { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacFirmware.java index 0fd31f00db..b29a51059a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacFirmware.java @@ -43,8 +43,8 @@ * Firmware data obtained from ioreg. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class MacFirmware extends AbstractFirmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGlobalMemory.java index 18d3154d70..28cab9da45 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGlobalMemory.java @@ -49,8 +49,8 @@ * Memory obtained by host_statistics (vm_stat) and sysctl. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class MacGlobalMemory extends AbstractGlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGraphicsCard.java index acd68f6023..1844c6a063 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacGraphicsCard.java @@ -40,8 +40,8 @@ * Graphics card info obtained by system_profiler SPDisplaysDataType. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class MacGraphicsCard extends AbstractGraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHWDiskStore.java index 05ec5ee5dd..4fb4f8ad98 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHWDiskStore.java @@ -51,8 +51,8 @@ * Mac hard disk implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class MacHWDiskStore extends AbstractHWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHardwareAbstractionLayer.java index 8b2d184ef5..9671e5a9a5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacHardwareAbstractionLayer.java @@ -34,8 +34,8 @@ * MacHardwareAbstractionLayer class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class MacHardwareAbstractionLayer extends AbstractHardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacLogicalVolumeGroup.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacLogicalVolumeGroup.java index c9c69d5a99..8b346ae6fb 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacLogicalVolumeGroup.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacLogicalVolumeGroup.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class MacLogicalVolumeGroup extends AbstractLogicalVolumeGroup { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacNetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacNetworkIF.java index f439dd5094..ca23eb7046 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacNetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacNetworkIF.java @@ -44,8 +44,8 @@ * MacNetworks class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class MacNetworkIF extends AbstractNetworkIF { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacPowerSource.java index 50d463dcbc..62ea65cce2 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacPowerSource.java @@ -45,8 +45,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class MacPowerSource extends AbstractPowerSource { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSensors.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSensors.java index e3628e7d54..1c262204a5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSensors.java @@ -34,8 +34,8 @@ * Sensors from SMC * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class MacSensors extends AbstractSensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSoundCard.java index 0831310886..6df7032470 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacSoundCard.java @@ -38,8 +38,8 @@ * Sound card data obtained via AppleHDA kext * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class MacSoundCard extends AbstractSoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacUsbDevice.java index 1fab654d07..700c2b34ae 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacUsbDevice.java @@ -44,8 +44,8 @@ * Mac Usb Device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class MacUsbDevice extends AbstractUsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacVirtualMemory.java index 901a22e1a5..f8253160be 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/MacVirtualMemory.java @@ -44,8 +44,8 @@ * Memory obtained by host_statistics (vm_stat) and sysctl. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class MacVirtualMemory extends AbstractVirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/package-info.java index c77e4d9ea0..62e2ed4c8e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/hardware/package-info.java @@ -3,7 +3,7 @@ * Processor on Mac systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.mac.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/mac/package-info.java index 79316a1b15..f3a5ab95c4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/package-info.java @@ -5,7 +5,7 @@ * into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.mac; diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacFileSystem.java index a293f5db38..96e30156ed 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacFileSystem.java @@ -65,8 +65,8 @@ * the /Volumes directory. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class MacFileSystem extends AbstractFileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacInternetProtocolStats.java index 073a4349d1..c0407805ad 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacInternetProtocolStats.java @@ -48,8 +48,8 @@ * Internet Protocol Stats implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class MacInternetProtocolStats extends AbstractInternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacNetworkParams.java index b8f52be22a..8609b41e4b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacNetworkParams.java @@ -46,8 +46,8 @@ * MacNetworkParams class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class MacNetworkParams extends AbstractNetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSFileStore.java index 75d15449a4..afa6b7d32a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSFileStore.java @@ -33,8 +33,8 @@ * OSFileStore implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class MacOSFileStore extends AbstractOSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSProcess.java index 90b1931733..60633faa61 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSProcess.java @@ -49,8 +49,8 @@ * OSProcess implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class MacOSProcess extends AbstractOSProcess { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSThread.java index ea41df5706..9787905bfb 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOSThread.java @@ -33,8 +33,8 @@ * OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class MacOSThread extends AbstractOSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOperatingSystem.java index f2fd4eef31..56165334e0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/MacOperatingSystem.java @@ -51,8 +51,8 @@ * It is the primary operating system for Apple's Mac computers. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class MacOperatingSystem extends AbstractOperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/mac/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/mac/software/package-info.java index 10ed4c0043..bf82ff5313 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/mac/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/mac/software/package-info.java @@ -2,7 +2,7 @@ * Provides information about Software and OS on macOS * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.mac.software; diff --git a/bus-health/src/main/java/org/aoju/bus/health/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/package-info.java index c4f5f78b78..d9d10dfa68 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/package-info.java @@ -5,7 +5,7 @@ * disk, devices, sensors, etc. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/AixLibc.java b/bus-health/src/main/java/org/aoju/bus/health/unix/AixLibc.java index 1ca5801efc..a82400d165 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/AixLibc.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/AixLibc.java @@ -26,16 +26,17 @@ package org.aoju.bus.health.unix; import com.sun.jna.Native; -import com.sun.jna.Structure; -import com.sun.jna.Structure.FieldOrder; +import org.aoju.bus.health.Builder; + +import java.nio.ByteBuffer; /** * C library. This class should be considered non-API as it may be removed * if/when its code is incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface AixLibc extends CLibrary { @@ -45,10 +46,7 @@ public interface AixLibc extends CLibrary { int PRFNSZ = 16; int PRARGSZ = 80; - @FieldOrder({"pr_flag", "pr_flag2", "pr_nlwp", "pr__pad1", "pr_uid", "pr_euid", "pr_gid", "pr_egid", "pr_pid", - "pr_ppid", "pr_pgid", "pr_sid", "pr_ttydev", "pr_addr", "pr_size", "pr_rssize", "pr_start", "pr_time", - "pr_cid", "pr__pad2", "pr_argc", "pr_argv", "pr_envp", "pr_fname", "pr_psargs", "pr__pad", "pr_lwp"}) - class AixPsInfo extends Structure { + class AixPsInfo { public int pr_flag; // process flags from proc struct p_flag public int pr_flag2; // process flags from proc struct p_flag2 public int pr_nlwp; // number of threads in process @@ -75,27 +73,43 @@ class AixPsInfo extends Structure { public byte[] pr_fname = new byte[PRFNSZ]; // last component of exec()ed pathname public byte[] pr_psargs = new byte[PRARGSZ]; // initial characters of arg list public long[] pr__pad = new long[8]; // reserved for future use - public AIXLwpsInfo pr_lwp; // "representative" thread info + public AixLwpsInfo pr_lwp; // "representative" thread info - public AixPsInfo() { - super(); + public AixPsInfo(ByteBuffer buff) { + this.pr_flag = Builder.readIntFromBuffer(buff); + this.pr_flag2 = Builder.readIntFromBuffer(buff); + this.pr_nlwp = Builder.readIntFromBuffer(buff); + this.pr__pad1 = Builder.readIntFromBuffer(buff); + this.pr_uid = Builder.readLongFromBuffer(buff); + this.pr_euid = Builder.readLongFromBuffer(buff); + this.pr_gid = Builder.readLongFromBuffer(buff); + this.pr_egid = Builder.readLongFromBuffer(buff); + this.pr_pid = Builder.readLongFromBuffer(buff); + this.pr_ppid = Builder.readLongFromBuffer(buff); + this.pr_pgid = Builder.readLongFromBuffer(buff); + this.pr_sid = Builder.readLongFromBuffer(buff); + this.pr_ttydev = Builder.readLongFromBuffer(buff); + this.pr_addr = Builder.readLongFromBuffer(buff); + this.pr_size = Builder.readLongFromBuffer(buff); + this.pr_rssize = Builder.readLongFromBuffer(buff); + this.pr_start = new Timestruc(buff); + this.pr_time = new Timestruc(buff); + this.pr_cid = Builder.readShortFromBuffer(buff); + this.pr__pad2 = Builder.readShortFromBuffer(buff); + this.pr_argc = Builder.readIntFromBuffer(buff); + this.pr_argv = Builder.readLongFromBuffer(buff); + this.pr_envp = Builder.readLongFromBuffer(buff); + Builder.readByteArrayFromBuffer(buff, this.pr_fname); + Builder.readByteArrayFromBuffer(buff, this.pr_psargs); + for (int i = 0; i < pr__pad.length; i++) { + this.pr__pad[i] = Builder.readLongFromBuffer(buff); + } + this.pr_lwp = new AixLwpsInfo(buff); } - public AixPsInfo(byte[] bytes) { - super(); - // Truncate bytes and pad with 0 if necessary - byte[] structBytes = new byte[size()]; - System.arraycopy(bytes, 0, structBytes, 0, structBytes.length); - // Write bytes to native - this.getPointer().write(0, structBytes, 0, structBytes.length); - // Read bytes to struct - read(); - } } - @FieldOrder({"pr_lwpid", "pr_addr", "pr_wchan", "pr_flag", "pr_wtype", "pr_state", "pr_sname", "pr_nice", "pr_pri", - "pr_policy", "pr_clname", "pr_onpro", "pr_bindpro"}) - class AIXLwpsInfo extends Structure { + class AixLwpsInfo { public long pr_lwpid; // thread id public long pr_addr; // internal address of thread public long pr_wchan; // wait addr for sleeping thread @@ -110,30 +124,36 @@ class AIXLwpsInfo extends Structure { public int pr_onpro; // processor on which thread last ran public int pr_bindpro; // processor to which thread is bound - public AIXLwpsInfo() { - super(); - } - - public AIXLwpsInfo(byte[] bytes) { - super(); - // Truncate bytes and pad with 0 if necessary - byte[] structBytes = new byte[size()]; - System.arraycopy(bytes, 0, structBytes, 0, structBytes.length); - // Write bytes to native - this.getPointer().write(0, structBytes, 0, structBytes.length); - // Read bytes to struct - read(); + public AixLwpsInfo(ByteBuffer buff) { + this.pr_lwpid = Builder.readLongFromBuffer(buff); + this.pr_addr = Builder.readLongFromBuffer(buff); + this.pr_wchan = Builder.readLongFromBuffer(buff); + this.pr_flag = Builder.readIntFromBuffer(buff); + this.pr_wtype = Builder.readByteFromBuffer(buff); + this.pr_state = Builder.readByteFromBuffer(buff); + this.pr_sname = Builder.readByteFromBuffer(buff); + this.pr_nice = Builder.readByteFromBuffer(buff); + this.pr_pri = Builder.readIntFromBuffer(buff); + this.pr_policy = Builder.readIntFromBuffer(buff); + Builder.readByteArrayFromBuffer(buff, this.pr_clname); + this.pr_onpro = Builder.readIntFromBuffer(buff); + this.pr_bindpro = Builder.readIntFromBuffer(buff); } } /** * 64-bit timestruc required for psinfo structure */ - @FieldOrder({"tv_sec", "tv_nsec", "pad"}) - class Timestruc extends Structure { + class Timestruc { public long tv_sec; // seconds public int tv_nsec; // nanoseconds public int pad; // nanoseconds + + public Timestruc(ByteBuffer buff) { + this.tv_sec = Builder.readLongFromBuffer(buff); + this.tv_nsec = Builder.readIntFromBuffer(buff); + this.pad = Builder.readIntFromBuffer(buff); + } } } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/BsdNetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/unix/BsdNetworkIF.java index 6bad865816..76a4b47ce4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/BsdNetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/BsdNetworkIF.java @@ -41,8 +41,8 @@ * BsdNetworkIF applicable to FreeBSD and OpenBSD. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class BsdNetworkIF extends AbstractNetworkIF { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/CLibrary.java b/bus-health/src/main/java/org/aoju/bus/health/unix/CLibrary.java index 6d8f7df3af..116389ebf9 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/CLibrary.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/CLibrary.java @@ -39,8 +39,8 @@ * incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CLibrary extends LibCAPI, Library { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/FreeBsdLibc.java b/bus-health/src/main/java/org/aoju/bus/health/unix/FreeBsdLibc.java index 3142e5d31b..da5e0955d8 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/FreeBsdLibc.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/FreeBsdLibc.java @@ -34,8 +34,8 @@ * if/when its code is incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface FreeBsdLibc extends CLibrary { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/Kstat2.java b/bus-health/src/main/java/org/aoju/bus/health/unix/Kstat2.java index 8917df630b..37026e49aa 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/Kstat2.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/Kstat2.java @@ -37,8 +37,8 @@ * Kstat2 is available in Solaris 11.4 and later. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Kstat2 extends Library { @@ -206,7 +206,7 @@ public interface Kstat2 extends Library { * Opaque kstat handle. */ class Kstat2Handle extends PointerType { - private final PointerByReference ref = new PointerByReference(); + private PointerByReference ref = new PointerByReference(); /** * Instantiates and opens a new Kstat2Handle with no filtering. All of the @@ -286,7 +286,7 @@ public int close() { * Opaque kstat match list. */ class Kstat2MatcherList extends PointerType { - private final PointerByReference ref = new PointerByReference(); + private PointerByReference ref = new PointerByReference(); /** * Instantiates a new Kstat2MatcherList, allocating the necessary resources. @@ -490,8 +490,8 @@ public static class StringsArr extends Structure { * {@code kstat2_status} values in {@code kstat2.h} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ class Kstat2StatusException extends RuntimeException { @@ -535,4 +535,5 @@ public int getKstat2Status() { } } + } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/NetStat.java b/bus-health/src/main/java/org/aoju/bus/health/unix/NetStat.java index 96c6a8f397..a35402c815 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/NetStat.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/NetStat.java @@ -41,8 +41,8 @@ * Utility to query TCP connections * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class NetStat { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/OpenBsdLibc.java b/bus-health/src/main/java/org/aoju/bus/health/unix/OpenBsdLibc.java index 26184679c4..a2808fe8b7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/OpenBsdLibc.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/OpenBsdLibc.java @@ -35,8 +35,8 @@ * if/when its code is incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OpenBsdLibc extends CLibrary { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/SolarisLibc.java b/bus-health/src/main/java/org/aoju/bus/health/unix/SolarisLibc.java index 90e79eb74a..2e73e695b5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/SolarisLibc.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/SolarisLibc.java @@ -30,14 +30,17 @@ import com.sun.jna.Pointer; import com.sun.jna.Structure; import com.sun.jna.Structure.FieldOrder; +import org.aoju.bus.health.Builder; + +import java.nio.ByteBuffer; /** * C library. This class should be considered non-API as it may be removed * if/when its code is incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SolarisLibc extends CLibrary { @@ -60,7 +63,7 @@ public interface SolarisLibc extends CLibrary { * Not thread safe * * @return a {@link SolarisUtmpx} on success, and NULL on failure (which - * includes the "record not found" case) + * includes the "record not found" case) */ SolarisUtmpx getutxent(); @@ -104,12 +107,7 @@ class Timeval extends Structure { /** * Structure for psinfo file */ - @FieldOrder({"pr_flag", "pr_nlwp", "pr_pid", "pr_ppid", "pr_pgid", "pr_sid", "pr_uid", "pr_euid", "pr_gid", - "pr_egid", "pr_addr", "pr_size", "pr_rssize", "pr_rssizepriv", "pr_ttydev", "pr_pctcpu", "pr_pctmem", - "pr_start", "pr_time", "pr_ctime", "pr_fname", "pr_psargs", "pr_wstat", "pr_argc", "pr_argv", "pr_envp", - "pr_dmodel", "pr_pad2", "pr_taskid", "pr_projid", "pr_nzomb", "pr_poolid", "pr_zoneid", "pr_contract", - "pr_filler", "pr_lwp"}) - class SolarisPsInfo extends Structure { + class SolarisPsInfo { public int pr_flag; // process flags (DEPRECATED; do not use) public int pr_nlwp; // number of active lwps in the process public int pr_pid; // unique process id @@ -147,32 +145,57 @@ class SolarisPsInfo extends Structure { public int pr_poolid; // pool id public int pr_zoneid; // zone id public int pr_contract; // process contract id - public int[] pr_filler = new int[1]; // reserved for future use + public int pr_filler; // 4 bytes reserved for future use public SolarisLwpsInfo pr_lwp; // information for representative lwp - public SolarisPsInfo() { - super(); - } - - public SolarisPsInfo(byte[] bytes) { - super(); - // Truncate bytes and pad with 0 if necessary - byte[] structBytes = new byte[size()]; - System.arraycopy(bytes, 0, structBytes, 0, structBytes.length); - // Write bytes to native - this.getPointer().write(0, structBytes, 0, structBytes.length); - // Read bytes to struct - read(); + public SolarisPsInfo(ByteBuffer buff) { + this.pr_flag = Builder.readIntFromBuffer(buff); + this.pr_nlwp = Builder.readIntFromBuffer(buff); + this.pr_pid = Builder.readIntFromBuffer(buff); + this.pr_ppid = Builder.readIntFromBuffer(buff); + this.pr_pgid = Builder.readIntFromBuffer(buff); + this.pr_sid = Builder.readIntFromBuffer(buff); + this.pr_uid = Builder.readIntFromBuffer(buff); + this.pr_euid = Builder.readIntFromBuffer(buff); + this.pr_gid = Builder.readIntFromBuffer(buff); + this.pr_egid = Builder.readIntFromBuffer(buff); + this.pr_addr = Builder.readPointerFromBuffer(buff); + this.pr_size = Builder.readSizeTFromBuffer(buff); + this.pr_rssize = Builder.readSizeTFromBuffer(buff); + this.pr_rssizepriv = Builder.readSizeTFromBuffer(buff); + this.pr_ttydev = Builder.readNativeLongFromBuffer(buff); + this.pr_pctcpu = Builder.readShortFromBuffer(buff); + this.pr_pctmem = Builder.readShortFromBuffer(buff); + // Force 8 byte alignment + if (Native.LONG_SIZE > 4) { + Builder.readIntFromBuffer(buff); + } + this.pr_start = new Timestruc(buff); + this.pr_time = new Timestruc(buff); + this.pr_ctime = new Timestruc(buff); + Builder.readByteArrayFromBuffer(buff, this.pr_fname); + Builder.readByteArrayFromBuffer(buff, this.pr_psargs); + this.pr_wstat = Builder.readIntFromBuffer(buff); + this.pr_argc = Builder.readIntFromBuffer(buff); + this.pr_argv = Builder.readPointerFromBuffer(buff); + this.pr_envp = Builder.readPointerFromBuffer(buff); + this.pr_dmodel = Builder.readByteFromBuffer(buff); + Builder.readByteArrayFromBuffer(buff, this.pr_pad2); + this.pr_taskid = Builder.readIntFromBuffer(buff); + this.pr_projid = Builder.readIntFromBuffer(buff); + this.pr_nzomb = Builder.readIntFromBuffer(buff); + this.pr_poolid = Builder.readIntFromBuffer(buff); + this.pr_zoneid = Builder.readIntFromBuffer(buff); + this.pr_contract = Builder.readIntFromBuffer(buff); + this.pr_filler = Builder.readIntFromBuffer(buff); + this.pr_lwp = new SolarisLwpsInfo(buff); } } /** * Nested Structure for psinfo file */ - @FieldOrder({"pr_flag", "pr_lwpid", "pr_addr", "pr_wchan", "pr_stype", "pr_state", "pr_sname", "pr_nice", - "pr_syscall", "pr_oldpri", "pr_cpu", "pr_pri", "pr_pctcpu", "pr_pad", "pr_start", "pr_time", "pr_clname", - "pr_oldname", "pr_onpro", "pr_bindpro", "pr_bindpset", "pr_lgrp", "pr_last_onproc", "pr_name"}) - class SolarisLwpsInfo extends Structure { + class SolarisLwpsInfo { public int pr_flag; // lwp flags (DEPRECATED; do not use) public int pr_lwpid; // lwp id public Pointer pr_addr; // DEPRECATED was internal address of lwp @@ -201,30 +224,38 @@ class SolarisLwpsInfo extends Structure { public long pr_last_onproc; // Timestamp of when thread last ran on a processor public byte[] pr_name = new byte[PRLNSZ]; // name of system lwp - public SolarisLwpsInfo() { - super(); - } - - public SolarisLwpsInfo(byte[] bytes) { - super(); - // Truncate bytes and pad with 0 if necessary - byte[] structBytes = new byte[size()]; - System.arraycopy(bytes, 0, structBytes, 0, structBytes.length); - // Write bytes to native - this.getPointer().write(0, structBytes, 0, structBytes.length); - // Read bytes to struct - read(); + public SolarisLwpsInfo(ByteBuffer buff) { + this.pr_flag = Builder.readIntFromBuffer(buff); + this.pr_lwpid = Builder.readIntFromBuffer(buff); + this.pr_addr = Builder.readPointerFromBuffer(buff); + this.pr_wchan = Builder.readPointerFromBuffer(buff); + this.pr_stype = Builder.readByteFromBuffer(buff); + this.pr_state = Builder.readByteFromBuffer(buff); + this.pr_sname = Builder.readByteFromBuffer(buff); + this.pr_nice = Builder.readByteFromBuffer(buff); + this.pr_syscall = Builder.readShortFromBuffer(buff); + this.pr_oldpri = Builder.readByteFromBuffer(buff); + this.pr_cpu = Builder.readByteFromBuffer(buff); + this.pr_pri = Builder.readIntFromBuffer(buff); + this.pr_pctcpu = Builder.readShortFromBuffer(buff); + this.pr_pad = Builder.readShortFromBuffer(buff); + this.pr_start = new Timestruc(buff); + this.pr_time = new Timestruc(buff); + Builder.readByteArrayFromBuffer(buff, this.pr_clname); + Builder.readByteArrayFromBuffer(buff, this.pr_oldname); + this.pr_onpro = Builder.readIntFromBuffer(buff); + this.pr_bindpro = Builder.readIntFromBuffer(buff); + this.pr_bindpset = Builder.readIntFromBuffer(buff); + this.pr_lgrp = Builder.readIntFromBuffer(buff); + this.pr_last_onproc = Builder.readLongFromBuffer(buff); + Builder.readByteArrayFromBuffer(buff, this.pr_name); } } /** * Structure for usage file */ - @FieldOrder({"pr_lwpid", "pr_count", "pr_tstamp", "pr_create", "pr_term", "pr_rtime", "pr_utime", "pr_stime", - "pr_ttime", "pr_tftime", "pr_dftime", "pr_kftime", "pr_ltime", "pr_slptime", "pr_wtime", "pr_stoptime", - "filltime", "pr_minf", "pr_majf", "pr_nswap", "pr_inblk", "pr_oublk", "pr_msnd", "pr_mrcv", "pr_sigs", - "pr_vctx", "pr_ictx", "pr_sysc", "pr_ioch", "filler"}) - class SolarisPrUsage extends Structure { + class SolarisPrUsage { public int pr_lwpid; // lwp id. 0: process or defunct public int pr_count; // number of contributing lwps public Timestruc pr_tstamp; // current time stamp @@ -256,29 +287,55 @@ class SolarisPrUsage extends Structure { public NativeLong pr_ioch; // chars read and written public NativeLong[] filler = new NativeLong[10]; // filler for future expansion - public SolarisPrUsage() { - super(); - } - - public SolarisPrUsage(byte[] bytes) { - super(); - // Truncate bytes and pad with 0 if necessary - byte[] structBytes = new byte[size()]; - System.arraycopy(bytes, 0, structBytes, 0, structBytes.length); - // Write bytes to native - this.getPointer().write(0, structBytes, 0, structBytes.length); - // Read bytes to struct - read(); + public SolarisPrUsage(ByteBuffer buff) { + this.pr_lwpid = Builder.readIntFromBuffer(buff); + this.pr_count = Builder.readIntFromBuffer(buff); + this.pr_tstamp = new Timestruc(buff); + this.pr_create = new Timestruc(buff); + this.pr_term = new Timestruc(buff); + this.pr_rtime = new Timestruc(buff); + this.pr_utime = new Timestruc(buff); + this.pr_stime = new Timestruc(buff); + this.pr_ttime = new Timestruc(buff); + this.pr_tftime = new Timestruc(buff); + this.pr_dftime = new Timestruc(buff); + this.pr_kftime = new Timestruc(buff); + this.pr_ltime = new Timestruc(buff); + this.pr_slptime = new Timestruc(buff); + this.pr_wtime = new Timestruc(buff); + this.pr_stoptime = new Timestruc(buff); + for (int i = 0; i < filltime.length; i++) { + this.filltime[i] = new Timestruc(buff); + } + this.pr_minf = Builder.readNativeLongFromBuffer(buff); + this.pr_majf = Builder.readNativeLongFromBuffer(buff); + this.pr_nswap = Builder.readNativeLongFromBuffer(buff); + this.pr_inblk = Builder.readNativeLongFromBuffer(buff); + this.pr_oublk = Builder.readNativeLongFromBuffer(buff); + this.pr_msnd = Builder.readNativeLongFromBuffer(buff); + this.pr_mrcv = Builder.readNativeLongFromBuffer(buff); + this.pr_sigs = Builder.readNativeLongFromBuffer(buff); + this.pr_vctx = Builder.readNativeLongFromBuffer(buff); + this.pr_ictx = Builder.readNativeLongFromBuffer(buff); + this.pr_sysc = Builder.readNativeLongFromBuffer(buff); + this.pr_ioch = Builder.readNativeLongFromBuffer(buff); + for (int i = 0; i < filler.length; i++) { + this.filler[i] = Builder.readNativeLongFromBuffer(buff); + } } } /** * 32/64-bit timestruc required for psinfo and lwpsinfo structures */ - @FieldOrder({"tv_sec", "tv_nsec"}) - class Timestruc extends Structure { + class Timestruc { public NativeLong tv_sec; // seconds public NativeLong tv_nsec; // nanoseconds + + public Timestruc(ByteBuffer buff) { + this.tv_sec = Builder.readNativeLongFromBuffer(buff); + this.tv_nsec = Builder.readNativeLongFromBuffer(buff); + } } } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/UnixBaseboard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/UnixBaseboard.java index 95afd93799..a0a9e86dd3 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/UnixBaseboard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/UnixBaseboard.java @@ -32,8 +32,8 @@ * Baseboard data obtained by a calling class * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public final class UnixBaseboard extends AbstractBaseboard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/UnixDisplay.java b/bus-health/src/main/java/org/aoju/bus/health/unix/UnixDisplay.java index 47748431d5..2e8d418869 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/UnixDisplay.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/UnixDisplay.java @@ -36,8 +36,8 @@ * A Display * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class UnixDisplay extends AbstractDisplay { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/Who.java b/bus-health/src/main/java/org/aoju/bus/health/unix/Who.java index 2b49f76e45..47ce848caf 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/Who.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/Who.java @@ -49,8 +49,8 @@ * Utility to query logged in users. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Who { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/Xrandr.java b/bus-health/src/main/java/org/aoju/bus/health/unix/Xrandr.java index 1d89286e16..8138ef68b2 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/Xrandr.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/Xrandr.java @@ -37,8 +37,8 @@ * Utility to query xrandr * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Xrandr { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/Xwininfo.java b/bus-health/src/main/java/org/aoju/bus/health/unix/Xwininfo.java index 4b85fde377..c936127ae0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/Xwininfo.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/Xwininfo.java @@ -43,8 +43,8 @@ * Utility to query X11 windows * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Xwininfo { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Ls.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Ls.java index e530027635..0c31e9b96b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Ls.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Ls.java @@ -37,8 +37,8 @@ * Utility to query ls * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Ls { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lscfg.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lscfg.java index fe3c86fc39..ad8e9617d0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lscfg.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lscfg.java @@ -37,8 +37,8 @@ * Utility to query lscfg * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Lscfg { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lspv.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lspv.java index 092a200be9..346d271004 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lspv.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lspv.java @@ -40,8 +40,8 @@ * Utility to query lspv * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Lspv { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lssrad.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lssrad.java index 8da497a4e6..45c3a4ebcc 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lssrad.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Lssrad.java @@ -40,8 +40,8 @@ * Utility to query lssrad * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Lssrad { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/PsInfo.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/PsInfo.java index 493cd07e08..bc52d3c22d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/PsInfo.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/PsInfo.java @@ -32,6 +32,7 @@ import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.core.lang.tuple.Pair; import org.aoju.bus.core.lang.tuple.Triple; +import org.aoju.bus.health.Builder; import org.aoju.bus.health.unix.AixLibc; import org.aoju.bus.logger.Logger; @@ -48,8 +49,8 @@ * Utility to query /proc/psinfo * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PsInfo { @@ -67,12 +68,7 @@ public final class PsInfo { * @return A structure containing information for the requested process */ public static AixLibc.AixPsInfo queryPsInfo(int pid) { - Path path = Paths.get(String.format("/proc/%d/psinfo", pid)); - try { - return new AixLibc.AixPsInfo(Files.readAllBytes(path)); - } catch (IOException e) { - return null; - } + return new AixLibc.AixPsInfo(Builder.readAllBytesAsBuffer(String.format("/proc/%d/psinfo", pid))); } /** @@ -82,13 +78,8 @@ public static AixLibc.AixPsInfo queryPsInfo(int pid) { * @param tid The thread ID (lwpid) * @return A structure containing information for the requested thread */ - public static AixLibc.AIXLwpsInfo queryLwpsInfo(int pid, int tid) { - Path path = Paths.get(String.format("/proc/%d/lwp/%d/lwpsinfo", pid, tid)); - try { - return new AixLibc.AIXLwpsInfo(Files.readAllBytes(path)); - } catch (IOException e) { - return null; - } + public static AixLibc.AixLwpsInfo queryLwpsInfo(int pid, int tid) { + return new AixLibc.AixLwpsInfo(Builder.readAllBytesAsBuffer(String.format("/proc/%d/lwp/%d/lwpsinfo", pid, tid))); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Uptime.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Uptime.java index a936d137fb..e8d269b49a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Uptime.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Uptime.java @@ -36,8 +36,8 @@ * Utility to query up time. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Uptime { @@ -58,7 +58,13 @@ public final class Uptime { */ public static long queryUpTime() { long uptime = 0L; - String s = Executor.getFirstAnswer("/usr/bin/uptime"); + String s = Executor.getFirstAnswer("uptime"); + if (s.isEmpty()) { + s = Executor.getFirstAnswer("w"); + } + if (s.isEmpty()) { + s = Executor.getFirstAnswer("/usr/bin/uptime"); + } Matcher m = UPTIME_FORMAT_AIX.matcher(s); if (m.matches()) { if (m.group(2) != null) { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Who.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Who.java index 477430daf6..86011f79f1 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Who.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/Who.java @@ -39,8 +39,8 @@ * Utility to query logged in users. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Who { @@ -56,7 +56,10 @@ public final class Who { * @return Boot time in milliseconds since the epoch */ public static long queryBootTime() { - String s = Executor.getFirstAnswer("/usr/bin/who -b"); + String s = Executor.getFirstAnswer("who -b"); + if (s.isEmpty()) { + s = Executor.getFirstAnswer("/usr/bin/who -b"); + } Matcher m = BOOT_FORMAT_AIX.matcher(s); if (m.matches()) { try { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/package-info.java index 2b8b47e7c9..1f27c1454a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query information on AIX * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.aix.drivers; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatConfig.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatConfig.java index 93274d6a3c..f578a79a28 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatConfig.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatConfig.java @@ -33,8 +33,8 @@ * Utility to query partition config * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfstatConfig { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatCpu.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatCpu.java index 427c50385e..aa2d51b915 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatCpu.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatCpu.java @@ -35,8 +35,8 @@ * Utility to query performance stats for cpu * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfstatCpu { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatDisk.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatDisk.java index 7789dda5a0..decbffa42a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatDisk.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatDisk.java @@ -34,8 +34,8 @@ * Utility to query performance stats for disk_stats * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfstatDisk { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatMemory.java index 131abbc1c1..4607df358d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatMemory.java @@ -33,8 +33,8 @@ * Utility to query performance stats for memory * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfstatMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatNetInterface.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatNetInterface.java index 46fe4d7fe3..8dc733a8f9 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatNetInterface.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatNetInterface.java @@ -34,8 +34,8 @@ * Utility to query performance stats for network interfaces * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfstatNetInterface { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProcess.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProcess.java index 86d3d8c51f..43fd06ec95 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProcess.java @@ -36,8 +36,8 @@ * Utility to query performance stats for processes * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfstatProcess { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProtocol.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProtocol.java index 25c125a8e7..6f0311eb31 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProtocol.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/PerfstatProtocol.java @@ -34,8 +34,8 @@ * Utility to query performance stats for network interfaces * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfstatProtocol { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/package-info.java index 4544a0a569..e4018ffaea 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/drivers/perfstat/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query information on AIX using the libperfstat api * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.aix.drivers.perfstat; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixBaseboard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixBaseboard.java index 0464554b83..a8874e512c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixBaseboard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixBaseboard.java @@ -39,8 +39,8 @@ * Baseboard data obtained by lscfg * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class AixBaseboard extends AbstractBaseboard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixCentralProcessor.java index 7cc4cb2f73..dbd6eb2295 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixCentralProcessor.java @@ -52,8 +52,8 @@ * A CPU * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class AixCentralProcessor extends AbstractCentralProcessor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixComputerSystem.java index 2b23ec6f22..41cb69c3b1 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixComputerSystem.java @@ -43,8 +43,8 @@ * Hardware data obtained from lsattr * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class AixComputerSystem extends AbstractComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixFirmware.java index 66c335fdaa..a012bbaedb 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixFirmware.java @@ -32,8 +32,8 @@ * Firmware data. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class AixFirmware extends AbstractFirmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGlobalMemory.java index f8887863ee..9fe610f963 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGlobalMemory.java @@ -45,8 +45,8 @@ * Memory obtained by perfstat_memory_total_t * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class AixGlobalMemory extends AbstractGlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGraphicsCard.java index c1970a8667..097a0ae15c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixGraphicsCard.java @@ -40,8 +40,8 @@ * Graphics Card info obtained from lscfg * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class AixGraphicsCard extends AbstractGraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHWDiskStore.java index af090d9879..9f9b5f0b67 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHWDiskStore.java @@ -45,8 +45,8 @@ * AIX hard disk implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class AixHWDiskStore extends AbstractHWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHardwareAbstractionLayer.java index 01aa3579e2..8e2f2bbaba 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixHardwareAbstractionLayer.java @@ -42,8 +42,8 @@ * AIXHardwareAbstractionLayer class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class AixHardwareAbstractionLayer extends AbstractHardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixNetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixNetworkIF.java index b95dc98aa9..07197e602b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixNetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixNetworkIF.java @@ -45,8 +45,8 @@ * AIXNetworks class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class AixNetworkIF extends AbstractNetworkIF { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixPowerSource.java index 40dc3908ce..0361dccdc7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixPowerSource.java @@ -37,8 +37,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class AixPowerSource extends AbstractPowerSource { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSensors.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSensors.java index deb9f4a75d..2e41f3d6bd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSensors.java @@ -35,8 +35,8 @@ * Sensors not available except counting fans from lscfg * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class AixSensors extends AbstractSensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSoundCard.java index 866db0943e..16bf89dd15 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixSoundCard.java @@ -39,8 +39,8 @@ * AIX Sound Card. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class AixSoundCard extends AbstractSoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixUsbDevice.java index 036f90439a..07de6d7658 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixUsbDevice.java @@ -41,8 +41,8 @@ * AIX Usb Device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class AixUsbDevice extends AbstractUsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixVirtualMemory.java index f219910c74..4fbe2dc04f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/AixVirtualMemory.java @@ -35,8 +35,8 @@ * Memory obtained by perfstat_memory_total_t * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class AixVirtualMemory extends AbstractVirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/package-info.java index e7689bf4b6..2a3e0d1761 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/hardware/package-info.java @@ -3,7 +3,7 @@ * Processor on AIX systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.aix.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/package-info.java index 8c352d7d82..94c78b9b8d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/package-info.java @@ -2,7 +2,7 @@ * Provides utilities for AIX * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.aix; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixFileSystem.java index 21c3c12722..2a0932db10 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixFileSystem.java @@ -46,8 +46,8 @@ * implementation specific means of file storage. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class AixFileSystem extends AbstractFileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixInternetProtocolStats.java index 225f0b1760..68194a6be1 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixInternetProtocolStats.java @@ -39,8 +39,8 @@ * Internet Protocol Stats implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class AixInternetProtocolStats extends AbstractInternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixNetworkParams.java index 13dc39f323..1992a87b88 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixNetworkParams.java @@ -39,8 +39,8 @@ * AixNetworkParams class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class AixNetworkParams extends AbstractNetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSFileStore.java index 66d5120cc3..3654d79d5c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSFileStore.java @@ -33,8 +33,8 @@ * OSFileStore implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class AixOSFileStore extends AbstractOSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSProcess.java index 8081a9a2f1..3c36e2d659 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSProcess.java @@ -38,7 +38,7 @@ import org.aoju.bus.health.builtin.software.AbstractOSProcess; import org.aoju.bus.health.builtin.software.OSProcess; import org.aoju.bus.health.builtin.software.OSThread; -import org.aoju.bus.health.unix.AixLibc.AIXLwpsInfo; +import org.aoju.bus.health.unix.AixLibc; import org.aoju.bus.health.unix.AixLibc.AixPsInfo; import org.aoju.bus.health.unix.aix.drivers.PsInfo; import org.aoju.bus.health.unix.aix.drivers.perfstat.PerfstatCpu; @@ -59,8 +59,8 @@ * OSProcess implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class AixOSProcess extends AbstractOSProcess { @@ -309,7 +309,7 @@ public long getAffinityMask() { // Iterate files for (File lwpidFile : numericFiles) { int lwpidNum = Builder.parseIntOrDefault(lwpidFile.getName(), 0); - AIXLwpsInfo info = PsInfo.queryLwpsInfo(getProcessID(), lwpidNum); + AixLibc.AixLwpsInfo info = PsInfo.queryLwpsInfo(getProcessID(), lwpidNum); if (info != null) { mask |= info.pr_bindpro; } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSThread.java index 35acade484..62354228e7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOSThread.java @@ -28,15 +28,15 @@ import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.health.builtin.software.AbstractOSThread; import org.aoju.bus.health.builtin.software.OSProcess; -import org.aoju.bus.health.unix.AixLibc.AIXLwpsInfo; +import org.aoju.bus.health.unix.AixLibc; import org.aoju.bus.health.unix.aix.drivers.PsInfo; /** * OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class AixOSThread extends AbstractOSThread { @@ -104,7 +104,7 @@ public int getPriority() { @Override public boolean updateAttributes() { - AIXLwpsInfo lwpsinfo = PsInfo.queryLwpsInfo(getOwningProcessId(), getThreadId()); + AixLibc.AixLwpsInfo lwpsinfo = PsInfo.queryLwpsInfo(getOwningProcessId(), getThreadId()); if (lwpsinfo == null) { this.state = OSProcess.State.INVALID; return false; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOperatingSystem.java index 0afbf92a0e..7e66b93212 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/AixOperatingSystem.java @@ -54,8 +54,8 @@ * platforms. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class AixOperatingSystem extends AbstractOperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/package-info.java index bb949c31bd..85bfb06f19 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/aix/software/package-info.java @@ -2,7 +2,7 @@ * Provides information about Software and OS on AIX * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.aix.software; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/BsdSysctlKit.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/BsdSysctlKit.java index 92937c83b1..9063b75409 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/BsdSysctlKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/BsdSysctlKit.java @@ -38,8 +38,8 @@ * Provides access to sysctl calls on FreeBSD * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class BsdSysctlKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/ProcstatKit.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/ProcstatKit.java index 23995efe96..0df15df3c0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/ProcstatKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/ProcstatKit.java @@ -39,8 +39,8 @@ * Reads from procstat into a map * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ProcstatKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/Who.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/Who.java index 3fc6cfb09b..2fb4eb8c04 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/Who.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/Who.java @@ -39,8 +39,8 @@ * Utility to query logged in users. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Who { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomDiskList.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomDiskList.java index 6475946657..56c1cf7c24 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomDiskList.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomDiskList.java @@ -40,8 +40,8 @@ * Utility to query geom part list * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class GeomDiskList { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomPartList.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomPartList.java index 056f3cef02..bad628a525 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomPartList.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/GeomPartList.java @@ -39,8 +39,8 @@ * Utility to query geom part list * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class GeomPartList { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/Mount.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/Mount.java index 8de85e395b..8a114e677e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/Mount.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/Mount.java @@ -37,8 +37,8 @@ * Utility to query mount * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Mount { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/package-info.java index 462354bf8e..09201ee272 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/disk/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query FreeBSD disk information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.freebsd.drivers.disk; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/package-info.java index 0f307627a0..8828976f49 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/drivers/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query FreeBSD information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.freebsd.drivers; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdCentralProcessor.java index 1d084dd1dd..ef5aea730c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdCentralProcessor.java @@ -52,8 +52,8 @@ * A CPU * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class FreeBsdCentralProcessor extends AbstractCentralProcessor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdComputerSystem.java index b7ac162286..b749da18ae 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdComputerSystem.java @@ -44,8 +44,8 @@ * Hardware data obtained from dmidecode. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class FreeBsdComputerSystem extends AbstractComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdFirmware.java index fb5b933b8b..866165e12f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdFirmware.java @@ -40,8 +40,8 @@ * Firmware information from dmidecode * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class FreeBsdFirmware extends AbstractFirmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGlobalMemory.java index 64f72d0186..c904fe56ef 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGlobalMemory.java @@ -39,8 +39,8 @@ * Memory obtained by sysctl vm.stats * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class FreeBsdGlobalMemory extends AbstractGlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGraphicsCard.java index 3d1d5439a5..acf3324893 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdGraphicsCard.java @@ -42,8 +42,8 @@ * Graphics Card info obtained from pciconf * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class FreeBsdGraphicsCard extends AbstractGraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHWDiskStore.java index d981df40ad..050083cb66 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHWDiskStore.java @@ -45,8 +45,8 @@ * FreeBSD hard disk implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class FreeBsdHWDiskStore extends AbstractHWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHardwareAbstractionLayer.java index 94038d4786..e6ce71b201 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdHardwareAbstractionLayer.java @@ -36,8 +36,8 @@ * FreeBsdHardwareAbstractionLayer class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class FreeBsdHardwareAbstractionLayer extends AbstractHardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdPowerSource.java index cb864b8e0e..6392044b29 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdPowerSource.java @@ -43,8 +43,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class FreeBsdPowerSource extends AbstractPowerSource { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSensors.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSensors.java index 9f092924c4..64ab273815 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSensors.java @@ -36,8 +36,8 @@ * Sensors from coretemp * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class FreeBsdSensors extends AbstractSensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSoundCard.java index 370729ef18..a4d6926c97 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdSoundCard.java @@ -41,8 +41,8 @@ * FreeBSD soundcard. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class FreeBsdSoundCard extends AbstractSoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdUsbDevice.java index 8f30ab6258..7723b9cbf7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdUsbDevice.java @@ -38,8 +38,8 @@ * FreeBsd Usb Device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class FreeBsdUsbDevice extends AbstractUsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdVirtualMemory.java index b674f6d660..8f1f2ed398 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/FreeBsdVirtualMemory.java @@ -41,8 +41,8 @@ * Memory obtained by swapinfo * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class FreeBsdVirtualMemory extends AbstractVirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/package-info.java index 267733f2b5..5c37a231c0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/hardware/package-info.java @@ -3,7 +3,7 @@ * Processor on FreeBSD systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.freebsd.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/package-info.java index cfb433cc00..6b5562cbc4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/package-info.java @@ -2,7 +2,7 @@ * Provides utilities for FreeBSD * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.freebsd; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdFileSystem.java index 1e28478675..c8e7ecf09b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdFileSystem.java @@ -48,8 +48,8 @@ * implementation specific means of file storage. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class FreeBsdFileSystem extends AbstractFileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdInternetProtocolStats.java index 86e7b8c60c..14953af5dd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdInternetProtocolStats.java @@ -43,8 +43,8 @@ * Internet Protocol Stats implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class FreeBsdInternetProtocolStats extends AbstractInternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdNetworkParams.java index 84587cc9f2..86b07f44a4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdNetworkParams.java @@ -42,8 +42,8 @@ * FreeBsdNetworkParams class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class FreeBsdNetworkParams extends AbstractNetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSFileStore.java index d1fbe584e5..2ec33bdb58 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSFileStore.java @@ -33,8 +33,8 @@ * OSFileStore implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class FreeBsdOSFileStore extends AbstractOSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSProcess.java index 2bec00c3bf..d1c68e2daf 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSProcess.java @@ -50,8 +50,8 @@ * OSProcess implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class FreeBsdOSProcess extends AbstractOSProcess { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSThread.java index 50f600e805..d2c7e9c972 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOSThread.java @@ -39,8 +39,8 @@ * OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class FreeBsdOSThread extends AbstractOSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOperatingSystem.java index 8b315917bc..e5b00707bd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/FreeBsdOperatingSystem.java @@ -49,8 +49,8 @@ * three-quarters of all installed simply, permissively licensed BSD systems. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class FreeBsdOperatingSystem extends AbstractOperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/package-info.java index d54ea5a78e..46dfead9e8 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/freebsd/software/package-info.java @@ -2,7 +2,7 @@ * Provides information about Software and OS on FreeBSD * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.freebsd.software; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/FstatKit.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/FstatKit.java index 461cd0a529..b3fbf1a740 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/FstatKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/FstatKit.java @@ -35,8 +35,8 @@ * Reads from fstat. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class FstatKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/OpenBsdSysctlKit.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/OpenBsdSysctlKit.java index eb598e3ba7..4ad93eb088 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/OpenBsdSysctlKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/OpenBsdSysctlKit.java @@ -40,8 +40,8 @@ * Provides access to sysctl calls on OpenBSD * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class OpenBsdSysctlKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/Disklabel.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/Disklabel.java index c04c788b24..72b50b271d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/Disklabel.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/Disklabel.java @@ -41,8 +41,8 @@ * Utility class parsing partition information from disklabel command * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Disklabel { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/package-info.java index 5d4155ce3a..6bbb550524 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/drivers/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query OpenBSD information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.openbsd.drivers; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdCentralProcessor.java index 42fb343c57..a49e66b579 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdCentralProcessor.java @@ -49,8 +49,8 @@ * OpenBSD Central Processor implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdCentralProcessor extends AbstractCentralProcessor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdComputerSystem.java index 52edeac45d..ebfd6b9f3c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdComputerSystem.java @@ -41,8 +41,8 @@ * OpenBSD ComputerSystem implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class OpenBsdComputerSystem extends AbstractComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdFirmware.java index a1724d1235..23a5a1c424 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdFirmware.java @@ -42,8 +42,8 @@ * OpenBSD Firmware implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class OpenBsdFirmware extends AbstractFirmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGlobalMemory.java index 6d6fdf4400..47709ede4b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGlobalMemory.java @@ -43,8 +43,8 @@ * Memory obtained by sysctl vm.stats * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class OpenBsdGlobalMemory extends AbstractGlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGraphicsCard.java index df73012658..6ac0bea9ed 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdGraphicsCard.java @@ -42,8 +42,8 @@ * Graphics Card info obtained from pciconf * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class OpenBsdGraphicsCard extends AbstractGraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHWDiskStore.java index 590146ade7..e8fd668303 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHWDiskStore.java @@ -50,8 +50,8 @@ * OpenBSD hard disk implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class OpenBsdHWDiskStore extends AbstractHWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHardwareAbstractionLayer.java index 001b90ba7a..31bcb88f3d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdHardwareAbstractionLayer.java @@ -36,8 +36,8 @@ * OpenBsdHardwareAbstractionLayer class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class OpenBsdHardwareAbstractionLayer extends AbstractHardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdPowerSource.java index 07229ddf1a..c1eb7c34a9 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdPowerSource.java @@ -43,8 +43,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class OpenBsdPowerSource extends AbstractPowerSource { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSensors.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSensors.java index 0621def340..5754dca46f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSensors.java @@ -43,8 +43,8 @@ * Sensors * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class OpenBsdSensors extends AbstractSensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSoundCard.java index eb1deb474e..5ee6126133 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdSoundCard.java @@ -40,8 +40,8 @@ * OpenBSD soundcard. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class OpenBsdSoundCard extends AbstractSoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdUsbDevice.java index 883fde827b..fb39bde6f5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdUsbDevice.java @@ -37,8 +37,8 @@ * OpenBsd Usb Device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class OpenBsdUsbDevice extends AbstractUsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdVirtualMemory.java index 3fe3515e66..ef9baa2a43 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/OpenBsdVirtualMemory.java @@ -40,8 +40,8 @@ * Memory info on OpenBSD * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class OpenBsdVirtualMemory extends AbstractVirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/package-info.java index d2b3bc10bd..af227f3dcf 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/hardware/package-info.java @@ -3,7 +3,7 @@ * Processor on OpenBSD systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.openbsd.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/package-info.java index fb606ea127..a5ad3b5da7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/package-info.java @@ -2,7 +2,7 @@ * Provides utilities for OpenBSD * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.openbsd; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdFileSystem.java index 7ac67738bd..696da59666 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdFileSystem.java @@ -46,8 +46,8 @@ * implementation specific means of file storage. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdFileSystem extends AbstractFileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdInternetProtocolStats.java index fd99706c3e..50d08f352c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdInternetProtocolStats.java @@ -34,8 +34,8 @@ * Internet Protocol Stats implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdInternetProtocolStats extends AbstractInternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdNetworkParams.java index 7d9cda6fde..0a477efb99 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdNetworkParams.java @@ -33,8 +33,8 @@ * OpenBsdNetworkParams class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdNetworkParams extends AbstractNetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSFileStore.java index ecfd5669b5..f1f0431fc7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSFileStore.java @@ -33,8 +33,8 @@ * OSFileStore implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdOSFileStore extends AbstractOSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSProcess.java index b3eb2a361c..17edda7396 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSProcess.java @@ -48,8 +48,8 @@ * OSProcess implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdOSProcess extends AbstractOSProcess { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSThread.java index 0faac387c8..39b3fa15ea 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOSThread.java @@ -38,8 +38,8 @@ * OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdOSThread extends AbstractOSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOperatingSystem.java index 4155978e5f..04994ee1ba 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/OpenBsdOperatingSystem.java @@ -43,8 +43,8 @@ * the Berkeley Software Distribution (BSD), which was based on Research Unix. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class OpenBsdOperatingSystem extends AbstractOperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/package-info.java index 859d8ef5e1..58d17afc81 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/openbsd/software/package-info.java @@ -2,7 +2,7 @@ * Provides information about Software and OS on OpenBSD * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.openbsd.software; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/package-info.java index 2cc085bf44..67ece80607 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/package-info.java @@ -5,7 +5,7 @@ * Provides functions to query information common to all unix systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/KstatKit.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/KstatKit.java index f0f60c94e8..fc4b5d3623 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/KstatKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/KstatKit.java @@ -31,6 +31,7 @@ import com.sun.jna.platform.unix.solaris.LibKstat.Kstat; import com.sun.jna.platform.unix.solaris.LibKstat.KstatCtl; import com.sun.jna.platform.unix.solaris.LibKstat.KstatNamed; +import org.aoju.bus.core.annotation.GuardeBy; import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.health.Builder; import org.aoju.bus.health.Formats; @@ -38,39 +39,48 @@ import org.aoju.bus.health.unix.Kstat2.Kstat2Handle; import org.aoju.bus.health.unix.Kstat2.Kstat2Map; import org.aoju.bus.health.unix.Kstat2.Kstat2MatcherList; +import org.aoju.bus.health.unix.solaris.software.SolarisOperatingSystem; import org.aoju.bus.logger.Logger; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * Provides access to kstat information on Solaris * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class KstatKit { - public static final ReentrantLock CHAIN = new ReentrantLock(); - private static final LibKstat KS = LibKstat.INSTANCE; - // Opens the kstat chain. Automatically closed on exit. + private static final Lock CHAIN = new ReentrantLock(); // Only one thread may access the chain at any time, so we wrap this object in - // the KstatChain class which locks the class until closed. - private static final KstatCtl KC = KS.kstat_open(); + // the KstatChain class locked until the lock is released on auto-close. + @GuardeBy("CHAIN") + private static KstatCtl kstatCtl = null; + + private KstatKit() { + + } /** - * Create a copy of the Kstat chain and lock it for use by this object. + * Lock the Kstat chain for use by this object until it's closed. * * @return A locked copy of the chain. It should be unlocked/released when you * are done with it with {@link KstatChain#close()}. */ - public static KstatChain openChain() { - return new KstatChain(); + public static synchronized KstatChain openChain() { + CHAIN.lock(); + if (kstatCtl == null) { + kstatCtl = LibKstat.INSTANCE.kstat_open(); + } + return new KstatChain(kstatCtl); } /** @@ -89,7 +99,7 @@ public static String dataLookupString(Kstat ksp, String name) { if (ksp.ks_type != LibKstat.KSTAT_TYPE_NAMED && ksp.ks_type != LibKstat.KSTAT_TYPE_TIMER) { throw new IllegalArgumentException("Not a kstat_named or kstat_timer kstat."); } - Pointer p = KS.kstat_data_lookup(ksp, name); + Pointer p = LibKstat.INSTANCE.kstat_data_lookup(ksp, name); if (p == null) { Logger.debug("Failed to lookup kstat value for key {}", name); return ""; @@ -131,7 +141,7 @@ public static long dataLookupLong(Kstat ksp, String name) { if (ksp.ks_type != LibKstat.KSTAT_TYPE_NAMED && ksp.ks_type != LibKstat.KSTAT_TYPE_TIMER) { throw new IllegalArgumentException("Not a kstat_named or kstat_timer kstat."); } - Pointer p = KS.kstat_data_lookup(ksp, name); + Pointer p = LibKstat.INSTANCE.kstat_data_lookup(ksp, name); if (p == null) { if (Logger.get().isDebug()) { Logger.debug("Failed lo lookup kstat value on {}:{}:{} for key {}", @@ -164,6 +174,10 @@ public static long dataLookupLong(Kstat ksp, String name) { * @return An object array with the data corresponding to the names */ public static Object[] queryKstat2(String mapStr, String... names) { + if (!SolarisOperatingSystem.HAS_KSTAT2) { + throw new UnsupportedOperationException( + "Kstat2 requires Solaris 11.4+. Use SolarisOperatingSystem#HAS_KSTAT2 to test this."); + } Object[] result = new Object[names.length]; Kstat2MatcherList matchers = new Kstat2MatcherList(); KstatKit.CHAIN.lock(); @@ -197,6 +211,10 @@ public static Object[] queryKstat2(String mapStr, String... names) { * @return A list of object arrays with the data corresponding to the names */ public static List queryKstat2List(String beforeStr, String afterStr, String... names) { + if (!SolarisOperatingSystem.HAS_KSTAT2) { + throw new UnsupportedOperationException( + "Kstat2 requires Solaris 11.4+. Use SolarisOperatingSystem#HAS_KSTAT2 to test this."); + } List results = new ArrayList<>(); int s = 0; Kstat2MatcherList matchers = new Kstat2MatcherList(); @@ -231,16 +249,19 @@ public static List queryKstat2List(String beforeStr, String afterStr, * A copy of the Kstat chain, encapsulating a {@code kstat_ctl_t} object. Only * one thread may actively use this object at any time. *

- * Instantiating this object is accomplished using the - * {@link KstatKit#openChain} method. It locks and updates the chain and is the - * equivalent of calling {@link LibKstat#kstat_open}. The control object should - * be closed with {@link #close}, the equivalent of calling - * {@link LibKstat#kstat_close} + * The chain is created once calling {@link LibKstat#kstat_open} and then this + * object is instantiated using the {@link KstatKit#openChain} method. + * Instantiating this object updates the chain using + * {@link LibKstat#kstat_chain_update}. The control object should be closed with + * {@link #close}, which releases the lock and allows another instance to be + * instantiated. */ public static final class KstatChain implements AutoCloseable { - private KstatChain() { - CHAIN.lock(); + private final KstatCtl localCtlRef; + + private KstatChain(KstatCtl ctl) { + this.localCtlRef = ctl; update(); } @@ -256,9 +277,10 @@ private KstatChain() { * @param ksp The kstat from which to retrieve data * @return {@code true} if successful; {@code false} otherwise */ - public static boolean read(Kstat ksp) { + @GuardeBy("CHAIN") + public boolean read(Kstat ksp) { int retry = 0; - while (0 > KS.kstat_read(KC, ksp, null)) { + while (0 > LibKstat.INSTANCE.kstat_read(localCtlRef, ksp, null)) { if (LibKstat.EAGAIN != Native.getLastError() || 5 <= ++retry) { if (Logger.get().isDebug()) { Logger.debug("Failed to read kstat {}:{}:{}", @@ -285,8 +307,9 @@ public static boolean read(Kstat ksp) { * @return The first match of the requested Kstat structure if found, or * {@code null} */ - public static Kstat lookup(String module, int instance, String name) { - return KS.kstat_lookup(KC, module, instance, name); + @GuardeBy("CHAIN") + public Kstat lookup(String module, int instance, String name) { + return LibKstat.INSTANCE.kstat_lookup(localCtlRef, module, instance, name); } /** @@ -303,9 +326,11 @@ public static Kstat lookup(String module, int instance, String name) { * @return All matches of the requested Kstat structure if found, or an empty * list otherwise */ - public static List lookupAll(String module, int instance, String name) { + @GuardeBy("CHAIN") + public List lookupAll(String module, int instance, String name) { List kstats = new ArrayList<>(); - for (Kstat ksp = KS.kstat_lookup(KC, module, instance, name); ksp != null; ksp = ksp.next()) { + for (Kstat ksp = LibKstat.INSTANCE.kstat_lookup(localCtlRef, module, instance, name); ksp != null; ksp = ksp + .next()) { if ((module == null || module.equals(Native.toString(ksp.ks_module, StandardCharsets.US_ASCII))) && (instance < 0 || instance == ksp.ks_instance) && (name == null || name.equals(Native.toString(ksp.ks_name, StandardCharsets.US_ASCII)))) { @@ -325,8 +350,9 @@ public static List lookupAll(String module, int instance, String name) { * @return the new KCID if the kstat chain has changed, 0 if it hasn't, or -1 on * failure. */ - public static int update() { - return KS.kstat_chain_update(KC); + @GuardeBy("CHAIN") + public int update() { + return LibKstat.INSTANCE.kstat_chain_update(localCtlRef); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/PsInfo.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/PsInfo.java index 75cebd5bc7..18d7ed46b2 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/PsInfo.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/PsInfo.java @@ -38,10 +38,6 @@ import org.aoju.bus.health.unix.SolarisLibc; import org.aoju.bus.logger.Logger; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -51,8 +47,8 @@ * Utility to query /proc/psinfo * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PsInfo { @@ -62,6 +58,9 @@ public final class PsInfo { private static final long PAGE_SIZE = Builder.parseLongOrDefault(Executor.getFirstAnswer("pagesize"), 4096L); + private PsInfo() { + } + /** * Reads /proc/pid/psinfo and returns data in a structure * @@ -69,12 +68,7 @@ public final class PsInfo { * @return A structure containing information for the requested process */ public static SolarisLibc.SolarisPsInfo queryPsInfo(int pid) { - Path path = Paths.get(String.format("/proc/%d/psinfo", pid)); - try { - return new SolarisLibc.SolarisPsInfo(Files.readAllBytes(path)); - } catch (IOException e) { - return null; - } + return new SolarisLibc.SolarisPsInfo(Builder.readAllBytesAsBuffer(String.format("/proc/%d/psinfo", pid))); } /** @@ -85,12 +79,7 @@ public static SolarisLibc.SolarisPsInfo queryPsInfo(int pid) { * @return A structure containing information for the requested thread */ public static SolarisLibc.SolarisLwpsInfo queryLwpsInfo(int pid, int tid) { - Path path = Paths.get(String.format("/proc/%d/lwp/%d/lwpsinfo", pid, tid)); - try { - return new SolarisLibc.SolarisLwpsInfo(Files.readAllBytes(path)); - } catch (IOException e) { - return null; - } + return new SolarisLibc.SolarisLwpsInfo(Builder.readAllBytesAsBuffer(String.format("/proc/%d/lwp/%d/lwpsinfo", pid, tid))); } /** @@ -100,12 +89,7 @@ public static SolarisLibc.SolarisLwpsInfo queryLwpsInfo(int pid, int tid) { * @return A structure containing information for the requested process */ public static SolarisLibc.SolarisPrUsage queryPrUsage(int pid) { - Path path = Paths.get(String.format("/proc/%d/usage", pid)); - try { - return new SolarisLibc.SolarisPrUsage(Files.readAllBytes(path)); - } catch (IOException e) { - return null; - } + return new SolarisLibc.SolarisPrUsage(Builder.readAllBytesAsBuffer(String.format("/proc/%d/usage", pid))); } /** @@ -116,12 +100,7 @@ public static SolarisLibc.SolarisPrUsage queryPrUsage(int pid) { * @return A structure containing information for the requested thread */ public static SolarisLibc.SolarisPrUsage queryPrUsage(int pid, int tid) { - Path path = Paths.get(String.format("/proc/%d/lwp/%d/usage", pid, tid)); - try { - return new SolarisLibc.SolarisPrUsage(Files.readAllBytes(path)); - } catch (IOException e) { - return null; - } + return new SolarisLibc.SolarisPrUsage(Builder.readAllBytesAsBuffer(String.format("/proc/%d/lwp/%d/usage", pid, tid))); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/Who.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/Who.java index 92562a03f4..240b19518f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/Who.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/Who.java @@ -39,8 +39,8 @@ * Utility to query logged in users. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Who { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Iostat.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Iostat.java index fc00d76be9..006ed66ccd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Iostat.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Iostat.java @@ -40,8 +40,8 @@ * Utility to query iostat * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Iostat { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Lshal.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Lshal.java index cd3e48c4b0..f15e40c22d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Lshal.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Lshal.java @@ -37,8 +37,8 @@ * Utility to query lshal * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Lshal { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Prtvtoc.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Prtvtoc.java index 9097eecffc..54ad350a7a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Prtvtoc.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/Prtvtoc.java @@ -39,8 +39,8 @@ * Utility to query iostat * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Prtvtoc { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/package-info.java index 48814a55cf..b6f5d9e11c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/disk/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query Solaris disk information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.solaris.drivers.disk; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/SystemPages.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/SystemPages.java index fd4ac4646b..03cc0d2aed 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/SystemPages.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/SystemPages.java @@ -35,8 +35,8 @@ * Utility to query geom part list * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SystemPages { @@ -49,7 +49,7 @@ public final class SystemPages { * size for bytes. */ public static Pair queryAvailableTotal() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return queryAvailableTotal2(); } @@ -57,9 +57,9 @@ public static Pair queryAvailableTotal() { long memTotal = 0; // Get first result try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup(null, -1, "system_pages"); + Kstat ksp = kc.lookup(null, -1, "system_pages"); // Set values - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + if (ksp != null && kc.read(ksp)) { memAvailable = KstatKit.dataLookupLong(ksp, "availrmem"); // not a typo memTotal = KstatKit.dataLookupLong(ksp, "physmem"); } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/package-info.java index cbb32a4aeb..f0c9f20cf5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/kstat/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query Solaris kstat information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.solaris.drivers.kstat; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/package-info.java index 0bb95a1655..eaa2eaf23c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/drivers/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query Solaris information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.solaris.drivers; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisCentralProcessor.java index a8700d26d5..b506e03121 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisCentralProcessor.java @@ -44,8 +44,8 @@ * A CPU * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class SolarisCentralProcessor extends AbstractCentralProcessor { @@ -204,7 +204,7 @@ private static long queryInterrupts2() { @Override protected ProcessorIdentifier queryProcessorId() { boolean cpu64bit = "64".equals(Executor.getFirstAnswer("isainfo -b").trim()); - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return queryProcessorId2(cpu64bit); } @@ -217,9 +217,9 @@ protected ProcessorIdentifier queryProcessorId() { // Get first result try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup(CPU_INFO, -1, null); + Kstat ksp = kc.lookup(CPU_INFO, -1, null); // Set values - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + if (ksp != null && kc.read(ksp)) { cpuVendor = KstatKit.dataLookupString(ksp, "vendor_id"); cpuName = KstatKit.dataLookupString(ksp, "brand"); cpuFamily = KstatKit.dataLookupString(ksp, "family"); @@ -237,16 +237,16 @@ protected ProcessorIdentifier queryProcessorId() { @Override protected Pair, List> initProcessorCounts() { Map numaNodeMap = mapNumaNodes(); - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return Pair.of(initProcessorCounts2(numaNodeMap), null); } List logProcs = new ArrayList<>(); try (KstatKit.KstatChain kc = KstatKit.openChain()) { - List kstats = KstatKit.KstatChain.lookupAll(CPU_INFO, -1, null); + List kstats = kc.lookupAll(CPU_INFO, -1, null); for (Kstat ksp : kstats) { - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + if (ksp != null && kc.read(ksp)) { int procId = logProcs.size(); // 0-indexed String chipId = KstatKit.dataLookupString(ksp, "chip_id"); String coreId = KstatKit.dataLookupString(ksp, "core_id"); @@ -294,7 +294,7 @@ public long[] querySystemCpuLoadTicks() { @Override public long[] queryCurrentFreq() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return queryCurrentFreq2(getLogicalProcessorCount()); } @@ -302,8 +302,8 @@ public long[] queryCurrentFreq() { Arrays.fill(freqs, -1); try (KstatKit.KstatChain kc = KstatKit.openChain()) { for (int i = 0; i < freqs.length; i++) { - for (Kstat ksp : KstatKit.KstatChain.lookupAll(CPU_INFO, i, null)) { - if (KstatKit.KstatChain.read(ksp)) { + for (Kstat ksp : kc.lookupAll(CPU_INFO, i, null)) { + if (kc.read(ksp)) { freqs[i] = KstatKit.dataLookupLong(ksp, "current_clock_Hz"); } } @@ -314,14 +314,14 @@ public long[] queryCurrentFreq() { @Override public long queryMaxFreq() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return queryMaxFreq2(); } long max = -1L; try (KstatKit.KstatChain kc = KstatKit.openChain()) { - for (Kstat ksp : KstatKit.KstatChain.lookupAll(CPU_INFO, 0, null)) { - if (KstatKit.KstatChain.read(ksp)) { + for (Kstat ksp : kc.lookupAll(CPU_INFO, 0, null)) { + if (kc.read(ksp)) { String suppFreq = KstatKit.dataLookupString(ksp, "supported_frequencies_Hz"); if (!suppFreq.isEmpty()) { for (String s : suppFreq.split(":")) { @@ -354,20 +354,20 @@ public double[] getSystemLoadAverage(int nelem) { @Override public long[][] queryProcessorCpuLoadTicks() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return queryProcessorCpuLoadTicks2(getLogicalProcessorCount()); } long[][] ticks = new long[getLogicalProcessorCount()][TickType.values().length]; int cpu = -1; try (KstatKit.KstatChain kc = KstatKit.openChain()) { - for (Kstat ksp : KstatKit.KstatChain.lookupAll("cpu", -1, "sys")) { + for (Kstat ksp : kc.lookupAll("cpu", -1, "sys")) { // This is a new CPU if (++cpu >= ticks.length) { // Shouldn't happen break; } - if (KstatKit.KstatChain.read(ksp)) { + if (kc.read(ksp)) { ticks[cpu][TickType.IDLE.getIndex()] = KstatKit.dataLookupLong(ksp, "cpu_ticks_idle"); ticks[cpu][TickType.SYSTEM.getIndex()] = KstatKit.dataLookupLong(ksp, "cpu_ticks_kernel"); ticks[cpu][TickType.USER.getIndex()] = KstatKit.dataLookupLong(ksp, "cpu_ticks_user"); @@ -379,7 +379,7 @@ public long[][] queryProcessorCpuLoadTicks() { @Override public long queryContextSwitches() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return queryContextSwitches2(); } @@ -393,7 +393,7 @@ public long queryContextSwitches() { @Override public long queryInterrupts() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return queryInterrupts2(); } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisComputerSystem.java index d2b4f0cd45..86536e249d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisComputerSystem.java @@ -43,8 +43,8 @@ * Hardware data obtained from smbios. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class SolarisComputerSystem extends AbstractComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisFirmware.java index e53bd75b7f..4faf1c8142 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisFirmware.java @@ -32,8 +32,8 @@ * Firmware data. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class SolarisFirmware extends AbstractFirmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGlobalMemory.java index a3591ab30a..a702dd6582 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGlobalMemory.java @@ -42,8 +42,8 @@ * Memory obtained by kstat * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class SolarisGlobalMemory extends AbstractGlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGraphicsCard.java index b2c30a05d4..87ac3f3a62 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisGraphicsCard.java @@ -40,8 +40,8 @@ * Graphics Card info obtained from prtconf * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class SolarisGraphicsCard extends AbstractGraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHWDiskStore.java index 128761d75e..ecc5eae534 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHWDiskStore.java @@ -46,8 +46,8 @@ * Solaris hard disk implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SolarisHWDiskStore extends AbstractHWDiskStore { @@ -149,13 +149,13 @@ public List getPartitions() { @Override public boolean updateAttributes() { this.timeStamp = System.currentTimeMillis(); - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return updateAttributes2(); } try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup(null, 0, getName()); - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + Kstat ksp = kc.lookup(null, 0, getName()); + if (ksp != null && kc.read(ksp)) { KstatIO data = new KstatIO(ksp.ks_data); this.reads = data.reads; this.writes = data.writes; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHardwareAbstractionLayer.java index 0236cccf81..dc08c8d0ad 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisHardwareAbstractionLayer.java @@ -35,8 +35,8 @@ * SolarisHardwareAbstractionLayer class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SolarisHardwareAbstractionLayer extends AbstractHardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisNetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisNetworkIF.java index 85f3520327..a14476e33a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisNetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisNetworkIF.java @@ -41,8 +41,8 @@ * SolarisNetworks class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SolarisNetworkIF extends AbstractNetworkIF { @@ -135,16 +135,16 @@ public long getTimeStamp() { public boolean updateAttributes() { // Initialize to a sane default value this.timeStamp = System.currentTimeMillis(); - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return updateAttributes2(); } try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup("link", -1, getName()); + Kstat ksp = kc.lookup("link", -1, getName()); if (ksp == null) { // Solaris 10 compatibility - ksp = KstatKit.KstatChain.lookup(null, -1, getName()); + ksp = kc.lookup(null, -1, getName()); } - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + if (ksp != null && kc.read(ksp)) { this.bytesSent = KstatKit.dataLookupLong(ksp, "obytes64"); this.bytesRecv = KstatKit.dataLookupLong(ksp, "rbytes64"); this.packetsSent = KstatKit.dataLookupLong(ksp, "opackets64"); diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisPowerSource.java index fc1b74041a..4efb1ef0c7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisPowerSource.java @@ -40,8 +40,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SolarisPowerSource extends AbstractPowerSource { @@ -53,9 +53,9 @@ public final class SolarisPowerSource extends AbstractPowerSource { static { try (KstatKit.KstatChain kc = KstatKit.openChain()) { - if (KstatKit.KstatChain.lookup(KSTAT_BATT_MOD[1], 0, null) != null) { + if (kc.lookup(KSTAT_BATT_MOD[1], 0, null) != null) { KSTAT_BATT_IDX = 1; - } else if (KstatKit.KstatChain.lookup(KSTAT_BATT_MOD[2], 0, null) != null) { + } else if (kc.lookup(KSTAT_BATT_MOD[2], 0, null) != null) { KSTAT_BATT_IDX = 2; } else { KSTAT_BATT_IDX = 0; @@ -111,7 +111,7 @@ private static SolarisPowerSource getPowerSource(String name) { if (KSTAT_BATT_IDX > 0) { // Get kstat for the battery information try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup(KSTAT_BATT_MOD[KSTAT_BATT_IDX], 0, "battery BIF0"); + Kstat ksp = kc.lookup(KSTAT_BATT_MOD[KSTAT_BATT_IDX], 0, "battery BIF0"); if (ksp != null) { // Predicted battery capacity when fully charged. long energyFull = KstatKit.dataLookupLong(ksp, "bif_last_cap"); @@ -134,7 +134,7 @@ private static SolarisPowerSource getPowerSource(String name) { } // Get kstat for the battery state - ksp = KstatKit.KstatChain.lookup(KSTAT_BATT_MOD[KSTAT_BATT_IDX], 0, "battery BST0"); + ksp = kc.lookup(KSTAT_BATT_MOD[KSTAT_BATT_IDX], 0, "battery BST0"); if (ksp != null) { // estimated remaining battery capacity long energyNow = KstatKit.dataLookupLong(ksp, "bst_rem_cap"); diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSensors.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSensors.java index e3ed1f3d3d..1719b29bf3 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSensors.java @@ -37,8 +37,8 @@ * Sensors from prtpicl * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class SolarisSensors extends AbstractSensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSoundCard.java index ccaafeead0..b841e6a5ad 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisSoundCard.java @@ -40,8 +40,8 @@ * Solaris Sound Card. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class SolarisSoundCard extends AbstractSoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisUsbDevice.java index 9f38fa8a11..e4d8aedbdd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisUsbDevice.java @@ -37,8 +37,8 @@ * Solaris Usb Device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class SolarisUsbDevice extends AbstractUsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisVirtualMemory.java index 3c56a848e1..9095849687 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/SolarisVirtualMemory.java @@ -43,8 +43,8 @@ * Memory obtained by kstat and swap * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class SolarisVirtualMemory extends AbstractVirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/package-info.java index bc1b90e9e3..84c8d228d5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/hardware/package-info.java @@ -3,7 +3,7 @@ * Processor on Solaris systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.solaris.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/package-info.java index d7cc9f28c1..75333427c2 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/package-info.java @@ -2,7 +2,7 @@ * Provides utilities for Solaris * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.solaris; diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisFileSystem.java index a3bf93f342..44065267f5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisFileSystem.java @@ -51,8 +51,8 @@ * the /proc/mount filesystem, excluding temporary and kernel mounts. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class SolarisFileSystem extends AbstractFileSystem { @@ -178,14 +178,14 @@ public List getFileStores(boolean localOnly) { @Override public long getOpenFileDescriptors() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return FILE_DESC.get().getLeft(); } try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup(null, -1, "file_cache"); + Kstat ksp = kc.lookup(null, -1, "file_cache"); // Set values - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + if (ksp != null && kc.read(ksp)) { return KstatKit.dataLookupLong(ksp, "buf_inuse"); } } @@ -194,14 +194,14 @@ public long getOpenFileDescriptors() { @Override public long getMaxFileDescriptors() { - if (SolarisOperatingSystem.IS_11_4_OR_HIGHER) { + if (SolarisOperatingSystem.HAS_KSTAT2) { // Use Kstat2 implementation return FILE_DESC.get().getRight(); } try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup(null, -1, "file_cache"); + Kstat ksp = kc.lookup(null, -1, "file_cache"); // Set values - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + if (ksp != null && kc.read(ksp)) { return KstatKit.dataLookupLong(ksp, "buf_max"); } } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisInternetProtocolStats.java index 6f1ecd44e7..4a47fc70a6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisInternetProtocolStats.java @@ -37,8 +37,8 @@ * Internet Protocol Stats implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class SolarisInternetProtocolStats extends AbstractInternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisNetworkParams.java index 2d898d28c7..173d51752a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisNetworkParams.java @@ -37,8 +37,8 @@ * SolarisNetworkParams class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class SolarisNetworkParams extends AbstractNetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSFileStore.java index d6c8c89ed9..5fbc99facc 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSFileStore.java @@ -33,8 +33,8 @@ * OSFileStore implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class SolarisOSFileStore extends AbstractOSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSProcess.java index 979b154460..2cdbbc890e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSProcess.java @@ -54,8 +54,8 @@ * OSProcess implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class SolarisOSProcess extends AbstractOSProcess { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSThread.java index 4b242da543..516bd6c583 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOSThread.java @@ -40,8 +40,8 @@ * OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class SolarisOSThread extends AbstractOSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOperatingSystem.java index a5bd75809a..210d9004ba 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/SolarisOperatingSystem.java @@ -34,6 +34,7 @@ import org.aoju.bus.health.Memoize; import org.aoju.bus.health.builtin.software.*; import org.aoju.bus.health.linux.drivers.proc.ProcessStat; +import org.aoju.bus.health.unix.Kstat2; import org.aoju.bus.health.unix.SolarisLibc; import org.aoju.bus.health.unix.solaris.KstatKit; import org.aoju.bus.health.unix.solaris.drivers.Who; @@ -51,15 +52,19 @@ * after the Sun acquisition by Oracle, it was renamed Oracle Solaris. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class SolarisOperatingSystem extends AbstractOperatingSystem { + /** + * This static field identifies if the kstat2 library (available in Solaris 11.4 + * or greater) can be loaded. + */ + public static final boolean HAS_KSTAT2; private static final String VERSION; private static final String BUILD_NUMBER; - public static final boolean IS_11_4_OR_HIGHER = "11.4".compareTo(SolarisOperatingSystem.BUILD_NUMBER) <= 0; private static final Supplier> BOOT_UPTIME = Memoize .memoize(SolarisOperatingSystem::queryBootAndUptime, Memoize.defaultExpiration()); private static final long BOOTTIME = querySystemBootTime(); @@ -68,6 +73,14 @@ public class SolarisOperatingSystem extends AbstractOperatingSystem { String[] split = RegEx.SPACES.split(Executor.getFirstAnswer("uname -rv")); VERSION = split[0]; BUILD_NUMBER = split.length > 1 ? split[1] : ""; + + Kstat2 lib = null; + try { + lib = Kstat2.INSTANCE; + } catch (UnsatisfiedLinkError e) { + // 11.3 or earlier, no kstat2 + } + HAS_KSTAT2 = lib != null; } private static List queryAllProcessesFromPrStat() { @@ -106,12 +119,12 @@ private static List getProcessListFromProcfs(int pid) { } private static long querySystemUptime() { - if (IS_11_4_OR_HIGHER) { + if (HAS_KSTAT2) { // Use Kstat2 implementation return BOOT_UPTIME.get().getRight(); } try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup("unix", 0, "system_misc"); + Kstat ksp = kc.lookup("unix", 0, "system_misc"); if (ksp != null) { // Snap Time is in nanoseconds; divide for seconds return ksp.ks_snaptime / 1_000_000_000L; @@ -121,13 +134,13 @@ private static long querySystemUptime() { } private static long querySystemBootTime() { - if (IS_11_4_OR_HIGHER) { + if (HAS_KSTAT2) { // Use Kstat2 implementation return BOOT_UPTIME.get().getLeft(); } try (KstatKit.KstatChain kc = KstatKit.openChain()) { - Kstat ksp = KstatKit.KstatChain.lookup("unix", 0, "system_misc"); - if (ksp != null && KstatKit.KstatChain.read(ksp)) { + Kstat ksp = kc.lookup("unix", 0, "system_misc"); + if (ksp != null && kc.read(ksp)) { return KstatKit.dataLookupLong(ksp, "boot_time"); } } diff --git a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/package-info.java index 42b309b68f..38d182a9d0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/unix/solaris/software/package-info.java @@ -2,7 +2,7 @@ * Provides information about Software and OS on Solaris * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.unix.solaris.software; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/NtDll.java b/bus-health/src/main/java/org/aoju/bus/health/windows/NtDll.java index 8ca292f57e..c34a013f34 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/NtDll.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/NtDll.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface NtDll extends com.sun.jna.platform.win32.NtDll { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQuery.java b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQuery.java index 1a535b8c0d..261934eba5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQuery.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQuery.java @@ -46,8 +46,8 @@ * Enables queries of Performance Counters using wild cards to filter instances * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfCounterQuery { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQueryHandler.java b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQueryHandler.java index 8800c9297e..987c2a63a6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQueryHandler.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterQueryHandler.java @@ -40,8 +40,8 @@ * used in a single thread, preferably in a try-with-resources block. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @NotThreadSafe public final class PerfCounterQueryHandler implements AutoCloseable { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterWildcardQuery.java b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterWildcardQuery.java index aae46941a7..92f0de0230 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterWildcardQuery.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfCounterWildcardQuery.java @@ -44,8 +44,8 @@ * Enables queries of Performance Counters using wild cards to filter instances * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfCounterWildcardQuery { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfDataKit.java b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfDataKit.java index 790ccbc7a0..52e3d49898 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/PerfDataKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/PerfDataKit.java @@ -44,8 +44,8 @@ * allow applications to easily add, query, and remove counters. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PerfDataKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/PowrProf.java b/bus-health/src/main/java/org/aoju/bus/health/windows/PowrProf.java index b22d90a1a2..03b7c41c7c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/PowrProf.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/PowrProf.java @@ -35,8 +35,8 @@ * removed if/when its code is incorporated into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface PowrProf extends com.sun.jna.platform.win32.PowrProf { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/WinNT.java b/bus-health/src/main/java/org/aoju/bus/health/windows/WinNT.java index b8496bc8ef..0c1c7b682c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/WinNT.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/WinNT.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface WinNT extends com.sun.jna.platform.win32.WinNT { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/WmiKit.java b/bus-health/src/main/java/org/aoju/bus/health/windows/WmiKit.java index 953a344236..f8538a26a3 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/WmiKit.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/WmiKit.java @@ -38,8 +38,8 @@ * Helper class for WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class WmiKit { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/WmiQueryHandler.java b/bus-health/src/main/java/org/aoju/bus/health/windows/WmiQueryHandler.java index 718c2a616f..4d933f6dc4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/WmiQueryHandler.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/WmiQueryHandler.java @@ -46,8 +46,8 @@ * behavior. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class WmiQueryHandler { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/DeviceTree.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/DeviceTree.java index c9852cd7ad..77c8081b6f 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/DeviceTree.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/DeviceTree.java @@ -49,8 +49,8 @@ * Utility to query device interfaces via Config Manager Device Tree functions * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class DeviceTree { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/EnumWindows.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/EnumWindows.java index 2217386c9e..f32796a604 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/EnumWindows.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/EnumWindows.java @@ -44,8 +44,8 @@ * Utility to query Desktop windows * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class EnumWindows { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/LogicalProcessorInformation.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/LogicalProcessorInformation.java index f677373478..e813771908 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/LogicalProcessorInformation.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/LogicalProcessorInformation.java @@ -44,8 +44,8 @@ * Utility to query Logical Processor Information * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class LogicalProcessorInformation { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/package-info.java index 5a6c3aa8ed..5b19aede68 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query information in windows * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.windows.drivers; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/MemoryInformation.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/MemoryInformation.java index 0a20b1f1b7..462db70e41 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/MemoryInformation.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/MemoryInformation.java @@ -28,28 +28,29 @@ import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.health.windows.PerfCounterQuery; +import java.util.Collections; import java.util.Map; /** * Utility to query Memory performance counter * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class MemoryInformation { - private static final String MEMORY = "Memory"; - private static final String WIN32_PERF_RAW_DATA_PERF_OS_MEMORY = "Win32_PerfRawData_PerfOS_Memory"; - /** * Returns page swap counters * * @return Page swap counters for memory. */ public static Map queryPageSwaps() { - return PerfCounterQuery.queryValues(PageSwapProperty.class, MEMORY, WIN32_PERF_RAW_DATA_PERF_OS_MEMORY); + if (PerfmonDisabled.PERF_OS_DISABLED) { + return Collections.emptyMap(); + } + return PerfCounterQuery.queryValues(PageSwapProperty.class, PerfmonConsts.MEMORY, PerfmonConsts.WIN32_PERF_RAW_DATA_PERF_OS_MEMORY); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PagingFile.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PagingFile.java index 864b2b3fc9..b0679d0722 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PagingFile.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PagingFile.java @@ -28,29 +28,30 @@ import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.health.windows.PerfCounterQuery; +import java.util.Collections; import java.util.Map; /** * Utility to query Paging File performance counter * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PagingFile { - private static final String PAGING_FILE = "Paging File"; - private static final String WIN32_PERF_RAW_DATA_PERF_OS_PAGING_FILE = "Win32_PerfRawData_PerfOS_PagingFile"; - /** * Returns paging file counters * * @return Paging file counters for memory. */ public static Map querySwapUsed() { - return PerfCounterQuery.queryValues(PagingPercentProperty.class, PAGING_FILE, - WIN32_PERF_RAW_DATA_PERF_OS_PAGING_FILE); + if (PerfmonDisabled.PERF_OS_DISABLED) { + return Collections.emptyMap(); + } + return PerfCounterQuery.queryValues(PagingPercentProperty.class, PerfmonConsts.PAGING_FILE, + PerfmonConsts.WIN32_PERF_RAW_DATA_PERF_OS_PAGING_FILE); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PerfmonConsts.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PerfmonConsts.java new file mode 100644 index 0000000000..8e72ef1113 --- /dev/null +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PerfmonConsts.java @@ -0,0 +1,51 @@ +package org.aoju.bus.health.windows.drivers.perfmon; + + +import org.aoju.bus.core.annotation.ThreadSafe; + +/** + * Constants used in Perfmon driver classes + */ +@ThreadSafe +public final class PerfmonConsts { + + /* + * Perfmon counter names and corresponding WMI tables + */ + static final String MEMORY = "Memory"; + static final String WIN32_PERF_RAW_DATA_PERF_OS_MEMORY = "Win32_PerfRawData_PerfOS_Memory"; + + static final String PAGING_FILE = "Paging File"; + static final String WIN32_PERF_RAW_DATA_PERF_OS_PAGING_FILE = "Win32_PerfRawData_PerfOS_PagingFile"; + + static final String PHYSICAL_DISK = "PhysicalDisk"; + static final String WIN32_PERF_RAW_DATA_PERF_DISK_PHYSICAL_DISK_WHERE_NAME_NOT_TOTAL = "Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE Name!=\"_Total\""; + + static final String PROCESS = "Process"; + static final String WIN32_PERFPROC_PROCESS = "Win32_PerfRawData_PerfProc_Process"; + static final String WIN32_PERFPROC_PROCESS_WHERE_NOT_NAME_LIKE_TOTAL = WIN32_PERFPROC_PROCESS + + " WHERE NOT Name LIKE \"%_Total\""; + + static final String THREAD = "Thread"; + static final String WIN32_PERF_RAW_DATA_PERF_PROC_THREAD_WHERE_NOT_NAME_LIKE_TOTAL = "Win32_PerfRawData_PerfProc_Thread WHERE NOT Name LIKE \"%_Total\""; + + // For Vista- ... Older systems just have processor # + static final String PROCESSOR = "Processor"; + static final String WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_NOT_TOTAL = "Win32_PerfRawData_PerfOS_Processor WHERE Name!=\"_Total\""; + static final String WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_TOTAL = "Win32_PerfRawData_PerfOS_Processor WHERE Name=\"_Total\""; + + // For Win7+ ... NAME field includes NUMA nodes + static final String PROCESSOR_INFORMATION = "Processor Information"; + static final String WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL = "Win32_PerfRawData_Counters_ProcessorInformation WHERE NOT Name LIKE \"%_Total\""; + + static final String SYSTEM = "System"; + static final String WIN32_PERF_RAW_DATA_PERF_OS_SYSTEM = "Win32_PerfRawData_PerfOS_System"; + + /** + * Everything in this class is static, never instantiate it + */ + private PerfmonConsts() { + throw new AssertionError(); + } + +} diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PerfmonDisabled.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PerfmonDisabled.java new file mode 100644 index 0000000000..6c67ed9aff --- /dev/null +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PerfmonDisabled.java @@ -0,0 +1,46 @@ +package org.aoju.bus.health.windows.drivers.perfmon; + +import com.sun.jna.platform.win32.Advapi32Util; +import com.sun.jna.platform.win32.WinReg; +import org.aoju.bus.core.annotation.ThreadSafe; +import org.aoju.bus.core.toolkit.StringKit; +import org.aoju.bus.health.Config; +import org.aoju.bus.logger.Logger; + +/** + * Tests whether performance counters are disabled + */ +@ThreadSafe +public final class PerfmonDisabled { + + static final boolean PERF_OS_DISABLED = isDisabled(Config.OS_WINDOWS_PERFOS_DIABLED, "PerfOS"); + static final boolean PERF_PROC_DISABLED = isDisabled(Config.OS_WINDOWS_PERFPROC_DIABLED, "PerfProc"); + static final boolean PERF_DISK_DISABLED = isDisabled(Config.OS_WINDOWS_PERFDISK_DIABLED, "PerfDisk"); + + /** + * Everything in this class is static, never instantiate it + */ + private PerfmonDisabled() { + throw new AssertionError(); + } + + private static boolean isDisabled(String config, String service) { + String perfDisabled = Config.get(config); + // If null or empty, check registry + if (StringKit.isBlank(perfDisabled)) { + String key = String.format("SYSTEM\\CurrentControlSet\\Services\\%s\\Performance", service); + String value = "Disable Performance Counters"; + // If disabled in registry, log warning and return + if (Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, key, value) + && Advapi32Util.registryGetIntValue(WinReg.HKEY_LOCAL_MACHINE, key, value) > 0) { + Logger.warn("{} counters are disabled and won't return data: {}\\\\{}\\\\{} > 0.", service, + "HKEY_LOCAL_MACHINE", key, value); + return true; + } + return false; + } + // If not null or empty, parse as boolean + return Boolean.parseBoolean(perfDisabled); + } + +} diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PhysicalDisk.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PhysicalDisk.java index 0c57895c15..ce1157076a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PhysicalDisk.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/PhysicalDisk.java @@ -30,6 +30,7 @@ import org.aoju.bus.health.windows.PerfCounterQuery; import org.aoju.bus.health.windows.PerfCounterWildcardQuery; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -37,23 +38,23 @@ * Utility to query PhysicalDisk performance counter * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class PhysicalDisk { - private static final String PHYSICAL_DISK = "PhysicalDisk"; - private static final String WIN32_PERF_RAW_DATA_PERF_DISK_PHYSICAL_DISK_WHERE_NAME_NOT_TOTAL = "Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE Name!=\"_Total\""; - /** * Returns physical disk performance counters. * * @return Performance Counters for physical disks. */ public static Pair, Map>> queryDiskCounters() { - return PerfCounterWildcardQuery.queryInstancesAndValues(PhysicalDiskProperty.class, PHYSICAL_DISK, - WIN32_PERF_RAW_DATA_PERF_DISK_PHYSICAL_DISK_WHERE_NAME_NOT_TOTAL); + if (PerfmonDisabled.PERF_DISK_DISABLED) { + return Pair.of(Collections.emptyList(), Collections.emptyMap()); + } + return PerfCounterWildcardQuery.queryInstancesAndValues(PhysicalDiskProperty.class, PerfmonConsts.PHYSICAL_DISK, + PerfmonConsts.WIN32_PERF_RAW_DATA_PERF_DISK_PHYSICAL_DISK_WHERE_NAME_NOT_TOTAL); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessInformation.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessInformation.java index 49823c0dc6..c5793c8e38 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessInformation.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessInformation.java @@ -30,6 +30,7 @@ import org.aoju.bus.health.windows.PerfCounterQuery; import org.aoju.bus.health.windows.PerfCounterWildcardQuery; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -37,25 +38,23 @@ * Utility to query Process Information performance counter * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ProcessInformation { - private static final String WIN32_PERFPROC_PROCESS = "Win32_PerfRawData_PerfProc_Process"; - private static final String PROCESS = "Process"; - private static final String WIN32_PERFPROC_PROCESS_WHERE_NOT_NAME_LIKE_TOTAL = WIN32_PERFPROC_PROCESS - + " WHERE NOT Name LIKE \"%_Total\""; - /** * Returns process counters. * * @return Process counters for each process. */ public static Pair, Map>> queryProcessCounters() { - return PerfCounterWildcardQuery.queryInstancesAndValues(ProcessPerformanceProperty.class, PROCESS, - WIN32_PERFPROC_PROCESS_WHERE_NOT_NAME_LIKE_TOTAL); + if (PerfmonDisabled.PERF_PROC_DISABLED) { + return Pair.of(Collections.emptyList(), Collections.emptyMap()); + } + return PerfCounterWildcardQuery.queryInstancesAndValues(ProcessPerformanceProperty.class, PerfmonConsts.PROCESS, + PerfmonConsts.WIN32_PERFPROC_PROCESS_WHERE_NOT_NAME_LIKE_TOTAL); } /** @@ -64,8 +63,11 @@ public static Pair, Map>> qu * @return Process handle counters for each process. */ public static Pair, Map>> queryHandles() { - return PerfCounterWildcardQuery.queryInstancesAndValues(HandleCountProperty.class, PROCESS, - WIN32_PERFPROC_PROCESS); + if (PerfmonDisabled.PERF_PROC_DISABLED) { + return Pair.of(Collections.emptyList(), Collections.emptyMap()); + } + return PerfCounterWildcardQuery.queryInstancesAndValues(HandleCountProperty.class, PerfmonConsts.PROCESS, + PerfmonConsts.WIN32_PERFPROC_PROCESS); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessorInformation.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessorInformation.java index 3453d39141..26903d1e3b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessorInformation.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ProcessorInformation.java @@ -28,10 +28,10 @@ import com.sun.jna.platform.win32.VersionHelpers; import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.core.lang.tuple.Pair; -import org.aoju.bus.health.Config; import org.aoju.bus.health.windows.PerfCounterQuery; import org.aoju.bus.health.windows.PerfCounterWildcardQuery; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -39,25 +39,16 @@ * Utility to query Processor performance counter * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ProcessorInformation { - public static final boolean USE_CPU_UTILITY = VersionHelpers.IsWindows8OrGreater() - && Config.get(Config.OS_WINDOWS_CPU_UTILITY, false); - private static final String PROCESSOR = "Processor"; - private static final String PROCESSOR_INFORMATION = "Processor Information"; - // For Win7+ ... NAME field includes NUMA nodes - private static final String WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL = "Win32_PerfRawData_Counters_ProcessorInformation WHERE NOT Name LIKE \"%_Total\""; - // For Vista- ... Older systems just have processor # - private static final String WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_NOT_TOTAL = "Win32_PerfRawData_PerfOS_Processor WHERE Name!=\"_Total\""; - private static final String WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_TOTAL = "Win32_PerfRawData_PerfOS_Processor WHERE Name=\"_Total\""; private static final boolean IS_WIN7_OR_GREATER = VersionHelpers.IsWindows7OrGreater(); - private static final Pair, Map>> INITIAL_CAPACITY_TICKS = USE_CPU_UTILITY - ? queryProcessorCapacityCounters() - : null; + + private ProcessorInformation() { + } /** * Returns processor performance counters. @@ -65,10 +56,13 @@ public final class ProcessorInformation { * @return Performance Counters for processors. */ public static Pair, Map>> queryProcessorCounters() { + if (PerfmonDisabled.PERF_OS_DISABLED) { + return Pair.of(Collections.emptyList(), Collections.emptyMap()); + } return IS_WIN7_OR_GREATER ? PerfCounterWildcardQuery.queryInstancesAndValues(ProcessorTickCountProperty.class, - PROCESSOR_INFORMATION, WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL) - : PerfCounterWildcardQuery.queryInstancesAndValues(ProcessorTickCountProperty.class, PROCESSOR, - WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_NOT_TOTAL); + PerfmonConsts.PROCESSOR_INFORMATION, PerfmonConsts.WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL) + : PerfCounterWildcardQuery.queryInstancesAndValues(ProcessorTickCountProperty.class, PerfmonConsts.PROCESSOR, + PerfmonConsts.WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_NOT_TOTAL); } /** @@ -76,21 +70,12 @@ public static Pair, Map>> qu * * @return Performance Counters for processor capacity. */ - public static Pair, Map>> queryProcessorCapacityCounters() { - if (!USE_CPU_UTILITY) { - return null; + public static Pair, Map>> queryProcessorCapacityCounters() { + if (PerfmonDisabled.PERF_OS_DISABLED) { + return Pair.of(Collections.emptyList(), Collections.emptyMap()); } - return PerfCounterWildcardQuery.queryInstancesAndValues(ProcessorCapacityTickCountProperty.class, - PROCESSOR_INFORMATION, WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL); - } - - /** - * Returns initial processor capacity performance counters. - * - * @return initial Performance Counters for processor capacity. - */ - public static Pair, Map>> queryInitialProcessorCapacityCounters() { - return INITIAL_CAPACITY_TICKS; + return PerfCounterWildcardQuery.queryInstancesAndValues(ProcessorUtilityTickCountProperty.class, + PerfmonConsts.PROCESSOR_INFORMATION, PerfmonConsts.WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL); } /** @@ -99,8 +84,11 @@ public static Pair, Map queryInterruptCounters() { - return PerfCounterQuery.queryValues(InterruptsProperty.class, PROCESSOR, - WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_TOTAL); + if (PerfmonDisabled.PERF_OS_DISABLED) { + return Collections.emptyMap(); + } + return PerfCounterQuery.queryValues(InterruptsProperty.class, PerfmonConsts.PROCESSOR, + PerfmonConsts.WIN32_PERF_RAW_DATA_PERF_OS_PROCESSOR_WHERE_NAME_TOTAL); } /** @@ -109,8 +97,11 @@ public static Map queryInterruptCounters() { * @return Processor frequency counter for each processor. */ public static Pair, Map>> queryFrequencyCounters() { - return PerfCounterWildcardQuery.queryInstancesAndValues(ProcessorFrequencyProperty.class, PROCESSOR_INFORMATION, - WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL); + if (PerfmonDisabled.PERF_OS_DISABLED) { + return Pair.of(Collections.emptyList(), Collections.emptyMap()); + } + return PerfCounterWildcardQuery.queryInstancesAndValues(ProcessorFrequencyProperty.class, PerfmonConsts.PROCESSOR_INFORMATION, + PerfmonConsts.WIN32_PERF_RAW_DATA_COUNTERS_PROCESSOR_INFORMATION_WHERE_NOT_NAME_LIKE_TOTAL); } /** @@ -138,34 +129,6 @@ public String getCounter() { } } - /** - * Processor performance counters including utility counters - */ - public enum ProcessorCapacityTickCountProperty implements PerfCounterWildcardQuery.PdhCounterWildcardProperty { - // First element defines WMI instance name field and PDH instance filter - NAME(PerfCounterQuery.NOT_TOTAL_INSTANCES), - // Remaining elements define counters - PERCENTDPCTIME("% DPC Time"), // - PERCENTINTERRUPTTIME("% Interrupt Time"), // - PERCENTPRIVILEGEDTIME("% Privileged Time"), // - PERCENTPROCESSORTIME("% Processor Time"), // - PERCENTPRIVILEGEDUTILITY("% Privileged Utility"), // - PERCENTPROCESSORUTILITY("% Processor Utility"), // - PERCENTPROCESSORUTILITY_BASE("% Processor Utility_Base"), // - PERCENTUSERTIME("% User Time"); - - private final String counter; - - ProcessorCapacityTickCountProperty(String counter) { - this.counter = counter; - } - - @Override - public String getCounter() { - return counter; - } - } - /** * System interrupts counters */ @@ -212,4 +175,35 @@ public String getCounter() { } } + /** + * Processor performance counters including utility counters + */ + public enum ProcessorUtilityTickCountProperty implements PerfCounterWildcardQuery.PdhCounterWildcardProperty { + // First element defines WMI instance name field and PDH instance filter + NAME(PerfCounterQuery.NOT_TOTAL_INSTANCES), + // Remaining elements define counters + PERCENTDPCTIME("% DPC Time"), // + PERCENTINTERRUPTTIME("% Interrupt Time"), // + PERCENTPRIVILEGEDTIME("% Privileged Time"), // + PERCENTPROCESSORTIME("% Processor Time"), // + // The above 3 counters are 100ns base type + // For PDH accessible as secondary counter in any of them + TIMESTAMP_SYS100NS("% Processor Time_Base"), // + PERCENTPRIVILEGEDUTILITY("% Privileged Utility"), // + PERCENTPROCESSORUTILITY("% Processor Utility"), // + PERCENTPROCESSORUTILITY_BASE("% Processor Utility_Base"), // + PERCENTUSERTIME("% User Time"); + + private final String counter; + + ProcessorUtilityTickCountProperty(String counter) { + this.counter = counter; + } + + @Override + public String getCounter() { + return counter; + } + } + } diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/SystemInformation.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/SystemInformation.java index b90b974875..8399cb2e18 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/SystemInformation.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/SystemInformation.java @@ -28,20 +28,19 @@ import org.aoju.bus.core.annotation.ThreadSafe; import org.aoju.bus.health.windows.PerfCounterQuery; +import java.util.Collections; import java.util.Map; /** * Utility to query System performance counter * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SystemInformation { - private static final String SYSTEM = "System"; - private static final String WIN32_PERF_RAW_DATA_PERF_OS_SYSTEM = "Win32_PerfRawData_PerfOS_System"; /** * Returns system context switch counters. @@ -49,7 +48,10 @@ public final class SystemInformation { * @return Context switches counter for the total of all processors. */ public static Map queryContextSwitchCounters() { - return PerfCounterQuery.queryValues(ContextSwitchProperty.class, SYSTEM, WIN32_PERF_RAW_DATA_PERF_OS_SYSTEM); + if (PerfmonDisabled.PERF_OS_DISABLED) { + return Collections.emptyMap(); + } + return PerfCounterQuery.queryValues(ContextSwitchProperty.class, PerfmonConsts.SYSTEM, PerfmonConsts.WIN32_PERF_RAW_DATA_PERF_OS_SYSTEM); } /** diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ThreadInformation.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ThreadInformation.java index 105a4c658c..223767b647 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ThreadInformation.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/ThreadInformation.java @@ -30,6 +30,7 @@ import org.aoju.bus.health.windows.PerfCounterQuery; import org.aoju.bus.health.windows.PerfCounterWildcardQuery; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -37,23 +38,23 @@ * Utility to query Thread Information performance counter * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ThreadInformation { - private static final String THREAD = "Thread"; - private static final String WIN32_PERF_RAW_DATA_PERF_PROC_THREAD = "Win32_PerfRawData_PerfProc_Thread WHERE NOT Name LIKE \"%_Total\""; - /** * Returns thread counters. * * @return Thread counters for each thread. */ public static Pair, Map>> queryThreadCounters() { - return PerfCounterWildcardQuery.queryInstancesAndValues(ThreadPerformanceProperty.class, THREAD, - WIN32_PERF_RAW_DATA_PERF_PROC_THREAD); + if (PerfmonDisabled.PERF_PROC_DISABLED) { + return Pair.of(Collections.emptyList(), Collections.emptyMap()); + } + return PerfCounterWildcardQuery.queryInstancesAndValues(ThreadPerformanceProperty.class, PerfmonConsts.THREAD, + PerfmonConsts.WIN32_PERF_RAW_DATA_PERF_PROC_THREAD_WHERE_NOT_NAME_LIKE_TOTAL); } /** @@ -63,15 +64,15 @@ public enum ThreadPerformanceProperty implements PerfCounterWildcardQuery.PdhCou // First element defines WMI instance name field and PDH instance filter NAME(PerfCounterQuery.NOT_TOTAL_INSTANCES), // Remaining elements define counters - PERCENTUSERTIME("% User Time"), - PERCENTPRIVILEGEDTIME("% Privileged Time"), - ELAPSEDTIME("Elapsed Time"), - PRIORITYCURRENT("Priority Current"), - STARTADDRESS("Start Address"), - THREADSTATE("Thread State"), - THREADWAITREASON("Thread Wait Reason"), - IDPROCESS("ID Process"), - IDTHREAD("ID Thread"), + PERCENTUSERTIME("% User Time"), // + PERCENTPRIVILEGEDTIME("% Privileged Time"), // + ELAPSEDTIME("Elapsed Time"), // + PRIORITYCURRENT("Priority Current"), // + STARTADDRESS("Start Address"), // + THREADSTATE("Thread State"), // + THREADWAITREASON("Thread Wait Reason"), // 5 is SUSPENDED + IDPROCESS("ID Process"), // + IDTHREAD("ID Thread"), // CONTEXTSWITCHESPERSEC("Context Switches/sec"); private final String counter; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/package-info.java index ecdebf7860..71ecab6a87 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/perfmon/package-info.java @@ -3,7 +3,7 @@ * counter tables) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.windows.drivers.perfmon; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyPerformanceDataUtil.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyPerformanceDataUtil.java index ad6e943323..6d8ad277da 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyPerformanceDataUtil.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyPerformanceDataUtil.java @@ -42,8 +42,8 @@ * Utility to read HKEY_PERFORMANCE_DATA information. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class HkeyPerformanceDataUtil { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyUserData.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyUserData.java index 980916939c..5503fa4455 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyUserData.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/HkeyUserData.java @@ -43,8 +43,8 @@ * Utility to read session data from HKEY_USERS * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class HkeyUserData { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/NetSessionData.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/NetSessionData.java index 460ac44a13..25107debc7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/NetSessionData.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/NetSessionData.java @@ -41,8 +41,8 @@ * backup from Performance Counters or WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class NetSessionData { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessPerformanceData.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessPerformanceData.java index 3011a0c076..e48dae1813 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessPerformanceData.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessPerformanceData.java @@ -43,8 +43,8 @@ * backup from Performance Counters or WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ProcessPerformanceData { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessWtsData.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessWtsData.java index 80ffde67de..fd5a294792 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessWtsData.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ProcessWtsData.java @@ -48,8 +48,8 @@ * backup from Performance Counters or WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ProcessWtsData { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/SessionWtsData.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/SessionWtsData.java index b63322b2bd..a6e1b12ad6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/SessionWtsData.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/SessionWtsData.java @@ -50,8 +50,8 @@ * backup from Performance Counters or WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class SessionWtsData { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ThreadPerformanceData.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ThreadPerformanceData.java index 5be928cd1d..129554531e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ThreadPerformanceData.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/ThreadPerformanceData.java @@ -42,8 +42,8 @@ * backup from Performance Counters or WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class ThreadPerformanceData { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/package-info.java index 66d4ffaaf2..e6ec1451b7 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/registry/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query data in Windows Registry * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.windows.drivers.registry; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSAcpiThermalZoneTemperature.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSAcpiThermalZoneTemperature.java index 40060b01e9..059dbe4059 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSAcpiThermalZoneTemperature.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSAcpiThermalZoneTemperature.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code MSAcpi_ThermalZoneTemperature} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class MSAcpiThermalZoneTemperature { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSFTStorage.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSFTStorage.java index 20bae7222e..75c9f35517 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSFTStorage.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/MSFTStorage.java @@ -35,8 +35,8 @@ * Pools * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class MSFTStorage { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmHardware.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmHardware.java index 218ea1ddfd..43717cf95e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmHardware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmHardware.java @@ -35,8 +35,8 @@ * Utility to query Open Hardware Monitor WMI data for Hardware * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class OhmHardware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmSensor.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmSensor.java index 5f76bb95a5..b2b5cca02d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmSensor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/OhmSensor.java @@ -35,8 +35,8 @@ * Utility to query Open Hardware Monitor WMI data for Sensors * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class OhmSensor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32BaseBoard.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32BaseBoard.java index 65d0b2f758..b6faa18266 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32BaseBoard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32BaseBoard.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_BaseBoard} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32BaseBoard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Bios.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Bios.java index 586a65ec30..2861c99a7d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Bios.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Bios.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_BIOS} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32Bios { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystem.java index ab6eaa64ef..1d2b86103c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystem.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_ComputerSystem} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32ComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystemProduct.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystemProduct.java index bdd44decec..00ff925029 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystemProduct.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ComputerSystemProduct.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_ComputerSystemProduct} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32ComputerSystemProduct { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDrive.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDrive.java index 3422f8c107..8c18be6957 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDrive.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDrive.java @@ -34,8 +34,8 @@ * Utility to query WMI class {@code Win32_DiskDrive} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32DiskDrive { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDriveToDiskPartition.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDriveToDiskPartition.java index 0a2a053773..8045e0dbb0 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDriveToDiskPartition.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskDriveToDiskPartition.java @@ -34,8 +34,8 @@ * Utility to query WMI class {@code Win32_DiskDriveToDiskPartition} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32DiskDriveToDiskPartition { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskPartition.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskPartition.java index fb7d7a6cd9..7b930ba85e 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskPartition.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32DiskPartition.java @@ -34,8 +34,8 @@ * Utility to query WMI class {@code Win32_DiskPartition} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32DiskPartition { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Fan.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Fan.java index 42044d4117..455716f4bf 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Fan.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Fan.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_Fan} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32Fan { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDisk.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDisk.java index 322618fd46..cf7b5deb37 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDisk.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDisk.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_LogicalDisk} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32LogicalDisk { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDiskToPartition.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDiskToPartition.java index c1242a0897..7a7bd78f7d 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDiskToPartition.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32LogicalDiskToPartition.java @@ -34,8 +34,8 @@ * Utility to query WMI class {@code Win32_LogicalDiskToPartition} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32LogicalDiskToPartition { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32OperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32OperatingSystem.java index 6f83044b63..858ab73635 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32OperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32OperatingSystem.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_OperatingSystem} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32OperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32PhysicalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32PhysicalMemory.java index 28c87f15e7..a5b95b71fd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32PhysicalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32PhysicalMemory.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_PhysicalMemory} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32PhysicalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Process.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Process.java index d67721f60a..9f372e9aab 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Process.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Process.java @@ -39,8 +39,8 @@ * Utility to query WMI class {@code Win32_Process} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32Process { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ProcessCached.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ProcessCached.java index 5c6f81fd3d..b5f5898295 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ProcessCached.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32ProcessCached.java @@ -41,8 +41,8 @@ * Utility to query WMI class {@code Win32_Process} using cache * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32ProcessCached { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Processor.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Processor.java index dcac9debfb..f7029770fc 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Processor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32Processor.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_Processor} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32Processor { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32VideoController.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32VideoController.java index 299619ccfd..734dd71d26 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32VideoController.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/Win32VideoController.java @@ -36,8 +36,8 @@ * Utility to query WMI class {@code Win32_VideoController} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class Win32VideoController { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/package-info.java index 721e60e9cc..8ddadec417 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/drivers/wmi/package-info.java @@ -2,7 +2,7 @@ * Provides functions to query properties in WMI classes * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.windows.drivers.wmi; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsBaseboard.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsBaseboard.java index 3946e257d5..1842208f8a 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsBaseboard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsBaseboard.java @@ -41,8 +41,8 @@ * Baseboard data obtained from WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class WindowsBaseboard extends AbstractBaseboard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsCentralProcessor.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsCentralProcessor.java index 589d3889ed..c01ed923d6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsCentralProcessor.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsCentralProcessor.java @@ -34,8 +34,9 @@ import org.aoju.bus.core.lang.RegEx; import org.aoju.bus.core.lang.tuple.Pair; import org.aoju.bus.health.Builder; +import org.aoju.bus.health.Config; +import org.aoju.bus.health.Memoize; import org.aoju.bus.health.builtin.hardware.AbstractCentralProcessor; -import org.aoju.bus.health.builtin.hardware.CentralProcessor; import org.aoju.bus.health.windows.WmiKit; import org.aoju.bus.health.windows.drivers.LogicalProcessorInformation; import org.aoju.bus.health.windows.drivers.perfmon.ProcessorInformation; @@ -47,68 +48,36 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; /** * A CPU, representing all of a system's processors. It may contain multiple * individual Physical and Logical processors. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class WindowsCentralProcessor extends AbstractCentralProcessor { + // Whether to match task manager using Processor Utility ticks + private static final boolean USE_CPU_UTILITY = VersionHelpers.IsWindows8OrGreater() + && Config.get(Config.OS_WINDOWS_CPU_UTILITY, false); + // This tick query is memoized to enforce a minimum elapsed time for determining + // the capacity base multiplier + private final Supplier, Map>>> processorUtilityCounters = USE_CPU_UTILITY + ? Memoize.memoize(WindowsCentralProcessor::queryProcessorUtilityCounters, TimeUnit.MILLISECONDS.toNanos(300L)) + : null; // populated by initProcessorCounts called by the parent constructor private Map numaNodeProcToLogicalProcMap; - - // Stores first set of ticks for cpu adjustment - private long[] systicks = null; - private long[] idleticks = null; - private long[] elapsedticks = null; - private long[] privticks = null; - private long[] procticks = null; - private long[] baseticks = null; - - WindowsCentralProcessor() { - super(); - if (ProcessorInformation.USE_CPU_UTILITY) { - Pair, Map>> initialTicks = ProcessorInformation - .queryInitialProcessorCapacityCounters(); - List instances = initialTicks.getLeft(); - Map> valueMap = initialTicks.getRight(); - List systemList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPRIVILEGEDTIME); - List userList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTUSERTIME); - // % Processor Time is actually Idle time - List idleList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPROCESSORTIME); - // Utility ticks, if configured - List systemUtility = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPRIVILEGEDUTILITY); - List processorUtility = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPROCESSORUTILITY); - List processorUtilityBase = valueMap - .get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPROCESSORUTILITY_BASE); - int ncpu = getLogicalProcessorCount(); - systicks = new long[ncpu]; - idleticks = new long[ncpu]; - elapsedticks = new long[ncpu]; - privticks = new long[ncpu]; - procticks = new long[ncpu]; - baseticks = new long[ncpu]; - - for (int p = 0; p < instances.size(); p++) { - int cpu = instances.get(p).contains(",") - ? numaNodeProcToLogicalProcMap.getOrDefault(instances.get(p), 0) - : Builder.parseIntOrDefault(instances.get(p), 0); - if (cpu < ncpu) { - systicks[cpu] = systemList.get(p); - idleticks[cpu] = idleList.get(p); - elapsedticks[cpu] = userList.get(p) + idleticks[cpu] + systicks[cpu]; - privticks[cpu] = systemUtility.get(p); - procticks[cpu] = processorUtility.get(p); - baseticks[cpu] = processorUtilityBase.get(p); - } - } - } - } + // Store the initial query and start the memoizer expiration + private Map> initialUtilityCounters = USE_CPU_UTILITY + ? processorUtilityCounters.get().getRight() + : null; + // Lazily initialized + private Long utilityBaseMultiplier = null; /** * Parses identifier string @@ -131,11 +100,15 @@ private static String parseIdentifier(String identifier, String key) { return ""; } + private static Pair, Map>> queryProcessorUtilityCounters() { + return ProcessorInformation.queryProcessorCapacityCounters(); + } + /** * Initializes Class variables */ @Override - protected CentralProcessor.ProcessorIdentifier queryProcessorId() { + protected ProcessorIdentifier queryProcessorId() { String cpuVendor = ""; String cpuName = ""; String cpuIdentifier = ""; @@ -183,14 +156,14 @@ protected CentralProcessor.ProcessorIdentifier queryProcessorId() { processorID = createProcessorID(cpuStepping, cpuModel, cpuFamily, cpu64bit ? new String[]{"ia64"} : new String[0]); } - return new CentralProcessor.ProcessorIdentifier(cpuVendor, cpuName, cpuFamily, cpuModel, cpuStepping, processorID, cpu64bit, + return new ProcessorIdentifier(cpuVendor, cpuName, cpuFamily, cpuModel, cpuStepping, processorID, cpu64bit, cpuVendorFreq); } @Override - protected Pair, List> initProcessorCounts() { + protected Pair, List> initProcessorCounts() { if (VersionHelpers.IsWindows7OrGreater()) { - Pair, List> procs = LogicalProcessorInformation + Pair, List> procs = LogicalProcessorInformation .getLogicalProcessorInformationEx(); // Save numaNode,Processor lookup for future PerfCounter instance lookup // The processor number is based on the Processor Group, so we keep a separate @@ -200,7 +173,7 @@ protected Pair, List(); - for (CentralProcessor.LogicalProcessor logProc : procs.getLeft()) { + for (LogicalProcessor logProc : procs.getLeft()) { int node = logProc.getNumaNode(); // This list is grouped by NUMA node so a change in node will reset this counter if (node != curNode) { @@ -215,25 +188,6 @@ protected Pair, List 3) { + throw new IllegalArgumentException("Must include from one to three elements."); + } + double[] average = new double[nelem]; + // Windows doesn't have load average + for (int i = 0; i < average.length; i++) { + average[i] = -1; + } + return average; + } + /** * Call CallNTPowerInformation for Processor information and return an array of * the specified index * - * @param fieldIndex The field, in order as defined in the - * {@link PowrProf} structure. + * @param fieldIndex The field, in order as defined in the structure. * @return The array of values. */ private long[] queryNTPower(int fieldIndex) { @@ -280,7 +265,7 @@ private long[] queryNTPower(int fieldIndex) { long[] freqs = new long[getLogicalProcessorCount()]; int bufferSize = ppi.size() * freqs.length; Memory mem = new Memory(bufferSize); - if (0 != org.aoju.bus.health.windows.PowrProf.INSTANCE.CallNtPowerInformation(POWER_INFORMATION_LEVEL.ProcessorInformation, null, 0, mem, + if (0 != PowrProf.INSTANCE.CallNtPowerInformation(POWER_INFORMATION_LEVEL.ProcessorInformation, null, 0, mem, bufferSize)) { Logger.error("Unable to get Processor Information"); Arrays.fill(freqs, -1L); @@ -299,45 +284,52 @@ private long[] queryNTPower(int fieldIndex) { return freqs; } - @Override - public double[] getSystemLoadAverage(int nelem) { - if (nelem < 1 || nelem > 3) { - throw new IllegalArgumentException("Must include from one to three elements."); - } - double[] average = new double[nelem]; - // Windows doesn't have load average - for (int i = 0; i < average.length; i++) { - average[i] = -1; - } - return average; - } - @Override public long[][] queryProcessorCpuLoadTicks() { + // These are used in all cases List instances; List systemList; List userList; List irqList; List softIrqList; List idleList; + // These are only used with USE_CPU_UTILITY + List baseList = null; List systemUtility = null; List processorUtility = null; List processorUtilityBase = null; - if (ProcessorInformation.USE_CPU_UTILITY) { - Pair, Map>> instanceValuePair = ProcessorInformation - .queryProcessorCapacityCounters(); + List initSystemList = null; + List initUserList = null; + List initBase = null; + List initSystemUtility = null; + List initProcessorUtility = null; + List initProcessorUtilityBase = null; + if (USE_CPU_UTILITY) { + Pair, Map>> instanceValuePair = processorUtilityCounters + .get(); instances = instanceValuePair.getLeft(); - Map> valueMap = instanceValuePair.getRight(); - systemList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPRIVILEGEDTIME); - userList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTUSERTIME); - irqList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTINTERRUPTTIME); - softIrqList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTDPCTIME); + Map> valueMap = instanceValuePair.getRight(); + systemList = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPRIVILEGEDTIME); + userList = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTUSERTIME); + irqList = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTINTERRUPTTIME); + softIrqList = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTDPCTIME); // % Processor Time is actually Idle time - idleList = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPROCESSORTIME); + idleList = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPROCESSORTIME); + baseList = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.TIMESTAMP_SYS100NS); + // Utility ticks, if configured + systemUtility = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPRIVILEGEDUTILITY); + processorUtility = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPROCESSORUTILITY); + processorUtilityBase = valueMap.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPROCESSORUTILITY_BASE); + + initSystemList = initialUtilityCounters.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPRIVILEGEDTIME); + initUserList = initialUtilityCounters.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTUSERTIME); + initBase = initialUtilityCounters.get(ProcessorInformation.ProcessorUtilityTickCountProperty.TIMESTAMP_SYS100NS); // Utility ticks, if configured - systemUtility = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPRIVILEGEDUTILITY); - processorUtility = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPROCESSORUTILITY); - processorUtilityBase = valueMap.get(ProcessorInformation.ProcessorCapacityTickCountProperty.PERCENTPROCESSORUTILITY_BASE); + initSystemUtility = initialUtilityCounters.get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPRIVILEGEDUTILITY); + initProcessorUtility = initialUtilityCounters + .get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPROCESSORUTILITY); + initProcessorUtilityBase = initialUtilityCounters + .get(ProcessorInformation.ProcessorUtilityTickCountProperty.PERCENTPROCESSORUTILITY_BASE); } else { Pair, Map>> instanceValuePair = ProcessorInformation .queryProcessorCounters(); @@ -352,10 +344,13 @@ public long[][] queryProcessorCpuLoadTicks() { } int ncpu = getLogicalProcessorCount(); - long[][] ticks = new long[ncpu][CentralProcessor.TickType.values().length]; + long[][] ticks = new long[ncpu][TickType.values().length]; if (instances.isEmpty() || systemList == null || userList == null || irqList == null || softIrqList == null - || idleList == null || (ProcessorInformation.USE_CPU_UTILITY - && (systemUtility == null || processorUtility == null || processorUtilityBase == null))) { + || idleList == null + || (USE_CPU_UTILITY && (baseList == null || systemUtility == null || processorUtility == null + || processorUtilityBase == null || initSystemList == null || initUserList == null + || initBase == null || initSystemUtility == null || initProcessorUtility == null + || initProcessorUtilityBase == null))) { return ticks; } for (int p = 0; p < instances.size(); p++) { @@ -364,64 +359,105 @@ public long[][] queryProcessorCpuLoadTicks() { if (cpu >= ncpu) { continue; } - ticks[cpu][CentralProcessor.TickType.SYSTEM.getIndex()] = systemList.get(cpu); - ticks[cpu][CentralProcessor.TickType.USER.getIndex()] = userList.get(cpu); - ticks[cpu][CentralProcessor.TickType.IRQ.getIndex()] = irqList.get(cpu); - ticks[cpu][CentralProcessor.TickType.SOFTIRQ.getIndex()] = softIrqList.get(cpu); - ticks[cpu][CentralProcessor.TickType.IDLE.getIndex()] = idleList.get(cpu); + ticks[cpu][TickType.SYSTEM.getIndex()] = systemList.get(cpu); + ticks[cpu][TickType.USER.getIndex()] = userList.get(cpu); + ticks[cpu][TickType.IRQ.getIndex()] = irqList.get(cpu); + ticks[cpu][TickType.SOFTIRQ.getIndex()] = softIrqList.get(cpu); + ticks[cpu][TickType.IDLE.getIndex()] = idleList.get(cpu); // If users want Task Manager output we have to do some math to get there - if (ProcessorInformation.USE_CPU_UTILITY) { - // We'll be matching up percentage of elapsed total (base counter) - // System currently includes IRQ and SOFTIRQ. - long elapsedTime = ticks[cpu][CentralProcessor.TickType.SYSTEM.getIndex()] + ticks[cpu][CentralProcessor.TickType.USER.getIndex()] - + ticks[cpu][CentralProcessor.TickType.IDLE.getIndex()]; - + if (USE_CPU_UTILITY) { // We have two new capacity numbers, processor (all but idle) and system // (included in processor). To further complicate matters, these are in percent // units so must be divided by 100. - // Calculate Utility CPU usage since init - long deltaBase = processorUtilityBase.get(cpu) - baseticks[cpu]; + // The 100NS elapsed time counter is a constant multiple of the capacity base + // counter. By enforcing a memoized pause we'll either have zero elapsed time or + // sufficient delay to determine this offset reliably once and not have to + // recalculate it + + // Get elapsed time in 100NS + long deltaT = baseList.get(cpu) - initBase.get(cpu); + if (deltaT > 0) { + // Get elapsed utility base + long deltaBase = processorUtilityBase.get(cpu) - initProcessorUtilityBase.get(cpu); + // The ratio of elapsed clock to elapsed utility base is an integer constant. + // We can calculate a conversion factor to ensure a consistent application of + // the correction. Since Utility is in percent, this is actually 100x the true + // multiplier but is at the level where the integer calculation is precise + long multiplier = lazilyCalculateMultiplier(deltaBase, deltaT); - if (deltaBase > 0) { - long deltaProc = processorUtility.get(cpu) - procticks[cpu]; - long deltaSys = systemUtility.get(cpu) - privticks[cpu]; // subset of proc - double idlePercent = 1d - deltaProc / (100d * deltaBase); - double sysPercent = deltaSys / (100d * deltaBase); + // 0 multiplier means we just re-initialized ticks + if (multiplier > 0) { + // Get utility delta + long deltaProc = processorUtility.get(cpu) - initProcessorUtility.get(cpu); + long deltaSys = systemUtility.get(cpu) - initSystemUtility.get(cpu); - // Apply to elapsed ticks - long deltaT = elapsedTime - elapsedticks[cpu]; - long newIdle = idleticks[cpu] + Math.round(deltaT * idlePercent); - long newSystem = systicks[cpu] + Math.round(deltaT * sysPercent); + // Calculate new target ticks + // Correct for the 100x multiplier at the end + long newUser = initUserList.get(cpu) + multiplier * (deltaProc - deltaSys) / 100; + long newSystem = initSystemList.get(cpu) + multiplier * deltaSys / 100; - // Adjust idle to new, saving the delta - long delta = newIdle - ticks[cpu][CentralProcessor.TickType.IDLE.getIndex()]; - ticks[cpu][CentralProcessor.TickType.IDLE.getIndex()] = newIdle; - // Do the same for system - delta += newSystem - ticks[cpu][CentralProcessor.TickType.SYSTEM.getIndex()]; - ticks[cpu][CentralProcessor.TickType.SYSTEM.getIndex()] = newSystem; - // Subtract delta from user - ticks[cpu][CentralProcessor.TickType.USER.getIndex()] -= delta; + // Adjust user to new, saving the delta + long delta = newUser - ticks[cpu][TickType.USER.getIndex()]; + ticks[cpu][TickType.USER.getIndex()] = newUser; + // Do the same for system + delta += newSystem - ticks[cpu][TickType.SYSTEM.getIndex()]; + ticks[cpu][TickType.SYSTEM.getIndex()] = newSystem; + // Subtract delta from idle + ticks[cpu][TickType.IDLE.getIndex()] -= delta; + } } } - // Decrement IRQ to avoid double counting in the total array - ticks[cpu][CentralProcessor.TickType.SYSTEM.getIndex()] -= ticks[cpu][CentralProcessor.TickType.IRQ.getIndex()] - + ticks[cpu][CentralProcessor.TickType.SOFTIRQ.getIndex()]; + // Decrement IRQ from system to avoid double counting in the total array + ticks[cpu][TickType.SYSTEM.getIndex()] -= ticks[cpu][TickType.IRQ.getIndex()] + + ticks[cpu][TickType.SOFTIRQ.getIndex()]; // Raw value is cumulative 100NS-ticks // Divide by 10_000 to get milliseconds - ticks[cpu][CentralProcessor.TickType.SYSTEM.getIndex()] /= 10_000L; - ticks[cpu][CentralProcessor.TickType.USER.getIndex()] /= 10_000L; - ticks[cpu][CentralProcessor.TickType.IRQ.getIndex()] /= 10_000L; - ticks[cpu][CentralProcessor.TickType.SOFTIRQ.getIndex()] /= 10_000L; - ticks[cpu][CentralProcessor.TickType.IDLE.getIndex()] /= 10_000L; + ticks[cpu][TickType.SYSTEM.getIndex()] /= 10_000L; + ticks[cpu][TickType.USER.getIndex()] /= 10_000L; + ticks[cpu][TickType.IRQ.getIndex()] /= 10_000L; + ticks[cpu][TickType.SOFTIRQ.getIndex()] /= 10_000L; + ticks[cpu][TickType.IDLE.getIndex()] /= 10_000L; } // Skipping nice and IOWait, they'll stay 0 return ticks; } + /** + * Lazily calculate the capacity tick multiplier once. + * + * @param deltaBase The difference in base ticks. + * @param deltaT The difference in elapsed 100NS time + * @return The ratio of elapsed time to base ticks + */ + private synchronized long lazilyCalculateMultiplier(long deltaBase, long deltaT) { + if (utilityBaseMultiplier == null) { + // If too much time has elapsed from class instantiation, re-initialize the + // ticks and return without calculating. Approx 7 minutes for 100NS counter to + // exceed max unsigned int. + if (deltaT >> 32 > 0) { + initialUtilityCounters = processorUtilityCounters.get().getRight(); + return 0L; + } + // Base counter wraps approximately every 115 minutes + // If deltaBase is nonpositive assume it has wrapped + if (deltaBase <= 0) { + deltaBase += 1L << 32; + } + long multiplier = Math.round((double) deltaT / deltaBase); + // If not enough time has elapsed, return the value this one time but don't + // persist. 5000 ms = 50 million 100NS ticks + if (deltaT < 50_000_000L) { + return multiplier; + } + utilityBaseMultiplier = multiplier; + } + return utilityBaseMultiplier; + } + @Override public long queryContextSwitches() { return SystemInformation.queryContextSwitchCounters().getOrDefault(SystemInformation.ContextSwitchProperty.CONTEXTSWITCHESPERSEC, diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsComputerSystem.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsComputerSystem.java index d94dc7b671..8f87bd5d68 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsComputerSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsComputerSystem.java @@ -45,8 +45,8 @@ * Hardware data obtained from WMI. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class WindowsComputerSystem extends AbstractComputerSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsDisplay.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsDisplay.java index 04b2cff825..1dfbf9cccf 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsDisplay.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsDisplay.java @@ -42,8 +42,8 @@ * A Display * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class WindowsDisplay extends AbstractDisplay { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsFirmware.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsFirmware.java index d7f2c9225f..1948647ec4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsFirmware.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsFirmware.java @@ -41,8 +41,8 @@ * Firmware data obtained from WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class WindowsFirmware extends AbstractFirmware { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGlobalMemory.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGlobalMemory.java index e7f7a48e07..ff151daf71 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGlobalMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGlobalMemory.java @@ -48,8 +48,8 @@ * Memory obtained by Performance Info. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class WindowsGlobalMemory extends AbstractGlobalMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGraphicsCard.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGraphicsCard.java index 8bd3cc0a1b..3b5ee6a5d3 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGraphicsCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsGraphicsCard.java @@ -45,8 +45,8 @@ * Graphics Card obtained from WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class WindowsGraphicsCard extends AbstractGraphicsCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHWDiskStore.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHWDiskStore.java index e270938181..e8e07955c9 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHWDiskStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHWDiskStore.java @@ -52,8 +52,8 @@ * Windows hard disk implementation. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class WindowsHWDiskStore extends AbstractHWDiskStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHardwareAbstractionLayer.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHardwareAbstractionLayer.java index 0d438a13c0..9a86eaabe9 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHardwareAbstractionLayer.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsHardwareAbstractionLayer.java @@ -34,8 +34,8 @@ * WindowsHardwareAbstractionLayer class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class WindowsHardwareAbstractionLayer extends AbstractHardwareAbstractionLayer { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsLogicalVolumeGroup.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsLogicalVolumeGroup.java index 2861543de7..4e0182270c 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsLogicalVolumeGroup.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsLogicalVolumeGroup.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class WindowsLogicalVolumeGroup extends AbstractLogicalVolumeGroup { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsNetworkIF.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsNetworkIF.java index a58304696f..c7d75d29d4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsNetworkIF.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsNetworkIF.java @@ -44,8 +44,8 @@ * WindowsNetworks class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class WindowsNetworkIF extends AbstractNetworkIF { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsPowerSource.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsPowerSource.java index 352e8f5959..59deefad0b 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsPowerSource.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsPowerSource.java @@ -49,8 +49,8 @@ * A Power Source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public final class WindowsPowerSource extends AbstractPowerSource { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSensors.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSensors.java index 14b78c6ecb..fbfc88e6dd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSensors.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSensors.java @@ -40,8 +40,8 @@ * Sensors from WMI or Open Hardware Monitor * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class WindowsSensors extends AbstractSensors { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSoundCard.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSoundCard.java index 556ce7158a..41535acf20 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSoundCard.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsSoundCard.java @@ -40,8 +40,8 @@ * Sound Card data obtained from registry * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable final class WindowsSoundCard extends AbstractSoundCard { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsUsbDevice.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsUsbDevice.java index f894edaf9b..5212a12f06 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsUsbDevice.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsUsbDevice.java @@ -42,8 +42,8 @@ * Windows Usb Device * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Immutable public class WindowsUsbDevice extends AbstractUsbDevice { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsVirtualMemory.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsVirtualMemory.java index c3e4adca22..af6197d3ef 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsVirtualMemory.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/WindowsVirtualMemory.java @@ -44,8 +44,8 @@ * Memory obtained from WMI * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class WindowsVirtualMemory extends AbstractVirtualMemory { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/package-info.java index ed6af22506..a48f79bfe5 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/hardware/package-info.java @@ -3,7 +3,7 @@ * Processor on Windows systems * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.windows.hardware; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/windows/package-info.java index 989a774df1..3dd3e04dc4 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/package-info.java @@ -5,7 +5,7 @@ * into the JNA project. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.windows; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsFileSystem.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsFileSystem.java index e079b1569e..a892989402 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsFileSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsFileSystem.java @@ -52,8 +52,8 @@ * represented by a drive letter, e.g., "A:\" and "C:\" * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class WindowsFileSystem extends AbstractFileSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsInternetProtocolStats.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsInternetProtocolStats.java index 6661121483..8e68b1b3b6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsInternetProtocolStats.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsInternetProtocolStats.java @@ -46,8 +46,8 @@ * Internet Protocol Stats implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class WindowsInternetProtocolStats extends AbstractInternetProtocolStats { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsNetworkParams.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsNetworkParams.java index 4fa5cede63..7d3b8832bd 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsNetworkParams.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsNetworkParams.java @@ -48,8 +48,8 @@ * WindowsNetworkParams class. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe final class WindowsNetworkParams extends AbstractNetworkParams { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSFileStore.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSFileStore.java index 72e23a36a4..c053b00614 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSFileStore.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSFileStore.java @@ -35,8 +35,8 @@ * OSFileStore implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class WindowsOSFileStore extends AbstractOSFileStore { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSProcess.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSProcess.java index 6ab759ebc1..f6c423ab77 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSProcess.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSProcess.java @@ -66,8 +66,8 @@ * OSProcess implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class WindowsOSProcess extends AbstractOSProcess { @@ -90,7 +90,6 @@ public class WindowsOSProcess extends AbstractOSProcess { private String name; private final Supplier> userInfo = memoize(this::queryUserInfo); private String path; - private final Supplier commandLine = memoize(this::queryCommandLine); private int parentProcessID; private int threadCount; private int priority; @@ -99,6 +98,7 @@ public class WindowsOSProcess extends AbstractOSProcess { private long kernelTime; private long userTime; private long startTime; + private final Supplier commandLine = memoize(this::queryCommandLine); private final Supplier> args = memoize(this::queryArguments); private State state = INVALID; private long upTime; diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSSystemInfo.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSSystemInfo.java index f8c474d2f0..b2ef264ef3 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSSystemInfo.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSSystemInfo.java @@ -35,8 +35,8 @@ * Windows OS native system information. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WindowsOSSystemInfo { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSThread.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSThread.java index a8d1bd2572..2d44e52be6 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSThread.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOSThread.java @@ -41,8 +41,8 @@ * OSThread implementation * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class WindowsOSThread extends AbstractOSThread { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOperatingSystem.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOperatingSystem.java index 379d089b7d..1df608f927 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOperatingSystem.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/WindowsOperatingSystem.java @@ -67,8 +67,8 @@ * and marketed by Microsoft. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ThreadSafe public class WindowsOperatingSystem extends AbstractOperatingSystem { diff --git a/bus-health/src/main/java/org/aoju/bus/health/windows/software/package-info.java b/bus-health/src/main/java/org/aoju/bus/health/windows/software/package-info.java index e196618f72..efef451379 100644 --- a/bus-health/src/main/java/org/aoju/bus/health/windows/software/package-info.java +++ b/bus-health/src/main/java/org/aoju/bus/health/windows/software/package-info.java @@ -2,7 +2,7 @@ * Provides information about Software and OS on Windows * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.health.windows.software; diff --git a/bus-health/src/main/resources/META-INF/health/bus.health.properties b/bus-health/src/main/resources/META-INF/health/bus.health.properties index 53786b53d0..74f57b06b9 100644 --- a/bus-health/src/main/resources/META-INF/health/bus.health.properties +++ b/bus-health/src/main/resources/META-INF/health/bus.health.properties @@ -1,3 +1,11 @@ +# This properties file is automatically loaded at startup of the GlobalConfig +# class. The defaults below may be overwritten by either replacing this file +# with your own equivalent file on the class path, or programmatically using +# GlobalConfig.set(, ); +# +# The property names are included as constants in the GlobalConfig class for +# convenience. +# # Some containers enable alternate locations for the Linux /proc filesystem # to provide container-level output in preference to system-level output. # The /proc filesystem location @@ -41,6 +49,12 @@ bus.health.os.windows.procstate.suspended=false # at 100%) and will measure "work completed" rather than "processor time not idle". # In the case load exceeds 100%, it is possible for "idle" ticks to decrease, # i.e., the change between ticks would result in "negative idle time". +# +# Note that the base counter required for this calculation rolls over approximately +# every two hours. If your application remains idle for over an hour after +# instantiating the CentralProcessor object before polling for CPU usage, internal +# calculations may fail. Instantiating a new SystemInfo object before collecting +# ticks will mitigate these problems. bus.health.os.windows.cpu.utility=false # Whether to attempt to fetch Windows performance counter data for processes # and threads from HKEY_PERFORMANCE_DATA in the registry. Windows docs say @@ -54,6 +68,37 @@ bus.health.os.windows.cpu.utility=false # will skip the registry check and use the API-recommended (but slower) # performance counter API (or WMI as a backup). bus.health.os.windows.hkeyperfdata=true +# Whether a class of performance counters is disabled. It is possible to +# disable performance counters by changing registry values, which can improve +# overall OS performance (such as for gaming) if the counters aren't desired. +# +# When attempting to query counters, OSHI provides a (one time) log warning +# for the performance counter itself and a (each time) COM exception if the +# WMI table backing up the counter fails. The associated log messages can be +# confusing to users or developers of applications which depend on OSHI. +# +# If counters are either intentionally disabled, or the application depending +# on OSHI does not require any of the relevant performance counters, setting +# these values to true will skip querying these counters and return 0 values +# for the associated metrics. No log messages will be generated. +# +# If these values are not set at all, OSHI will query the registry to determine +# whether they are disabled and warn users if this is the case (this is the default). +# The associated Windows registry keys are at: +# HKLM\SYSTEM\CurrentControlSet\Services\PerfOS\Performance\Disable Performance Counters +# HKLM\SYSTEM\CurrentControlSet\Services\PerfProc\Performance\Disable Performance Counters +# HKLM\SYSTEM\CurrentControlSet\Services\PerfDisk\Performance\Disable Performance Counters +# where a value of 0 is not disabled and any other value disables counters. +# +# PerfOS counters used for CPU ticks, swap file usage, page swaps, context switches, interrupts +bus.os.windows.perfos.disabled= +# +# PerfProc counters used for process and thread priority, time, IO, memory usage +# (also see config for oshi.os.windows.hkeyperfdata) +bus.os.windows.perfproc.disabled= +# +# PerfDisk counters used for HWDiskStore reads/writes/queue length/xfer time +bus.os.windows.perfdisk.disabled= # On macOS, Linux, and Unix systems, the default getSessions() method on the # OperatingSystem interface uses native code (see {@code man getutxent}) that # is not thread safe. health's use of this code is synchronized and may be used diff --git a/bus-http/pom.xml b/bus-http/pom.xml index 1516efff8c..33a065673b 100755 --- a/bus-http/pom.xml +++ b/bus-http/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-http - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 @@ -64,7 +64,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -73,7 +73,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -107,7 +107,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -120,7 +120,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -134,7 +134,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-http/src/main/java/org/aoju/bus/http/Address.java b/bus-http/src/main/java/org/aoju/bus/http/Address.java index 4fa60e4f5f..7e85bf4f06 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Address.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Address.java @@ -47,8 +47,8 @@ * 共享相同的{@code Address}的HTTP请求也可能共享相同的{@link Connection} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Address { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Builder.java b/bus-http/src/main/java/org/aoju/bus/http/Builder.java index ad34278c9f..6ac3df722c 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Builder.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Builder.java @@ -60,8 +60,8 @@ * 实用方法工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Builder { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Callback.java b/bus-http/src/main/java/org/aoju/bus/http/Callback.java index 90fff9b6df..f481a8abdc 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Callback.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Callback.java @@ -33,8 +33,8 @@ * 异步回调信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Callback { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Cookie.java b/bus-http/src/main/java/org/aoju/bus/http/Cookie.java index 31bf367672..7453b5eb6b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Cookie.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Cookie.java @@ -38,8 +38,8 @@ * 这个类不支持cookies上的附加属性,比如Chromium的Priority=HIGH extension * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Cookie { diff --git a/bus-http/src/main/java/org/aoju/bus/http/DnsX.java b/bus-http/src/main/java/org/aoju/bus/http/DnsX.java index 01177dda57..a4bafe2982 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/DnsX.java +++ b/bus-http/src/main/java/org/aoju/bus/http/DnsX.java @@ -37,8 +37,8 @@ * 选择IPv6地址、选择IPv4地址或强制使用特定的已知IP地址 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DnsX { diff --git a/bus-http/src/main/java/org/aoju/bus/http/GiveCall.java b/bus-http/src/main/java/org/aoju/bus/http/GiveCall.java index 68f0956acf..3dacbf2aed 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/GiveCall.java +++ b/bus-http/src/main/java/org/aoju/bus/http/GiveCall.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface GiveCall extends Cancelable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Headers.java b/bus-http/src/main/java/org/aoju/bus/http/Headers.java index bb65a55ce0..c3641748e6 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Headers.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Headers.java @@ -38,8 +38,8 @@ * 这个类从值中删除空白。它从不返回带开头或结尾空白的值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Headers { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Httpd.java b/bus-http/src/main/java/org/aoju/bus/http/Httpd.java index ace75529e9..6b89dbe1b6 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Httpd.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Httpd.java @@ -67,8 +67,8 @@ * Httpd还为HTTP/2连接使用守护进程线程。如果它们保持空闲,就会自动退出 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Httpd implements Cloneable, NewCall.Factory, WebSocket.Factory { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Httpv.java b/bus-http/src/main/java/org/aoju/bus/http/Httpv.java index 3c07d10f3c..55a2efb0d3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Httpv.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Httpv.java @@ -48,8 +48,8 @@ * Httpv 客户端接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Httpv { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Httpx.java b/bus-http/src/main/java/org/aoju/bus/http/Httpx.java index b2eecab0d1..23ff187e57 100755 --- a/bus-http/src/main/java/org/aoju/bus/http/Httpx.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Httpx.java @@ -54,8 +54,8 @@ * 发送HTTP请求辅助类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Httpx { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Httpz.java b/bus-http/src/main/java/org/aoju/bus/http/Httpz.java index 0b263c9554..2ea19702eb 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Httpz.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Httpz.java @@ -36,8 +36,8 @@ * 发送HTTP请求辅助类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Httpz { diff --git a/bus-http/src/main/java/org/aoju/bus/http/NewCall.java b/bus-http/src/main/java/org/aoju/bus/http/NewCall.java index 5d55f6d6ca..b6a067888a 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/NewCall.java +++ b/bus-http/src/main/java/org/aoju/bus/http/NewCall.java @@ -35,8 +35,8 @@ * 由于此对象表示单个请求/响应对(流),因此不能执行两次. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface NewCall extends Cloneable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/OnBack.java b/bus-http/src/main/java/org/aoju/bus/http/OnBack.java index 410366ed2f..207d400146 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/OnBack.java +++ b/bus-http/src/main/java/org/aoju/bus/http/OnBack.java @@ -29,8 +29,8 @@ * 数据回调接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OnBack { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Process.java b/bus-http/src/main/java/org/aoju/bus/http/Process.java index 08c3d6b473..3b8a2f2805 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Process.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Process.java @@ -29,8 +29,8 @@ * 进度(上传或下载) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Process { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Protocol.java b/bus-http/src/main/java/org/aoju/bus/http/Protocol.java index 0c226441a9..6d0b87372f 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Protocol.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Protocol.java @@ -36,8 +36,8 @@ * Httpd使用协议这个词来标识HTTP消息是如何构造的 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Protocol { diff --git a/bus-http/src/main/java/org/aoju/bus/http/RealCall.java b/bus-http/src/main/java/org/aoju/bus/http/RealCall.java index 5cc6b50920..72b3250403 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/RealCall.java +++ b/bus-http/src/main/java/org/aoju/bus/http/RealCall.java @@ -54,8 +54,8 @@ * 实际调用准备执行的请求 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RealCall implements NewCall { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Request.java b/bus-http/src/main/java/org/aoju/bus/http/Request.java index 04d0597080..b78367dfb3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Request.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Request.java @@ -43,8 +43,8 @@ * 一个HTTP请求。如果该类的{@link #body}为空或自身为不可变,则该类的实例是不可变的. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Request { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Response.java b/bus-http/src/main/java/org/aoju/bus/http/Response.java index 9557938fed..6c5051209f 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Response.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Response.java @@ -46,8 +46,8 @@ * 响应体是一次性的值,可能只使用一次,然后关闭。所有其他属性都是不可变的. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Response implements Closeable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Results.java b/bus-http/src/main/java/org/aoju/bus/http/Results.java index 9ab02bd715..b7dad0e475 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Results.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Results.java @@ -38,8 +38,8 @@ * 执行结果 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Results { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Route.java b/bus-http/src/main/java/org/aoju/bus/http/Route.java index 576f90394f..b7618403bb 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Route.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Route.java @@ -34,8 +34,8 @@ * 每个路由都是这些选项的特定选择 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Route { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Settings.java b/bus-http/src/main/java/org/aoju/bus/http/Settings.java index f3cadc6b70..b101f51f0b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Settings.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Settings.java @@ -35,8 +35,8 @@ * 设置的作用域是{@link Http2Connection connection} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Settings { diff --git a/bus-http/src/main/java/org/aoju/bus/http/SoapX.java b/bus-http/src/main/java/org/aoju/bus/http/SoapX.java deleted file mode 100644 index 40f8279e5a..0000000000 --- a/bus-http/src/main/java/org/aoju/bus/http/SoapX.java +++ /dev/null @@ -1,758 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.http; - -import org.aoju.bus.core.lang.Header; -import org.aoju.bus.core.lang.Http; -import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.Symbol; -import org.aoju.bus.core.lang.exception.InstrumentException; -import org.aoju.bus.core.toolkit.*; -import org.aoju.bus.http.magic.HttpResponse; - -import javax.xml.XMLConstants; -import javax.xml.namespace.QName; -import javax.xml.soap.*; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * SOAP客户端 - * - *

- * 此对象用于构建一个SOAP消息,并通过HTTP接口发出消息内容。 - * SOAP消息本质上是一个XML文本,可以通过调用{@link #getMessage(boolean)} 方法获取消息体 - *

- * 使用方法: - * - *

- * SoapX client = SoapX.create(url)
- * .method(methodName, namespaceURI)
- * .charset(CharsetKit.CHARSET_GBK)
- * .param("param1", "XXX");
- *
- * String response = client.send(true);
- *
- * 
- * - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class SoapX { - - /** - * XML消息体的Content-Type - * soap1.1 : text/xml - * soap1.2 : application/soap+xml - * soap1.1与soap1.2区别: https://www.cnblogs.com/qlqwjy/p/7577147.html - */ - private static final String CONTENT_TYPE_SOAP11_TEXT_XML = "text/xml;charset="; - private static final String CONTENT_TYPE_SOAP12_SOAP_XML = "application/soap+xml;charset="; - /** - * 编码 - */ - private String charset = org.aoju.bus.core.lang.Charset.DEFAULT_UTF_8; - /** - * http版本 - */ - private String version = Http.HTTP_1_1; - /** - * Soap协议 - * soap1.1 : text/xml - * soap1.2 : application/soap+xml - */ - private Protocol protocol; - /** - * 请求的URL地址 - */ - private String url; - /** - * 应用于方法上的命名空间URI - */ - private String namespaceURI; - /** - * 消息工厂,用于创建消息 - */ - private MessageFactory factory; - /** - * SOAP消息 - */ - private SOAPMessage message; - /** - * 消息方法节点 - */ - private SOAPBodyElement methodEle; - /** - * 存储头信息 - */ - private Map headers = new HashMap<>(); - - /** - * 构造,默认使用soap1.1版本协议 - * - * @param url WS的URL地址 - */ - public SoapX(String url) { - this(url, Protocol.SOAP_1_1); - } - - /** - * 构造 - * - * @param url WS的URL地址 - * @param protocol 协议版本,见{@link Protocol} - */ - public SoapX(String url, Protocol protocol) { - this(url, protocol, null); - } - - /** - * 构造 - * - * @param url WS的URL地址 - * @param protocol 协议版本,见{@link Protocol} - * @param namespaceURI 方法上的命名空间URI - */ - public SoapX(String url, Protocol protocol, String namespaceURI) { - this.url = url; - this.namespaceURI = namespaceURI; - this.protocol = protocol; - // 创建消息工厂 - try { - this.factory = MessageFactory.newInstance(this.protocol.toString()); - // 根据消息工厂创建SoapMessage - this.message = factory.createMessage(); - } catch (SOAPException e) { - throw new InstrumentException(e); - } - } - - /** - * 创建SOAP客户端,默认使用soap1.1版本协议 - * - * @param url WS的URL地址 - * @return this - */ - public static SoapX create(String url) { - return new SoapX(url); - } - - /** - * 创建SOAP客户端 - * - * @param url WS的URL地址 - * @param protocol 协议,见{@link Protocol} - * @return this - */ - public static SoapX create(String url, Protocol protocol) { - return new SoapX(url, protocol); - } - - /** - * 创建SOAP客户端 - * - * @param url WS的URL地址 - * @param protocol 协议,见{@link Protocol} - * @param namespaceURI 方法上的命名空间URI - * @return this - */ - public static SoapX create(String url, Protocol protocol, String namespaceURI) { - return new SoapX(url, protocol, namespaceURI); - } - - /** - * 设置Webservice请求地址 - * - * @param url Webservice请求地址 - * @return this - */ - public SoapX url(String url) { - this.url = url; - return this; - } - - /** - * 设置编码 - * - * @param charset 编码 - * @return this - */ - public SoapX charset(String charset) { - if (null != charset) { - this.charset = charset; - } - try { - this.message.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, this.charset); - this.message.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true"); - } catch (SOAPException e) { - // ignore - } - - return this; - } - - /** - * 设置请求方法 - * 方法名自动识别前缀,前缀和方法名使用“:”分隔 - * 当识别到前缀后,自动添加xmlns属性,关联到默认的namespaceURI - * - * @param methodName 方法名 - * @return this - */ - public SoapX method(String methodName) { - return method(methodName, ObjectKit.defaultIfNull(this.namespaceURI, XMLConstants.NULL_NS_URI)); - } - - /** - * 设置请求方法 - * - * @param name 方法名及其命名空间 - * @return this - */ - public SoapX method(QName name) { - try { - this.methodEle = this.message.getSOAPBody().addBodyElement(name); - } catch (SOAPException e) { - throw new InstrumentException(e); - } - - return this; - } - - /** - * 设置请求方法 - * 方法名自动识别前缀,前缀和方法名使用':'分隔 - * 当识别到前缀后,自动添加xmlns属性,关联到传入的namespaceURI - * - * @param methodName 方法名(可有前缀也可无) - * @param namespaceURI 命名空间URI - * @return this - */ - public SoapX method(String methodName, String namespaceURI) { - final List methodNameList = StringKit.split(methodName, Symbol.C_COLON); - final QName qName; - if (2 == methodNameList.size()) { - qName = new QName(namespaceURI, methodNameList.get(1), methodNameList.get(0)); - } else { - qName = new QName(namespaceURI, methodName); - } - return method(qName); - } - - /** - * 设置请求方法 - * - * @param name 方法名及其命名空间 - * @param params 参数 - * @return this - */ - public SoapX method(Name name, Map params) { - return method(new QName(name.getURI(), name.getLocalName(), name.getPrefix()), params); - } - - /** - * 设置请求方法 - * - * @param name 方法名及其命名空间 - * @param params 参数 - * @return this - */ - public SoapX method(QName name, Map params) { - method(name); - final String prefix = name.getPrefix(); - final SOAPBodyElement methodEle = this.methodEle; - for (Map.Entry entry : MapKit.wrap(params)) { - param(methodEle, entry.getKey(), entry.getValue(), prefix); - } - return this; - } - - /** - * 设置请求方法 - * - * @param name 方法名及其命名空间 - * @param params 参数 - * @param useMethodPrefix 是否使用方法的命名空间前缀 - * @return this - */ - public SoapX method(Name name, Map params, boolean useMethodPrefix) { - return method(new QName(name.getURI(), name.getLocalName(), name.getPrefix()), params, useMethodPrefix); - } - - /** - * 设置请求方法 - * - * @param name 方法名及其命名空间 - * @param params 参数 - * @param useMethodPrefix 是否使用方法的命名空间前缀 - * @return this - */ - public SoapX method(QName name, Map params, boolean useMethodPrefix) { - method(name); - final String prefix = useMethodPrefix ? name.getPrefix() : null; - final SOAPBodyElement methodEle = this.methodEle; - for (Map.Entry entry : MapKit.wrap(params)) { - param(methodEle, entry.getKey(), entry.getValue(), prefix); - } - return this; - } - - /** - * 设置方法参数,使用方法的前缀 - * - * @param name 参数名 - * @param value 参数值,可以是字符串或Map或{@link SOAPElement} - * @return this - */ - public SoapX param(String name, Object value) { - return param(name, value, true); - } - - /** - * 设置方法参数 - * - * @param name 参数名 - * @param value 参数值,可以是字符串或Map或{@link SOAPElement} - * @param useMethodPrefix 是否使用方法的命名空间前缀 - * @return this - */ - public SoapX param(String name, Object value, boolean useMethodPrefix) { - param(this.methodEle, name, value, useMethodPrefix ? this.methodEle.getPrefix() : null); - return this; - } - - /** - * 批量设置参数,使用方法的前缀 - * - * @param params 参数列表 - * @return this - */ - public SoapX param(Map params) { - return param(params, true); - } - - /** - * 批量设置参数 - * - * @param params 参数列表 - * @param useMethodPrefix 是否使用方法的命名空间前缀 - * @return this - */ - public SoapX param(Map params, boolean useMethodPrefix) { - for (Map.Entry entry : MapKit.wrap(params)) { - param(entry.getKey(), entry.getValue(), useMethodPrefix); - } - return this; - } - - /** - * 设置方法参数 - * - * @param ele 方法节点 - * @param name 参数名 - * @param value 参数值 - * @param prefix 命名空间前缀, {@code null}表示不使用前缀 - * @return {@link SOAPElement}子节点 - */ - public SOAPElement param(SOAPElement ele, String name, Object value, String prefix) { - final SOAPElement childEle; - try { - if (StringKit.isNotBlank(prefix)) { - childEle = ele.addChildElement(name, prefix); - } else { - childEle = ele.addChildElement(name); - } - } catch (SOAPException e) { - throw new InstrumentException(e); - } - - if (null != value) { - if (value instanceof SOAPElement) { - // 单个子节点 - try { - ele.addChildElement((SOAPElement) value); - } catch (SOAPException e) { - throw new InstrumentException(e); - } - } else if (value instanceof Map) { - // 多个字节点 - Map.Entry entry; - for (Object obj : ((Map) value).entrySet()) { - entry = (Map.Entry) obj; - param(childEle, entry.getKey().toString(), entry.getValue(), prefix); - } - } else { - // 单个值 - childEle.setValue(value.toString()); - } - } - return childEle; - } - - /** - * 返回http版本 - * - * @return String - */ - public String version() { - return version; - } - - /** - * 设置http版本 - * - * @param version Http版本,{@link Http#HTTP_1_0},{@link Http#HTTP_1_1} - * @return this - */ - public SoapX version(String version) { - this.version = version; - return this; - } - - /** - * 设置一个header - * 如果覆盖模式,则替换之前的值,否则加入到值列表中 - * - * @param name Header名 - * @param value Header值 - * @param isOverride 是否覆盖已有值 - * @return this - */ - public SoapX headers(String name, String value, boolean isOverride) { - if (null != name && null != value) { - final String values = headers.get(name.trim()); - if (isOverride || StringKit.isEmpty(values)) { - headers.put(name.trim(), value); - } - } - return this; - } - - /** - * 获取headers - * - * @return Headers Map - */ - public Map headers() { - return Collections.unmodifiableMap(headers); - } - - /** - * 设置一个header - * 覆盖模式,则替换之前的值 - * - * @param name Header名 - * @param value Header值 - * @return this - */ - public SoapX headers(String name, String value) { - return headers(name, value, true); - } - - /** - * 设置请求头 - * - * @param headers 请求头 - * @param isOverride 是否覆盖已有头信息 - * @return this - */ - public SoapX headers(Map headers, boolean isOverride) { - if (CollKit.isEmpty(headers)) { - return this; - } - - for (Map.Entry entry : headers.entrySet()) { - this.headers(entry.getKey(), StringKit.nullToEmpty(entry.getValue()), isOverride); - } - return this; - } - - /** - * 新增请求头 - * 不覆盖原有请求头 - * - * @param headers 请求头 - * @return this - */ - public SoapX headers(Map headers) { - if (CollKit.isEmpty(headers)) { - return this; - } - - for (Map.Entry entry : headers.entrySet()) { - this.headers(entry.getKey(), StringKit.nullToEmpty(entry.getValue()), false); - } - return this; - } - - /** - * 增加SOAP头信息,方法返回{@link SOAPHeaderElement}可以设置具体属性和子节点 - * - * @param name 头信息标签名 - * @param actorURI 中间的消息接收者 - * @param roleUri Role的URI - * @param mustUnderstand 标题项对于要对其进行处理的接收者来说是强制的还是可选的 - * @param relay relay属性 - * @return {@link SOAPHeaderElement} - */ - public SOAPHeaderElement addSOAPHeader(QName name, String actorURI, String roleUri, Boolean mustUnderstand, Boolean relay) { - final SOAPHeaderElement ele = addSOAPHeader(name); - try { - if (StringKit.isNotBlank(roleUri)) { - ele.setRole(roleUri); - } - if (null != relay) { - ele.setRelay(relay); - } - } catch (SOAPException e) { - throw new InstrumentException(e); - } - - if (StringKit.isNotBlank(actorURI)) { - ele.setActor(actorURI); - } - if (null != mustUnderstand) { - ele.setMustUnderstand(mustUnderstand); - } - - return ele; - } - - /** - * 增加SOAP头信息,方法返回{@link SOAPHeaderElement}可以设置具体属性和子节点 - * - * @param localName 头节点名称 - * @return {@link SOAPHeaderElement} - */ - public SOAPHeaderElement addSOAPHeader(String localName) { - return addSOAPHeader(new QName(localName)); - } - - /** - * 增加SOAP头信息,方法返回{@link SOAPHeaderElement}可以设置具体属性和子节点 - * - * @param localName 头节点名称 - * @param value 头节点的值 - * @return {@link SOAPHeaderElement} - */ - public SOAPHeaderElement addSOAPHeader(String localName, String value) { - final SOAPHeaderElement soapHeaderElement = addSOAPHeader(localName); - soapHeaderElement.setTextContent(value); - return soapHeaderElement; - } - - /** - * 增加SOAP头信息,方法返回{@link SOAPHeaderElement}可以设置具体属性和子节点 - * - * @param name 头节点名称 - * @return {@link SOAPHeaderElement} - */ - public SOAPHeaderElement addSOAPHeader(QName name) { - SOAPHeaderElement ele; - try { - ele = this.message.getSOAPHeader().addHeaderElement(name); - } catch (SOAPException e) { - throw new InstrumentException(e); - } - return ele; - } - - /** - * {@link SOAPMessage} 转为字符串 - * - * @param message SOAP消息对象 - * @param format 是否格式化 - * @param charset 编码 - * @return SOAP XML字符串 - */ - public String toString(SOAPMessage message, boolean format, String charset) { - final ByteArrayOutputStream out = new ByteArrayOutputStream(); - String result; - try { - message.writeTo(out); - result = out.toString(charset); - } catch (SOAPException | IOException e) { - throw new InstrumentException(e); - } - return format ? XmlKit.format(result) : result; - } - - /** - * 重置SOAP客户端,用于客户端复用 - * 重置后需调用serMethod方法重新指定请求方法,并调用setParam方法重新定义参数 - * - * @return this - */ - public SoapX reset() { - try { - this.message = factory.createMessage(); - } catch (SOAPException e) { - throw new InstrumentException(e); - } - this.methodEle = null; - - return this; - } - - /** - * 获取方法节点 - * 用于创建子节点等操作 - * - * @return {@link SOAPBodyElement} - */ - public SOAPBodyElement getMethodEle() { - return this.methodEle; - } - - /** - * 获取SOAP消息对象 {@link SOAPMessage} - * - * @return {@link SOAPMessage} - */ - public SOAPMessage getMessage() { - return this.message; - } - - /** - * 获取SOAP请求消息 - * - * @param format 是否格式化 - * @return 消息字符串 - */ - public String getMessage(boolean format) { - return toString(this.message, format, this.charset); - } - - /** - * 移除一个头信息 - * - * @param name Header名 - * @return this - */ - public SoapX removeHeader(String name) { - if (name != null) { - headers.remove(name.trim()); - } - return this; - } - - /** - * 将SOAP消息的XML内容输出到流 - * - * @param out 输出流 - * @return this - */ - public SoapX write(OutputStream out) { - try { - this.message.writeTo(out); - } catch (SOAPException | IOException e) { - throw new InstrumentException(e); - } - return this; - } - - /** - * 执行Webservice请求,即发送SOAP内容 - * - * @return 返回结果 - */ - public SOAPMessage send() { - try { - final HttpResponse res = transpond(); - final MimeHeaders headers = new MimeHeaders(); - for (Map.Entry> entry : res.headers().toMultimap().entrySet()) { - if (StringKit.isNotEmpty(entry.getKey())) { - headers.setHeader(entry.getKey(), CollKit.get(entry.getValue(), 0)); - } - } - this.message = this.factory.createMessage(headers, res.body().byteStream()); - return this.message; - } catch (IOException | SOAPException e) { - throw new InstrumentException(e); - } - } - - /** - * 执行Webservice请求,即发送SOAP内容 - * - * @param format 是否格式化 - * @return 返回结果 - */ - public String send(boolean format) { - String result = Normal.EMPTY; - try { - final HttpResponse response = transpond(); - if (null != response.body()) { - byte[] bytes = response.body().bytes(); - result = new String(bytes, this.charset); - } - } catch (IOException e) { - throw new InstrumentException(e); - } - return format ? XmlKit.format(result) : result; - } - - - /** - * 执行Webservice请求,即发送SOAP内容 - * - * @return 返回结果 - */ - public HttpResponse transpond() { - try { - this.headers(Header.CONTENT_TYPE, getContentType()); - return Httpz.post() - .url(this.url) - .headers(this.headers) - .body(getMessage(false)).build().execute(); - } catch (Exception e) { - throw new InstrumentException(e); - } - } - - /** - * 获取请求的Content-Type,附加编码信息 - * - * @return 请求的Content-Type - */ - public String getContentType() { - switch (this.protocol) { - case SOAP_1_1: - return CONTENT_TYPE_SOAP11_TEXT_XML.concat(this.charset); - case SOAP_1_2: - return CONTENT_TYPE_SOAP12_SOAP_XML.concat(this.charset); - default: - throw new InstrumentException("Unsupported protocol: " + this.protocol); - } - } - -} \ No newline at end of file diff --git a/bus-http/src/main/java/org/aoju/bus/http/Stomp.java b/bus-http/src/main/java/org/aoju/bus/http/Stomp.java index 8bf22ccacf..227604ef17 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Stomp.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Stomp.java @@ -36,8 +36,8 @@ * Websockt 的 Stomp 客户端 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Stomp { diff --git a/bus-http/src/main/java/org/aoju/bus/http/Toable.java b/bus-http/src/main/java/org/aoju/bus/http/Toable.java index dcfe81aae8..d7f807bf96 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Toable.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Toable.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Toable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/UnoUrl.java b/bus-http/src/main/java/org/aoju/bus/http/UnoUrl.java index cec0f00537..e8298ce2b1 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/UnoUrl.java +++ b/bus-http/src/main/java/org/aoju/bus/http/UnoUrl.java @@ -44,8 +44,8 @@ * 或者{@link #parse parse()}如果输入是无效的URL,则返回null。您甚至可以明确每个组件是否已经编码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class UnoUrl { @@ -348,13 +348,12 @@ public String encodedUsername() { /** * 返回已解码的用户名,如果不存在,则返回空字符串. * - * - * - * - * - * - * - *
URL{@code username()}
{@code http://host/}{@code ""}
{@code http://username@host/}{@code "username"}
{@code http://username:password@host/}{@code "username"}
{@code http://a%20b:c%20d@host/}{@code "a b"}
+ *
    + *
  • {@code http://host/}{@code ""}
  • + *
  • {@code http://username@host/}{@code "username"}
  • + *
  • {@code http://username:password@host/}{@code "username"}
  • + *
  • {@code http://a%20b:c%20d@host/}{@code "a b"}
  • + *
* * @return 用户信息 */ @@ -365,13 +364,12 @@ public String username() { /** * 返回密码,如果没有设置则返回空字符串. * - * - * - * - * - * - * - *
URL{@code encodedPassword()}
{@code http://host/}{@code ""}
{@code http://username@host/}{@code ""}
{@code http://username:password@host/}{@code "password"}
{@code http://a%20b:c%20d@host/}{@code "c%20d"}
+ *
    + *
  • {@code http://host/}{@code ""}
  • + *
  • {@code http://username@host/}{@code ""}
  • + *
  • {@code http://username:password@host/}{@code "password"}
  • + *
  • {@code http://a%20b:c%20d@host/}{@code "c%20d"}
  • + *
* * @return 返回密码 */ @@ -385,13 +383,12 @@ public String encodedPassword() { /** * 返回已解码的密码,如果不存在,则返回空字符串. * - * - * - * - * - * - * - *
URL{@code password()}
{@code http://host/}{@code ""}
{@code http://username@host/}{@code ""}
{@code http://username:password@host/}{@code "password"}
{@code http://a%20b:c%20d@host/}{@code "c d"}
+ *
    + *
  • {@code http://host/}{@code ""}
  • + *
  • {@code http://username@host/}{@code ""}
  • + *
  • {@code http://username:password@host/}{@code "password"}
  • + *
  • {@code http://a%20b:c%20d@host/}{@code "c d"}
  • + *
* * @return 返回已解码的密码 */ @@ -407,13 +404,12 @@ public String password() { *
  • An encoded IDN, like {@code xn--n3h.net}. * * - * - * - * - * - * - * - *
    URL{@code host()}
    {@code http://android.com/}{@code "android.com"}
    {@code http://127.0.0.1/}{@code "127.0.0.1"}
    {@code http://[::1]/}{@code "::1"}
    {@code http://xn--n3h.net/}{@code "xn--n3h.net"}
    + *
      + *
    • {@code http://android.com/}{@code "android.com"}
    • + *
    • {@code http://127.0.0.1/}{@code "127.0.0.1"}
    • + *
    • {@code http://[::1]/}{@code "::1"}
    • + *
    • {@code http://xn--n3h.net/}{@code "xn--n3h.net"}
    • + *
    * * @return 主机host */ @@ -422,12 +418,11 @@ public String host() { } /** - * - * - * - * - * - *
    URL{@code port()}
    {@code http://host/}{@code 80}
    {@code http://host:8000/}{@code 8000}
    {@code https://host/}{@code 443}
    + *
      + *
    • {@code http://host/}{@code 80}
    • + *
    • {@code http://host:8000/}{@code 8000}
    • + *
    • {@code https://host/}{@code 443}
    • + *
    * * @return 端口 */ @@ -439,12 +434,11 @@ public int port() { * Returns the number of segments in this URL's path. This is also the number of slashes in the * URL's path, like 3 in {@code http://host/a/b/c}. This is always at least 1. * - * - * - * - * - * - *
    URL{@code pathSize()}
    {@code http://host/}{@code 1}
    {@code http://host/a/b/c}{@code 3}
    {@code http://host/a/b/c/}{@code 4}
    + *
      + *
    • {@code http://host/}{@code 1}
    • + *
    • {@code http://host/a/b/c}{@code 3}
    • + *
    • {@code http://host/a/b/c/}{@code 4}
    • + *
    * * @return the size */ @@ -455,12 +449,11 @@ public int pathSize() { /** * 该URL编码后用于HTTP资源解析。返回的路径将以{@code /}开始 * - * - * - * - * - * - *
    URL{@code encodedPath()}
    {@code http://host/}{@code /}
    {@code http://host/a/b/c}{@code "/a/b/c"}
    {@code http://host/a/b%20c/d}{@code "/a/b%20c/d"}
    + *
      + *
    • {@code http://host/}{@code /}
    • + *
    • {@code http://host/a/b/c}{@code "/a/b/c"}
    • + *
    • {@code http://host/a/b%20c/d}{@code "/a/b%20c/d"}
    • + *
    * * @return URL的完整路径 */ @@ -474,12 +467,11 @@ public String encodedPath() { * 返回一个已编码的路径段列表 {@code ["a", "b", "c"]} for the URL {@code * http://host/a/b/c}. 这个列表从不为空,尽管它可能包含一个空字符串. * - * - * - * - * - * - *
    URL{@code encodedPathSegments()}
    {@code http://host/}{@code [""]}
    {@code http://host/a/b/c}{@code ["a", "b", "c"]}
    {@code http://host/a/b%20c/d}{@code ["a", "b%20c", "d"]}
    + *
      + *
    • {@code http://host/}{@code [""]}
    • + *
    • {@code http://host/a/b/c}{@code ["a", "b", "c"]}
    • + *
    • {@code http://host/a/b%20c/d}{@code ["a", "b%20c", "d"]}
    • + *
    * * @return 路径段列表 */ @@ -500,12 +492,11 @@ public List encodedPathSegments() { * Returns a list of path segments like {@code ["a", "b", "c"]} for the URL {@code * http://host/a/b/c}. This list is never empty though it may contain a single empty string. * - * - * - * - * - * - *
    URL{@code pathSegments()}
    {@code http://host/}{@code [""]}
    {@code http://host/a/b/c"}{@code ["a", "b", "c"]}
    {@code http://host/a/b%20c/d"}{@code ["a", "b c", "d"]}
    + *
      + *
    • {@code http://host/}{@code [""]}
    • + *
    • {@code http://host/a/b/c"}{@code ["a", "b", "c"]}
    • + *
    • {@code http://host/a/b%20c/d"}{@code ["a", "b c", "d"]}
    • + *
    * * @return the string */ @@ -518,15 +509,14 @@ public List pathSegments() { * may be null (for URLs with no query), empty (for URLs with an empty query) or non-empty (all * other URLs). * - * - * - * - * - * - * - * - *
    URL{@code encodedQuery()}
    {@code http://host/}null
    {@code http://host/?}{@code ""}
    {@code http://host/?a=apple&k=key+lime}{@code - * "a=apple&k=key+lime"}
    {@code http://host/?a=apple&a=apricot}{@code "a=apple&a=apricot"}
    {@code http://host/?a=apple&b}{@code "a=apple&b"}
    + *
      + *
    • {@code http://host/}null
    • + *
    • {@code http://host/?}{@code ""}
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code + * "a=apple&k=key+lime"}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code "a=apple&a=apricot"}
    • + *
    • {@code http://host/?a=apple&b}{@code "a=apple&b"}
    • + *
    * * @return the string */ @@ -542,15 +532,14 @@ public String encodedQuery() { * prefer {@link #queryParameterName} and {@link #queryParameterValue} because these methods offer * direct access to individual query parameters. * - * - * - * - * - * - * - * - *
    URL{@code query()}
    {@code http://host/}null
    {@code http://host/?}{@code ""}
    {@code http://host/?a=apple&k=key+lime}{@code "a=apple&k=key - * lime"}
    {@code http://host/?a=apple&a=apricot}{@code "a=apple&a=apricot"}
    {@code http://host/?a=apple&b}{@code "a=apple&b"}
    + *
      + *
    • {@code http://host/}null
    • + *
    • {@code http://host/?}{@code ""}
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code "a=apple&k=key + * lime"}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code "a=apple&a=apricot"}
    • + *
    • {@code http://host/?a=apple&b}{@code "a=apple&b"}
    • + *
    * * @return the string */ @@ -566,14 +555,13 @@ public String query() { * http://host/?a=apple&b=banana}. If this URL has no query this returns 0. Otherwise it returns * one more than the number of {@code "&"} separators in the query. * - * - * - * - * - * - * - * - *
    URL{@code querySize()}
    {@code http://host/}{@code 0}
    {@code http://host/?}{@code 1}
    {@code http://host/?a=apple&k=key+lime}{@code 2}
    {@code http://host/?a=apple&a=apricot}{@code 2}
    {@code http://host/?a=apple&b}{@code 2}
    + *
      + *
    • {@code http://host/}{@code 0}
    • + *
    • {@code http://host/?}{@code 1}
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code 2}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code 2}
    • + *
    • {@code http://host/?a=apple&b}{@code 2}
    • + *
    * * @return the int */ @@ -585,14 +573,13 @@ public int querySize() { * Returns the first query parameter named {@code name} decoded using UTF-8, or null if there is * no such query parameter. * - * - * - * - * - * - * - * - *
    URL{@code queryParameter("a")}
    {@code http://host/}null
    {@code http://host/?}null
    {@code http://host/?a=apple&k=key+lime}{@code "apple"}
    {@code http://host/?a=apple&a=apricot}{@code "apple"}
    {@code http://host/?a=apple&b}{@code "apple"}
    + *
      + *
    • {@code http://host/}null
    • + *
    • {@code http://host/?}null
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code "apple"}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code "apple"}
    • + *
    • {@code http://host/?a=apple&b}{@code "apple"}
    • + *
    * * @param name 名称 * @return the string @@ -611,14 +598,13 @@ public String queryParameter(String name) { * Returns the distinct query parameter names in this URL, like {@code ["a", "b"]} for {@code * http://host/?a=apple&b=banana}. If this URL has no query this returns the empty set. * - * - * - * - * - * - * - * - *
    URL{@code queryParameterNames()}
    {@code http://host/}{@code []}
    {@code http://host/?}{@code [""]}
    {@code http://host/?a=apple&k=key+lime}{@code ["a", "k"]}
    {@code http://host/?a=apple&a=apricot}{@code ["a"]}
    {@code http://host/?a=apple&b}{@code ["a", "b"]}
    + *
      + *
    • {@code http://host/}{@code []}
    • + *
    • {@code http://host/?}{@code [""]}
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code ["a", "k"]}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code ["a"]}
    • + *
    • {@code http://host/?a=apple&b}{@code ["a", "b"]}
    • + *
    * * @return the set */ @@ -636,18 +622,16 @@ public Set queryParameterNames() { * URL. For example this returns {@code ["banana"]} for {@code queryParameterValue("b")} on {@code * http://host/?a=apple&b=banana}. * - * - * - * - * - * - * - * - *
    URL{@code queryParameterValues("a")}{@code - * queryParameterValues("b")}
    {@code http://host/}{@code []}{@code []}
    {@code http://host/?}{@code []}{@code []}
    {@code http://host/?a=apple&k=key+lime}{@code ["apple"]}{@code - * []}
    {@code http://host/?a=apple&a=apricot}{@code ["apple", - * "apricot"]}{@code []}
    {@code http://host/?a=apple&b}{@code ["apple"]}{@code - * [null]}
    + *
      + *
    • {@code http://host/}{@code []}{@code []}
    • + *
    • {@code http://host/?}{@code []}{@code []}
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code ["apple"]}{@code + * []}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code ["apple", + * "apricot"]}{@code []}
    • + *
    • {@code http://host/?a=apple&b}{@code ["apple"]}{@code + * [null]}
    • + *
    * * @param name 名称 * @return the list @@ -668,17 +652,15 @@ public List queryParameterValues(String name) { * for {@code queryParameterName(0)} on {@code http://host/?a=apple&b=banana}. This throws if * {@code index} is not less than the {@linkplain #querySize query size}. * - * - * - * - * - * - * - * - *
    URL{@code queryParameterName(0)}{@code - * queryParameterName(1)}
    {@code http://host/}exceptionexception
    {@code http://host/?}{@code ""}exception
    {@code http://host/?a=apple&k=key+lime}{@code "a"}{@code - * "k"}
    {@code http://host/?a=apple&a=apricot}{@code "a"}{@code - * "a"}
    {@code http://host/?a=apple&b}{@code "a"}{@code "b"}
    + *
      + *
    • {@code http://host/}exceptionexception
    • + *
    • {@code http://host/?}{@code ""}exception
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code "a"}{@code + * "k"}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code "a"}{@code + * "a"}
    • + *
    • {@code http://host/?a=apple&b}{@code "a"}{@code "b"}
    • + *
    * * @param index 索引 * @return the string @@ -693,17 +675,15 @@ public String queryParameterName(int index) { * "apple"} for {@code queryParameterName(0)} on {@code http://host/?a=apple&b=banana}. This * throws if {@code index} is not less than the {@linkplain #querySize query size}. * - * - * - * - * - * - * - * - *
    URL{@code queryParameterValue(0)}{@code - * queryParameterValue(1)}
    {@code http://host/}exceptionexception
    {@code http://host/?}nullexception
    {@code http://host/?a=apple&k=key+lime}{@code "apple"}{@code - * "key lime"}
    {@code http://host/?a=apple&a=apricot}{@code "apple"}{@code - * "apricot"}
    {@code http://host/?a=apple&b}{@code "apple"}null
    + *
      + *
    • {@code http://host/}exceptionexception
    • + *
    • {@code http://host/?}nullexception
    • + *
    • {@code http://host/?a=apple&k=key+lime}{@code "apple"}{@code + * "key lime"}
    • + *
    • {@code http://host/?a=apple&a=apricot}{@code "apple"}{@code + * "apricot"}
    • + *
    • {@code http://host/?a=apple&b}{@code "apple"}null
    • + *
    * * @param index 索引 * @return the string @@ -715,13 +695,12 @@ public String queryParameterValue(int index) { /** * 返回这个URL的片段 {@code "abc"} for {@code http://host/#abc}. 如果URL没有片段,则返回null - * - * - * - * - * - * - *
    URL{@code encodedFragment()}
    {@code http://host/}null
    {@code http://host/#}{@code ""}
    {@code http://host/#abc}{@code "abc"}
    {@code http://host/#abc|def}{@code "abc|def"}
    + *
      + *
    • {@code http://host/}null
    • + *
    • {@code http://host/#}{@code ""}
    • + *
    • {@code http://host/#abc}{@code "abc"}
    • + *
    • {@code http://host/#abc|def}{@code "abc|def"}
    • + *
    * * @return the string */ @@ -733,13 +712,12 @@ public String encodedFragment() { /** * 返回这个URL的片段 {@code "abc"} for {@code http://host/#abc}. 如果URL没有片段,则返回null - * - * - * - * - * - * - *
    URL{@code fragment()}
    {@code http://host/}null
    {@code http://host/#}{@code ""}
    {@code http://host/#abc}{@code "abc"}
    {@code http://host/#abc|def}{@code "abc|def"}
    + *
      + *
    • {@code http://host/}null
    • + *
    • {@code http://host/#}{@code ""}
    • + *
    • {@code http://host/#abc}{@code "abc"}
    • + *
    • {@code http://host/#abc|def}{@code "abc|def"}
    • + *
    * * @return the string */ @@ -800,14 +778,13 @@ public String toString() { /** * 通常,这个方法不应该用来测试一个域是否有效或可路由。相反,DNS是推荐的信息来源 * - * - * - * - * - * - * - * - *
    URL{@code topPrivateDomain()}
    {@code http://google.com}{@code "google.com"}
    {@code http://adwords.google.co.uk}{@code "google.co.uk"}
    {@code http://co.uk}null
    {@code http://localhost}null
    {@code http://127.0.0.1}null
    + *
      + *
    • {@code http://google.com}{@code "google.com"}
    • + *
    • {@code http://adwords.google.co.uk}{@code "google.co.uk"}
    • + *
    • {@code http://co.uk}null
    • + *
    • {@code http://localhost}null
    • + *
    • {@code http://127.0.0.1}null
    • + *
    * * @return the string */ diff --git a/bus-http/src/main/java/org/aoju/bus/http/Wapper.java b/bus-http/src/main/java/org/aoju/bus/http/Wapper.java index 5dbcb97caf..e5f2e9b427 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/Wapper.java +++ b/bus-http/src/main/java/org/aoju/bus/http/Wapper.java @@ -33,8 +33,8 @@ * 可以是 xml、yml、protobuf 等任何一种格式的数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Wapper { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectInterceptor.java b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectInterceptor.java index a535477e03..2abde0ac05 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectInterceptor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectInterceptor.java @@ -39,8 +39,8 @@ * 打开到目标服务器的连接并继续到下一个拦截器. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ConnectInterceptor implements Interceptor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/Connection.java b/bus-http/src/main/java/org/aoju/bus/http/accord/Connection.java index 9dd4bee9ee..bbfce5a294 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/Connection.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/Connection.java @@ -55,8 +55,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Connection { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionPool.java b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionPool.java index 5c8c9e1ff2..6dd226cf84 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionPool.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionPool.java @@ -45,8 +45,8 @@ * 该类实现了哪些连接保持开放以供将来使用的策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ConnectionPool { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSelector.java b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSelector.java index 44e289fba4..6ee00ebd73 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSelector.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSelector.java @@ -41,8 +41,8 @@ * 可能会使用不同的协议重试连接。实例是有状态的,应该创建并用于单个连接尝试 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ConnectionSelector { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSuite.java b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSuite.java index a14bc6c5a1..b8ee8dbc0b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSuite.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/ConnectionSuite.java @@ -41,8 +41,8 @@ * 将所有特性选择延迟到底层SSL套接字 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ConnectionSuite { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/ProcessStream.java b/bus-http/src/main/java/org/aoju/bus/http/accord/ProcessStream.java index 3d8dfe4679..4b6d4aeaeb 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/ProcessStream.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/ProcessStream.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ProcessStream extends InputStream { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/RealConnection.java b/bus-http/src/main/java/org/aoju/bus/http/accord/RealConnection.java index 031c6676d7..e56955e8eb 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/RealConnection.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/RealConnection.java @@ -62,8 +62,8 @@ * 连接提供 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RealConnection extends Http2Connection.Listener implements Connection { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/RouteDatabase.java b/bus-http/src/main/java/org/aoju/bus/http/accord/RouteDatabase.java index bc1e161e65..503c7fc629 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/RouteDatabase.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/RouteDatabase.java @@ -36,8 +36,8 @@ * 则会记住该故障并首选备用路由 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RouteDatabase { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/RouteException.java b/bus-http/src/main/java/org/aoju/bus/http/accord/RouteException.java index f04ddb64c4..f4663d52db 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/RouteException.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/RouteException.java @@ -35,8 +35,8 @@ * 可能已经用替代协议进行了多次尝试,但没有一次成功 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RouteException extends HttpUncheckException { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/RouteSelector.java b/bus-http/src/main/java/org/aoju/bus/http/accord/RouteSelector.java index 9d78117be9..ad43be33c7 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/RouteSelector.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/RouteSelector.java @@ -41,8 +41,8 @@ * 服务器、IP地址和TLS模式。连接也可以循环使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RouteSelector { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/StreamAllocation.java b/bus-http/src/main/java/org/aoju/bus/http/accord/StreamAllocation.java index 370d7d97a2..a2af847fd0 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/StreamAllocation.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/StreamAllocation.java @@ -47,8 +47,8 @@ * 仍然在进行中,那么取消可能会中断整个连接 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class StreamAllocation { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/AndroidPlatform.java b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/AndroidPlatform.java index 73b7c33934..dbbc8ee2cd 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/AndroidPlatform.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/AndroidPlatform.java @@ -54,8 +54,8 @@ * 安卓2.3或更高. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AndroidPlatform extends Platform { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Jdk9Platform.java b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Jdk9Platform.java index 58b6b5a410..042432c895 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Jdk9Platform.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Jdk9Platform.java @@ -41,8 +41,8 @@ * OpenJDK 9+. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Jdk9Platform extends Platform { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/JdkWithJettyBootPlatform.java b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/JdkWithJettyBootPlatform.java index c8c1253342..50cc73af25 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/JdkWithJettyBootPlatform.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/JdkWithJettyBootPlatform.java @@ -41,8 +41,8 @@ * OpenJDK 7 or OpenJDK 8 with {@code org.mortbay.jetty.alpn/alpn-boot} 在引导类路径中. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkWithJettyBootPlatform extends Platform { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/OptionalMethod.java b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/OptionalMethod.java index 6c85f59dc2..11924e16e5 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/OptionalMethod.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/OptionalMethod.java @@ -34,8 +34,8 @@ * * @param 方法所在的对象类型,通常是接口或基类 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OptionalMethod { diff --git a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Platform.java b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Platform.java index c6d368cc83..7a68f856ca 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Platform.java +++ b/bus-http/src/main/java/org/aoju/bus/http/accord/platform/Platform.java @@ -61,8 +61,8 @@ * 支持Android 6.0+ {@code NetworkSecurityPolicy} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Platform { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/AbstractBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/AbstractBody.java index f88b316a7f..215cffc28c 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/AbstractBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/AbstractBody.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractBody implements Toable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/BufferedBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/BufferedBody.java index 0b89973be4..88099a3b42 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/BufferedBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/BufferedBody.java @@ -36,8 +36,8 @@ * 只有完成之后,字节才会被复制到网络中 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class BufferedBody extends OutputStreamBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/FormBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/FormBody.java index cce2767f1f..807a20ecb2 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/FormBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/FormBody.java @@ -39,8 +39,8 @@ * Form请求体内容 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class FormBody extends RequestBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/MultipartBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/MultipartBody.java index 07681c035b..87ed956522 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/MultipartBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/MultipartBody.java @@ -43,8 +43,8 @@ * 用于复合对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class MultipartBody extends RequestBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/OutputStreamBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/OutputStreamBody.java index 6cdb4a5755..058b70b4e1 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/OutputStreamBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/OutputStreamBody.java @@ -42,8 +42,8 @@ * 正文的字节才会被知道 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class OutputStreamBody extends RequestBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/ProcessRequestBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/ProcessRequestBody.java index cb1bb9d7a6..7b16a5f379 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/ProcessRequestBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/ProcessRequestBody.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ProcessRequestBody extends RequestBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/RealResponseBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/RealResponseBody.java index 6e0d62c210..7abeb7eabe 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/RealResponseBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/RealResponseBody.java @@ -32,8 +32,8 @@ * 响应体只能使用一次 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RealResponseBody extends ResponseBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/RequestBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/RequestBody.java index abcb9ff8bb..a27741d64e 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/RequestBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/RequestBody.java @@ -40,8 +40,8 @@ * 内容对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class RequestBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/ResponseBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/ResponseBody.java index e3db0c9de4..27a619cbe7 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/ResponseBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/ResponseBody.java @@ -61,8 +61,8 @@ * 或{@link #charStream()}来处理响应 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class ResponseBody implements Closeable { /** diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/ResultBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/ResultBody.java index 251a22667e..9240c10e5a 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/ResultBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/ResultBody.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ResultBody extends AbstractBody implements Body { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/StreamedBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/StreamedBody.java index 78cf23cba5..937c21e3c9 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/StreamedBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/StreamedBody.java @@ -37,8 +37,8 @@ * 因为数据不是缓冲的,所以只能传输一次 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class StreamedBody extends OutputStreamBody implements UnrepeatableBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/bodys/UnrepeatableBody.java b/bus-http/src/main/java/org/aoju/bus/http/bodys/UnrepeatableBody.java index b33e1a2a02..0f0c60456a 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/bodys/UnrepeatableBody.java +++ b/bus-http/src/main/java/org/aoju/bus/http/bodys/UnrepeatableBody.java @@ -29,8 +29,8 @@ * 不可重复的请求体 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface UnrepeatableBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/Cache.java b/bus-http/src/main/java/org/aoju/bus/http/cache/Cache.java index 3a77cff343..daefd79c82 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/Cache.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/Cache.java @@ -56,8 +56,8 @@ * 缓存HTTP和HTTPS对文件系统的响应,以便可以重用它们,从而节省时间和带宽. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Cache implements Closeable, Flushable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheAdapter.java b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheAdapter.java index 50c7781aeb..9298e6e596 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheAdapter.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheAdapter.java @@ -43,8 +43,8 @@ * 适配 {@link ResponseCache} 到 {@link InternalCache}. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CacheAdapter implements InternalCache { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheContainer.java b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheContainer.java index b1bb8a1a6a..e99d47b5c1 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheContainer.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheContainer.java @@ -29,8 +29,8 @@ * 允许Httpd检测(@link java.net.ResponseCache)的接口(@link Cache) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CacheContainer { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheControl.java b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheControl.java index cb229ebb77..5151ec9c98 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheControl.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheControl.java @@ -38,8 +38,8 @@ * 这些指令设置了哪些响应可以存储,以及哪些请求可以由存储的响应来满足的策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CacheControl { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheInterceptor.java b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheInterceptor.java index 07cd052e89..1a02134d5d 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheInterceptor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheInterceptor.java @@ -47,8 +47,8 @@ * 服务来自缓存的请求并将响应写入缓存。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CacheInterceptor implements Interceptor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheRequest.java b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheRequest.java index c11d2604d5..e205f482d3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheRequest.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheRequest.java @@ -33,8 +33,8 @@ * 缓存请求信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CacheRequest { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheStrategy.java b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheStrategy.java index ffe0764ca3..3e9f956ccd 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/CacheStrategy.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/CacheStrategy.java @@ -42,8 +42,8 @@ * 或向缓存的响应添加警告(如果缓存的数据可能过时) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CacheStrategy { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/DiskLruCache.java b/bus-http/src/main/java/org/aoju/bus/http/cache/DiskLruCache.java index c265f045f4..09bc45154f 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/DiskLruCache.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/DiskLruCache.java @@ -48,8 +48,8 @@ * 每个值必须在{@code 0}和{@code Integer之间。MAX_VALUE}字节的长度 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class DiskLruCache implements Closeable, Flushable { @@ -219,6 +219,18 @@ private void readJournal() throws IOException { } } + private BufferSink newJournalWriter() throws FileNotFoundException { + Sink fileSink = fileSystem.appendingSink(journalFile); + Sink faultHidingSink = new FaultHideSink(fileSink) { + @Override + protected void onException(IOException e) { + assert (Thread.holdsLock(DiskLruCache.this)); + hasJournalErrors = true; + } + }; + return IoKit.buffer(faultHidingSink); + } + private final Runnable cleanupRunnable = new Runnable() { public void run() { synchronized (DiskLruCache.this) { @@ -245,18 +257,6 @@ public void run() { } }; - private BufferSink newJournalWriter() throws FileNotFoundException { - Sink fileSink = fileSystem.appendingSink(journalFile); - Sink faultHidingSink = new FaultHideSink(fileSink) { - @Override - protected void onException(IOException e) { - assert (Thread.holdsLock(DiskLruCache.this)); - hasJournalErrors = true; - } - }; - return IoKit.buffer(faultHidingSink); - } - private void readJournalLine(String line) throws IOException { int firstSpace = line.indexOf(Symbol.C_SPACE); if (firstSpace == -1) { @@ -967,4 +967,5 @@ Snapshot snapshot() { } } + } diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/InternalCache.java b/bus-http/src/main/java/org/aoju/bus/http/cache/InternalCache.java index ea4b3df53d..e1b41dd6b3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/InternalCache.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/InternalCache.java @@ -35,8 +35,8 @@ * 应用程序不应该实现这个:而是使用{@link Cache} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface InternalCache { diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/NetApiConvert.java b/bus-http/src/main/java/org/aoju/bus/http/cache/NetApiConvert.java index 8573fa7e21..9c9d40e77b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/NetApiConvert.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/NetApiConvert.java @@ -65,8 +65,8 @@ * 在Java和Httpd表示之间进行转换的方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class NetApiConvert { /** diff --git a/bus-http/src/main/java/org/aoju/bus/http/cache/ResponseCache.java b/bus-http/src/main/java/org/aoju/bus/http/cache/ResponseCache.java index 1d4a60fc5a..0503e21c7b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/cache/ResponseCache.java +++ b/bus-http/src/main/java/org/aoju/bus/http/cache/ResponseCache.java @@ -41,8 +41,8 @@ * 统计信息的{@link java.net.ResponseCache} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ResponseCache extends java.net.ResponseCache { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/AbsCallback.java b/bus-http/src/main/java/org/aoju/bus/http/magic/AbsCallback.java index 9b63cf6847..51ac6bd8d8 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/AbsCallback.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/AbsCallback.java @@ -31,8 +31,8 @@ * 回调处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbsCallback { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/FileCallback.java b/bus-http/src/main/java/org/aoju/bus/http/magic/FileCallback.java index a00aefcaa7..430c526535 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/FileCallback.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/FileCallback.java @@ -35,8 +35,8 @@ * 文件-异步回调 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class FileCallback extends AbsCallback { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/FileInterceptor.java b/bus-http/src/main/java/org/aoju/bus/http/magic/FileInterceptor.java index 4b78703c6c..c05097f10d 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/FileInterceptor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/FileInterceptor.java @@ -41,8 +41,8 @@ * 请求参数-文件处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class FileInterceptor implements Interceptor, ProgressListener { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/GetBuilder.java b/bus-http/src/main/java/org/aoju/bus/http/magic/GetBuilder.java index f7af1118b3..ae00096fab 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/GetBuilder.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/GetBuilder.java @@ -34,8 +34,8 @@ * GET参数构造器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GetBuilder extends RequestBuilder { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/GetRequest.java b/bus-http/src/main/java/org/aoju/bus/http/magic/GetRequest.java index 33fb07ca65..850c493ab1 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/GetRequest.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/GetRequest.java @@ -34,8 +34,8 @@ * GET请求处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GetRequest extends HttpRequest { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpBuilder.java b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpBuilder.java index 36a3cebd14..41fff4e3e5 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpBuilder.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpBuilder.java @@ -53,8 +53,8 @@ * 请求参数构造器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HttpBuilder { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpProxy.java b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpProxy.java index e2b6b9b696..e8c067f6bb 100755 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpProxy.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpProxy.java @@ -35,8 +35,8 @@ * HTTP代理配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HttpProxy { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpRequest.java b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpRequest.java index ac0e7d1037..081c03006c 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpRequest.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpRequest.java @@ -44,8 +44,8 @@ * HTTP请求处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class HttpRequest { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpResponse.java b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpResponse.java index b853850c54..9567e562f7 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpResponse.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpResponse.java @@ -40,8 +40,8 @@ * HTTP响应处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HttpResponse { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpxStat.java b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpxStat.java index 7cf33be775..5bfbf66102 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/HttpxStat.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/HttpxStat.java @@ -37,8 +37,8 @@ * HTTP状态 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HttpxStat { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/PostBuilder.java b/bus-http/src/main/java/org/aoju/bus/http/magic/PostBuilder.java index 261e0a7719..d6d2b45ca4 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/PostBuilder.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/PostBuilder.java @@ -39,8 +39,8 @@ * POST参数构造器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PostBuilder extends RequestBuilder { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/PostRequest.java b/bus-http/src/main/java/org/aoju/bus/http/magic/PostRequest.java index 8f636d5b29..d23bcfbf0a 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/PostRequest.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/PostRequest.java @@ -45,8 +45,8 @@ * POST请求处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PostRequest extends HttpRequest { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/ProgressListener.java b/bus-http/src/main/java/org/aoju/bus/http/magic/ProgressListener.java index 242e8c3712..21f7c17f51 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/ProgressListener.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/ProgressListener.java @@ -29,8 +29,8 @@ * 进度监听 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ProgressListener { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/PutBuilder.java b/bus-http/src/main/java/org/aoju/bus/http/magic/PutBuilder.java index a8e9846154..45aa0714b4 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/PutBuilder.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/PutBuilder.java @@ -38,8 +38,8 @@ * PUT参数构造器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PutBuilder extends RequestBuilder { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/PutRequest.java b/bus-http/src/main/java/org/aoju/bus/http/magic/PutRequest.java index da1d17cd2c..2d233a9ab7 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/PutRequest.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/PutRequest.java @@ -42,8 +42,8 @@ * PUT请求处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PutRequest extends HttpRequest { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/RealResult.java b/bus-http/src/main/java/org/aoju/bus/http/magic/RealResult.java index b443fcef67..0a2d62a0fc 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/RealResult.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/RealResult.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RealResult implements Results { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/RequestBuilder.java b/bus-http/src/main/java/org/aoju/bus/http/magic/RequestBuilder.java index 946724c41c..6d525d7368 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/RequestBuilder.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/RequestBuilder.java @@ -35,8 +35,8 @@ * 请求参数构造器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class RequestBuilder { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/RequestCall.java b/bus-http/src/main/java/org/aoju/bus/http/magic/RequestCall.java index 943c056b7e..1fb6a95145 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/RequestCall.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/RequestCall.java @@ -35,8 +35,8 @@ * 请求调用者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RequestCall { diff --git a/bus-http/src/main/java/org/aoju/bus/http/magic/StringCallback.java b/bus-http/src/main/java/org/aoju/bus/http/magic/StringCallback.java index 46c6b18932..1308f3ed73 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/magic/StringCallback.java +++ b/bus-http/src/main/java/org/aoju/bus/http/magic/StringCallback.java @@ -34,8 +34,8 @@ * 回调处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class StringCallback extends AbsCallback { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Array.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Array.java index 2fbe3e5304..619e43f570 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Array.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Array.java @@ -31,8 +31,8 @@ * 可以是 xml、yml、protobuf 等任何一种格式的数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Array { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/BootstrapDns.java b/bus-http/src/main/java/org/aoju/bus/http/metric/BootstrapDns.java index dc53083264..c660318139 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/BootstrapDns.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/BootstrapDns.java @@ -36,8 +36,8 @@ * 返回已知主机的硬编码结果 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class BootstrapDns implements DnsX { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Cancelable.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Cancelable.java index dcc1ecbb35..e20fc1e761 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Cancelable.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Cancelable.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Cancelable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Config.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Config.java index 19f15ea030..e4abd0315e 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Config.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Config.java @@ -33,8 +33,8 @@ * 配置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Config { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/ConvertProvider.java b/bus-http/src/main/java/org/aoju/bus/http/metric/ConvertProvider.java index f92102ef3c..133441deec 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/ConvertProvider.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/ConvertProvider.java @@ -33,8 +33,8 @@ * ConvertProvider 提供者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ConvertProvider { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Convertor.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Convertor.java index 567a46d434..d1b879395e 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Convertor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Convertor.java @@ -38,8 +38,8 @@ * 消息转换器接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Convertor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/CookieJar.java b/bus-http/src/main/java/org/aoju/bus/http/metric/CookieJar.java index 6cbe233be2..0301060832 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/CookieJar.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/CookieJar.java @@ -37,8 +37,8 @@ * 尽管这可能会干扰需要cookie的基于会话的身份验证方案 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CookieJar { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Dispatcher.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Dispatcher.java index 720ea35f40..0661241ce7 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Dispatcher.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Dispatcher.java @@ -43,8 +43,8 @@ * 如果您提供自己的执行程序,它应该能够并发地运行{@linkplain #getMaxRequests 配置的最大调用数} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Dispatcher { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/DnsOverHttps.java b/bus-http/src/main/java/org/aoju/bus/http/metric/DnsOverHttps.java index 790361aac3..20dff07ce3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/DnsOverHttps.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/DnsOverHttps.java @@ -51,8 +51,8 @@ * DNS over HTTPS实施 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DnsOverHttps implements DnsX { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/DownListener.java b/bus-http/src/main/java/org/aoju/bus/http/metric/DownListener.java index e9696e4688..1496be03d4 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/DownListener.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/DownListener.java @@ -31,8 +31,8 @@ * 下载监听接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DownListener { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Download.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Download.java index e652e67d98..82c4bfebd9 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Download.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Download.java @@ -36,8 +36,8 @@ * 文件下载 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Download { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/EventListener.java b/bus-http/src/main/java/org/aoju/bus/http/metric/EventListener.java index 0b048d9d1e..72b25429b8 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/EventListener.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/EventListener.java @@ -41,8 +41,8 @@ * 也不能重入客户机。任何对文件或网络的IO写入都应该异步进行 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class EventListener { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Handshake.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Handshake.java index 7bc65e347c..1cf69a145b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Handshake.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Handshake.java @@ -44,8 +44,8 @@ * 此值对象描述完成的握手。使用{@link ConnectionSuite}设置新的握手策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Handshake { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Interceptor.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Interceptor.java index f45bb9f0e1..76a1c9570c 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Interceptor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Interceptor.java @@ -38,8 +38,8 @@ * 通常,拦截器在请求或响应上添加、删除或转换标头 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Interceptor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/NamedRunnable.java b/bus-http/src/main/java/org/aoju/bus/http/metric/NamedRunnable.java index 1fd52ba091..7ad1aab359 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/NamedRunnable.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/NamedRunnable.java @@ -31,8 +31,8 @@ * 可运行的实现,它总是设置它的线程名. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class NamedRunnable implements Runnable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/Preprocessor.java b/bus-http/src/main/java/org/aoju/bus/http/metric/Preprocessor.java index aa155967fa..79ab5638c3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/Preprocessor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/Preprocessor.java @@ -33,8 +33,8 @@ * 在HTTP请求任务正式开始之前执行 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Preprocessor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/TaskExecutor.java b/bus-http/src/main/java/org/aoju/bus/http/metric/TaskExecutor.java index 03a1cd85f9..31ca646db6 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/TaskExecutor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/TaskExecutor.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TaskExecutor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/TaskListener.java b/bus-http/src/main/java/org/aoju/bus/http/metric/TaskListener.java index 1a114417a7..d9068d4e07 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/TaskListener.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/TaskListener.java @@ -31,8 +31,8 @@ * 任务监听接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TaskListener { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Browser.java b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Browser.java index 247980e4fb..556ff865a3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Browser.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Browser.java @@ -36,8 +36,8 @@ * 浏览器对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Browser extends UserAgent { @@ -97,7 +97,10 @@ public class Browser extends UserAgent { new Browser("Yammer Desktop", "AdobeAir", "([\\d\\w\\.\\-]+)\\/Yammer"), new Browser("Yammer Mobile", "Yammer[\\s]+([\\d\\w\\.\\-]+)", "Yammer[\\s]+([\\d\\w\\.\\-]+)"), new Browser("Apache HTTP Client", "Apache\\\\-HttpClient", "Apache\\-HttpClient\\/([\\d\\w\\.\\-]+)"), - new Browser("BlackBerry", "BlackBerry", "BlackBerry[\\d]+\\/([\\d\\w\\.\\-]+)") + new Browser("BlackBerry", "BlackBerry", "BlackBerry[\\d]+\\/([\\d\\w\\.\\-]+)"), + // 小米浏览器 + new Browser("MiuiBrowser", "MiuiBrowser|mibrowser", "MiuiBrowser\\/([\\d\\w\\.\\-]+)") + ); private Pattern versionPattern; diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Divice.java b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Divice.java index 3a4bbd8b61..3bc9a740b9 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Divice.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Divice.java @@ -35,8 +35,8 @@ * 设备信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Divice extends UserAgent { @@ -84,7 +84,8 @@ public class Divice extends UserAgent { GOOGLE_TV, new Divice("htcFlyer", "htc_flyer"), new Divice("Symbian", "symbian(os)?"), - new Divice("Blackberry", "blackberry") + new Divice("Blackberry", "blackberry"), + new Divice("Android", "XiaoMi|MI") ); /** diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Engine.java b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Engine.java index 3c938d72ca..15e6c26393 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Engine.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/Engine.java @@ -34,8 +34,8 @@ * 浏览器解析引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Engine extends UserAgent { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/NOS.java b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/NOS.java index f58c02ef1d..4ea4ea620b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/NOS.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/NOS.java @@ -27,15 +27,17 @@ import org.aoju.bus.core.lang.Normal; import org.aoju.bus.core.toolkit.CollKit; +import org.aoju.bus.core.toolkit.PatternKit; import java.util.List; +import java.util.regex.Pattern; /** * 网络操作系统 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NOS extends UserAgent { @@ -43,37 +45,41 @@ public class NOS extends UserAgent { * 未知 */ public static final NOS UNKNOWN = new NOS(Normal.UNKNOWN, null); - /** * 支持的引擎类型 */ public static final List OSES = CollKit.newArrayList( - new NOS("Windows 10 or Windows Server 2016", "windows nt 10\\.0"), - new NOS("Windows 8.1 or Windows Server 2012R2", "windows nt 6\\.3"), - new NOS("Windows 8 or Windows Server 2012", "windows nt 6\\.2"), - new NOS("Windows Vista", "windows nt 6\\.0"), - new NOS("Windows 7 or Windows Server 2008R2", "windows nt 6\\.1"), - new NOS("Windows 2003", "windows nt 5\\.2"), - new NOS("Windows XP", "windows nt 5\\.1"), - new NOS("Windows 2000", "windows nt 5\\.0"), - new NOS("Windows Phone", "windows (ce|phone|mobile)( os)?"), - new NOS("Windows", "windows"), - new NOS("OSX", "os x (\\d+)[._](\\d+)"), - new NOS("Android", "Android"), - new NOS("Linux", "linux"), - new NOS("Wii", "wii"), - new NOS("PS3", "playstation 3"), - new NOS("PSP", "playstation portable"), - new NOS("iPad", "\\(iPad.*os (\\d+)[._](\\d+)"), - new NOS("iPhone", "\\(iPhone.*os (\\d+)[._](\\d+)"), - new NOS("YPod", "iPod touch[\\s\\;]+iPhone.*os (\\d+)[._](\\d+)"), - new NOS("YPad", "iPad[\\s\\;]+iPhone.*os (\\d+)[._](\\d+)"), - new NOS("YPhone", "iPhone[\\s\\;]+iPhone.*os (\\d+)[._](\\d+)"), - new NOS("Symbian", "symbian(os)?"), - new NOS("Darwin", "Darwin\\/([\\d\\w\\.\\-]+)"), - new NOS("Adobe Air", "AdobeAir\\/([\\d\\w\\.\\-]+)"), - new NOS("Java", "Java[\\s]+([\\d\\w\\.\\-]+)") + new NOS("Windows 10 or Windows Server 2016", "windows nt 10\\.0", "windows nt (10\\.0)"),// + new NOS("Windows 8.1 or Windows Server 2012R2", "windows nt 6\\.3", "windows nt (6\\.3)"),// + new NOS("Windows 8 or Windows Server 2012", "windows nt 6\\.2", "windows nt (6\\.2)"),// + new NOS("Windows Vista", "windows nt 6\\.0", "windows nt (6\\.0)"), // + new NOS("Windows 7 or Windows Server 2008R2", "windows nt 6\\.1", "windows nt (6\\.1)"), // + new NOS("Windows 2003", "windows nt 5\\.2", "windows nt (5\\.2)"), // + new NOS("Windows XP", "windows nt 5\\.1", "windows nt (5\\.1)"), // + new NOS("Windows 2000", "windows nt 5\\.0", "windows nt (5\\.0)"), // + new NOS("Windows Phone", "windows (ce|phone|mobile)( os)?", "windows (?:ce|phone|mobile) (\\d+([._]\\d+)*)"), // + new NOS("Windows", "windows"), // + new NOS("OSX", "os x (\\d+)[._](\\d+)", "os x (\\d+([._]\\d+)*)"), // + new NOS("Android", "Android", "Android (\\d+([._]\\d+)*)"),// + new NOS("Android", "\\(X\\d+; Linux", "\\(X(\\d+([._]\\d+)*)"),// + new NOS("Linux", "linux"), // + new NOS("Wii", "wii", "wii libnup/(\\d+([._]\\d+)*)"), // + new NOS("PS3", "playstation 3", "playstation 3; (\\d+([._]\\d+)*)"), // + new NOS("PSP", "playstation portable", "Portable\\); (\\d+([._]\\d+)*)"), // + new NOS("iPad", "\\(iPad.*os (\\d+)[._](\\d+)", "\\(iPad.*os (\\d+([._]\\d+)*)"), // + new NOS("iPhone", "\\(iPhone.*os (\\d+)[._](\\d+)", "\\(iPhone.*os (\\d+([._]\\d+)*)"), // + new NOS("YPod", "iPod touch[\\s\\;]+iPhone.*os (\\d+)[._](\\d+)", "iPod touch[\\s\\;]+iPhone.*os (\\d+([._]\\d+)*)"), // + new NOS("YPad", "iPad[\\s\\;]+iPhone.*os (\\d+)[._](\\d+)", "iPad[\\s\\;]+iPhone.*os (\\d+([._]\\d+)*)"), // + new NOS("YPhone", "iPhone[\\s\\;]+iPhone.*os (\\d+)[._](\\d+)", "iPhone[\\s\\;]+iPhone.*os (\\d+([._]\\d+)*)"), // + new NOS("Symbian", "symbian(os)?"), // + new NOS("Darwin", "Darwin\\/([\\d\\w\\.\\-]+)", "Darwin\\/([\\d\\w\\.\\-]+)"), // + new NOS("Adobe Air", "AdobeAir\\/([\\d\\w\\.\\-]+)", "AdobeAir\\/([\\d\\w\\.\\-]+)"), // + new NOS("Java", "Java[\\s]+([\\d\\w\\.\\-]+)", "Java[\\s]+([\\d\\w\\.\\-]+)")// ); + /** + * 版本规则 + */ + private Pattern pattern; /** * 构造 @@ -82,7 +88,46 @@ public class NOS extends UserAgent { * @param regex 关键字或表达式 */ public NOS(String name, String regex) { + this(name, regex, null); + } + + /** + * 构造 + * + * @param name 系统名称 + * @param regex 关键字或表达式 + * @param versionRegex 版本正则表达式 + */ + public NOS(String name, String regex, String versionRegex) { super(name, regex); + if (null != versionRegex) { + this.pattern = Pattern.compile(versionRegex, Pattern.CASE_INSENSITIVE); + } + } + + /** + * 添加自定义的系统类型 + * + * @param name 浏览器名称 + * @param regex 关键字或表达式 + * @param versionRegex 匹配版本的正则 + */ + synchronized public static void addOs(String name, String regex, String versionRegex) { + OSES.add(new NOS(name, regex, versionRegex)); + } + + /** + * 获取浏览器版本 + * + * @param userAgent User-Agent字符串 + * @return 版本 + */ + public String getVersion(String userAgent) { + if (isUnknown() || null == this.pattern) { + // 无版本信息 + return null; + } + return PatternKit.getGroup1(this.pattern, userAgent); } } diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/UserAgent.java b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/UserAgent.java index 3de232e112..00a8abe7da 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/anget/UserAgent.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/anget/UserAgent.java @@ -34,8 +34,8 @@ * User-Agent信息对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UserAgent { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/AsyncHttp.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/AsyncHttp.java index 2d9a229aaa..cd5eaec8df 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/AsyncHttp.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/AsyncHttp.java @@ -39,8 +39,8 @@ * 异步 Http 请求任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AsyncHttp extends CoverHttp { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/BridgeInterceptor.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/BridgeInterceptor.java index 0645ec116f..92bf0d9cbd 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/BridgeInterceptor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/BridgeInterceptor.java @@ -45,8 +45,8 @@ * 然后它继续调用网络。最后,它从网络响应构建用户响应 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class BridgeInterceptor implements Interceptor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/CallServerInterceptor.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/CallServerInterceptor.java index ed9e3db856..a682a9489d 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/CallServerInterceptor.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/CallServerInterceptor.java @@ -47,8 +47,8 @@ * 它对服务器进行网络调用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CallServerInterceptor implements Interceptor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/CoverHttp.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/CoverHttp.java index 8cc115b8a8..898cb6145e 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/CoverHttp.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/CoverHttp.java @@ -54,8 +54,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class CoverHttp> implements Cancelable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/DelegatingConnection.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/DelegatingConnection.java index 0299c42724..1c2c2fd4e2 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/DelegatingConnection.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/DelegatingConnection.java @@ -46,8 +46,8 @@ * 实现HTTPS连接的方法是,除了特定于HTTP的内容外,所有内容都委托给HTTP连接 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class DelegatingConnection extends HttpsURLConnection { private final HttpURLConnection delegate; diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/ErrorCode.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/ErrorCode.java index 6e6008eecc..913f00eb87 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/ErrorCode.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/ErrorCode.java @@ -29,8 +29,8 @@ * 错误码信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum ErrorCode { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Hpack.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Hpack.java index e8cc9010f9..5b8256b626 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Hpack.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Hpack.java @@ -47,8 +47,8 @@ * 动态条目被添加到数组中,从最后一个位置开始向前移动。当数组填满时,它被加倍. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class Hpack { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http1Codec.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http1Codec.java index 231b30e9b8..f72b09935f 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http1Codec.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http1Codec.java @@ -49,8 +49,8 @@ * 并可以跳过读取和关闭该源 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Http1Codec implements HttpCodec { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2.java index 27732ae473..5683ec4ac3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Http2 { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Codec.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Codec.java index d48e5326a2..e7ce62baad 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Codec.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Codec.java @@ -46,8 +46,8 @@ * 使用HTTP/2帧对请求和响应进行编码. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Http2Codec implements HttpCodec { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Connection.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Connection.java index 4910714de6..f3fc053339 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Connection.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Connection.java @@ -53,8 +53,8 @@ * 到远程对等点的套接字连接。连接主机可以发送和接收数据流. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Http2Connection implements Closeable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Reader.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Reader.java index fbc091f255..39254c30f0 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Reader.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Reader.java @@ -42,8 +42,8 @@ * 因此,我们希望所有帧的最大长度为{@link Http2#INITIAL_MAX_FRAME_SIZE}。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Http2Reader implements Closeable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Stream.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Stream.java index 62d48565f6..2a40e05ed1 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Stream.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Stream.java @@ -42,8 +42,8 @@ * 逻辑双向流. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Http2Stream { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Writer.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Writer.java index 0e39f10bfe..2ac4d6022b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Writer.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Http2Writer.java @@ -41,8 +41,8 @@ * 编写HTTP/2传输帧. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class Http2Writer implements Closeable { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpCodec.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpCodec.java index 4cd87d9b00..6dc01647ae 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpCodec.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpCodec.java @@ -36,8 +36,8 @@ * Encode HTTP请求和decode HTTP响应 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface HttpCodec { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpHeaders.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpHeaders.java index 071910d101..ea6e14bc3f 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpHeaders.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpHeaders.java @@ -43,8 +43,8 @@ * Header实用工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class HttpHeaders { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpMethod.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpMethod.java index b7f58c70ac..f4d0546af2 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpMethod.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpMethod.java @@ -31,8 +31,8 @@ * Http请求方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class HttpMethod { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpURLConnection.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpURLConnection.java index 69a3c2fc6e..6540cddf68 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpURLConnection.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpURLConnection.java @@ -51,8 +51,8 @@ * 此实现使用{@linkplain NewCall}发送请求和接收响应 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class HttpURLConnection extends java.net.HttpURLConnection implements Callback { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpsURLConnection.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpsURLConnection.java index 425b45c19d..704e3e2cfe 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpsURLConnection.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/HttpsURLConnection.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class HttpsURLConnection extends DelegatingConnection { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Huffman.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Huffman.java index c6251063b7..0a5d820b50 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/Huffman.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/Huffman.java @@ -57,8 +57,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Huffman { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/NetCookieJar.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/NetCookieJar.java index 5197f85a55..ba1ba58197 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/NetCookieJar.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/NetCookieJar.java @@ -45,8 +45,8 @@ * 委托cookie 给{@link java.net.CookieHandler} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class NetCookieJar implements CookieJar { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/PushObserver.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/PushObserver.java index c05978b729..dc3b305edb 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/PushObserver.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/PushObserver.java @@ -38,8 +38,8 @@ * 注意,这并不保证将来的帧不会到达流ID * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface PushObserver { @@ -71,7 +71,7 @@ public void onReset(int streamId, ErrorCode errorCode) { * 描述服务器打算为其推送响应的请求 * * @param streamId 务器发起的流ID:偶数 - * @param requestHeaders 最低限度包括{@code:method}、{@code:scheme}、{@code:authority}和{@code:path} + * @param requestHeaders 最低限度包括 method、scheme、authority和path * @return the true/false */ boolean onRequest(int streamId, List requestHeaders); @@ -80,7 +80,7 @@ public void onReset(int streamId, ErrorCode errorCode) { * 推送请求对应的响应标头。当{@code last}为真时,则没有后续的数据帧 * * @param streamId 服务器发起的流ID:偶数. - * @param responseHeaders 最少包含{@code:status} + * @param responseHeaders 最少包含status * @param last 如果为真,则没有响应数据 * @return the true/false */ diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/RealInterceptorChain.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/RealInterceptorChain.java index 43895bf3e3..52f98167e3 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/RealInterceptorChain.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/RealInterceptorChain.java @@ -44,8 +44,8 @@ * 所有应用程序拦截器、Httpd核心、所有网络拦截器,最后是网络调用者. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RealInterceptorChain implements Interceptor.Chain { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/RequestLine.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/RequestLine.java index 14c346d402..6b9866acc2 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/RequestLine.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/RequestLine.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RequestLine { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/RetryAndFollowUp.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/RetryAndFollowUp.java index c1a1a09491..e29c51bb86 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/RetryAndFollowUp.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/RetryAndFollowUp.java @@ -56,8 +56,8 @@ * 如果调用被取消,它可能会抛出{@link IOException} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RetryAndFollowUp implements Interceptor { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/StatusLine.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/StatusLine.java index ba2b4710d1..2d3f0c6e9f 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/StatusLine.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/StatusLine.java @@ -37,8 +37,8 @@ * HTTP响应“HTTP/ 1.1200 OK”这样的在线状态. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class StatusLine { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/StreamException.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/StreamException.java index d554365954..2acafb6719 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/StreamException.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/StreamException.java @@ -31,8 +31,8 @@ * 当取消HTTP/2流而不损坏承载它的套接字时抛出 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class StreamException extends RevisedException { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/http/SyncHttp.java b/bus-http/src/main/java/org/aoju/bus/http/metric/http/SyncHttp.java index 8c73f9e442..01a49d6466 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/http/SyncHttp.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/http/SyncHttp.java @@ -41,8 +41,8 @@ * 同步 Http 请求任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SyncHttp extends CoverHttp { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/proxy/NullProxySelector.java b/bus-http/src/main/java/org/aoju/bus/http/metric/proxy/NullProxySelector.java index 79ab08cfab..b6df3df064 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/proxy/NullProxySelector.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/proxy/NullProxySelector.java @@ -37,8 +37,8 @@ * 代理选择器,总是返回{@link Proxy#NO_PROXY} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullProxySelector extends ProxySelector { diff --git a/bus-http/src/main/java/org/aoju/bus/http/metric/suffix/SuffixDatabase.java b/bus-http/src/main/java/org/aoju/bus/http/metric/suffix/SuffixDatabase.java index 3c74464197..0b3fd3ab8e 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/metric/suffix/SuffixDatabase.java +++ b/bus-http/src/main/java/org/aoju/bus/http/metric/suffix/SuffixDatabase.java @@ -45,8 +45,8 @@ * publicsuffix.org. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class SuffixDatabase { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/Authenticator.java b/bus-http/src/main/java/org/aoju/bus/http/secure/Authenticator.java index 9372d77895..8bd3e10b62 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/Authenticator.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/Authenticator.java @@ -38,8 +38,8 @@ * 应用程序可以为源服务器或代理服务器配置Httpd的身份验证器,或者两者都配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Authenticator { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/BasicCertificateChainCleaner.java b/bus-http/src/main/java/org/aoju/bus/http/secure/BasicCertificateChainCleaner.java index 6f1c825aac..82e4b6ec01 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/BasicCertificateChainCleaner.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/BasicCertificateChainCleaner.java @@ -37,8 +37,8 @@ * 存在的其他机制,比如{@code AndroidCertificateChainCleaner} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class BasicCertificateChainCleaner extends CertificateChainCleaner { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/BasicTrustRootIndex.java b/bus-http/src/main/java/org/aoju/bus/http/secure/BasicTrustRootIndex.java index db31ba3a02..d886645dd5 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/BasicTrustRootIndex.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/BasicTrustRootIndex.java @@ -37,8 +37,8 @@ * 一个简单的索引,包含已加载到内存中的受信任根证书 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class BasicTrustRootIndex implements TrustRootIndex { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/CertificateChainCleaner.java b/bus-http/src/main/java/org/aoju/bus/http/secure/CertificateChainCleaner.java index 6692bc6eb4..d0be8b403b 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/CertificateChainCleaner.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/CertificateChainCleaner.java @@ -41,8 +41,8 @@ * 并提取受信任的CA证书,以便进行证书固定 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class CertificateChainCleaner { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/CertificatePinner.java b/bus-http/src/main/java/org/aoju/bus/http/secure/CertificatePinner.java index 888fac2926..9106d9092f 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/CertificatePinner.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/CertificatePinner.java @@ -46,8 +46,8 @@ * 则{@link CertificatePinner}不能用于pin自签名证书 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CertificatePinner { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/Challenge.java b/bus-http/src/main/java/org/aoju/bus/http/secure/Challenge.java index ed78d07a4e..7eb9339972 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/Challenge.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/Challenge.java @@ -37,8 +37,8 @@ * RFC 7235兼容的认证 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Challenge { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/CipherSuite.java b/bus-http/src/main/java/org/aoju/bus/http/secure/CipherSuite.java index 0190e490b3..ced668f4d8 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/CipherSuite.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/CipherSuite.java @@ -34,8 +34,8 @@ * 或Java(通过JDK 9)上不可用的密码套件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class CipherSuite { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/Credentials.java b/bus-http/src/main/java/org/aoju/bus/http/secure/Credentials.java index ec26f363ff..8e953f6b94 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/Credentials.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/Credentials.java @@ -33,8 +33,8 @@ * HTTP授权工厂 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Credentials { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationNodeType.java b/bus-http/src/main/java/org/aoju/bus/http/secure/DefaultTrustManager.java old mode 100755 new mode 100644 similarity index 62% rename from bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationNodeType.java rename to bus-http/src/main/java/org/aoju/bus/http/secure/DefaultTrustManager.java index cab3d81121..2f7f57b15e --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationNodeType.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/DefaultTrustManager.java @@ -23,59 +23,54 @@ * THE SOFTWARE. * * * ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; +package org.aoju.bus.http.secure; -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; +import javax.net.ssl.SSLEngine; +import javax.net.ssl.X509ExtendedTrustManager; +import java.net.Socket; +import java.security.cert.X509Certificate; /** + * 默认信任管理器,默认信任所有客户端和服务端证书 + * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ClassificationNodeType", propOrder = {"classificationNode"}) -public class ClassificationNodeType extends RegistryObjectType { +public class DefaultTrustManager extends X509ExtendedTrustManager { - @XmlElement(name = "ClassificationNode") - protected List classificationNode; - @XmlAttribute(name = "parent") - protected String parent; - @XmlAttribute(name = "internal") - protected String code; - @XmlAttribute(name = "path") - protected String path; + /** + * 默认的全局单例默认信任管理器,默认信任所有客户端和服务端证书 + */ + public static DefaultTrustManager INSTANCE = new DefaultTrustManager(); - public List getClassificationNode() { - if (null == this.classificationNode) { - this.classificationNode = new ArrayList(); - } - return this.classificationNode; + @Override + public X509Certificate[] getAcceptedIssuers() { + return null; } - public String getParent() { - return this.parent; + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) { } - public void setParent(String value) { - this.parent = value; + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) { } - public String getCode() { - return this.code; + @Override + public void checkClientTrusted(X509Certificate[] x509Certificates, String s, Socket socket) { } - public void setCode(String value) { - this.code = value; + @Override + public void checkServerTrusted(X509Certificate[] x509Certificates, String s, Socket socket) { } - public String getPath() { - return this.path; + @Override + public void checkClientTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) { } - public void setPath(String value) { - this.path = value; + @Override + public void checkServerTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) { } } diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/DistinguishedNameParser.java b/bus-http/src/main/java/org/aoju/bus/http/secure/DistinguishedNameParser.java index 4ee2628ec2..232bdf5e6e 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/DistinguishedNameParser.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/DistinguishedNameParser.java @@ -35,8 +35,8 @@ * 它不支持十六进制字符串样式的值. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class DistinguishedNameParser { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/HostnameVerifier.java b/bus-http/src/main/java/org/aoju/bus/http/secure/HostnameVerifier.java index 985041ecdf..6a06a20240 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/HostnameVerifier.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/HostnameVerifier.java @@ -39,8 +39,8 @@ * 一个与RFC 2818一致的HostnameVerifier * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class HostnameVerifier implements javax.net.ssl.HostnameVerifier { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/NetAuthenticator.java b/bus-http/src/main/java/org/aoju/bus/http/secure/NetAuthenticator.java index 2286c8f713..8eeeacdfda 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/NetAuthenticator.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/NetAuthenticator.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class NetAuthenticator implements Authenticator { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/SSLContextBuilder.java b/bus-http/src/main/java/org/aoju/bus/http/secure/SSLContextBuilder.java new file mode 100644 index 0000000000..82b3ea1b5d --- /dev/null +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/SSLContextBuilder.java @@ -0,0 +1,208 @@ +/********************************************************************************* + * * + * The MIT License (MIT) * + * * + * Copyright (c) 2015-2022 aoju.org and other contributors. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a copy * + * of this software and associated documentation files (the "Software"), to deal * + * in the Software without restriction, including without limitation the rights * + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * + * THE SOFTWARE. * + * * + ********************************************************************************/ +package org.aoju.bus.http.secure; + +import org.aoju.bus.core.builder.Builder; +import org.aoju.bus.core.lang.Http; +import org.aoju.bus.core.lang.exception.InstrumentException; +import org.aoju.bus.core.toolkit.ArrayKit; +import org.aoju.bus.core.toolkit.StringKit; + +import javax.net.ssl.KeyManager; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import java.security.GeneralSecurityException; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; + +/** + * {@link SSLContext}构建器,可以自定义: + *
      + *
    • 协议(protocol),默认TLS
    • + *
    • {@link KeyManager},默认空
    • + *
    • {@link TrustManager},默认{@link DefaultTrustManager},即信任全部
    • + *
    • {@link SecureRandom}
    • + *
    + *

    + * 构建后可获得{@link SSLContext},通过调用{@link SSLContext#getSocketFactory()}获取{@link javax.net.ssl.SSLSocketFactory} + * + * @author Kimi Liu + * @version 6.5.0 + * @since Java 17+ + */ +public class SSLContextBuilder implements Builder { + + private static final long serialVersionUID = 1L; + + private String protocol = Http.TLS; + private KeyManager[] keyManagers; + private TrustManager[] trustManagers = {DefaultTrustManager.INSTANCE}; + private SecureRandom secureRandom = new SecureRandom(); + + + /** + * 创建 SSLContextBuilder + * + * @return SSLContextBuilder + */ + public static SSLContextBuilder create() { + return new SSLContextBuilder(); + } + + /** + * 创建{@link SSLContext},默认新人全部 + * + * @param protocol SSL协议,例如TLS等 + * @return {@link SSLContext} + * @throws InstrumentException 包装 GeneralSecurityException异常 + */ + public static SSLContext createSSLContext(String protocol) throws InstrumentException { + return create().setProtocol(protocol).build(); + } + + /** + * 创建{@link SSLContext} + * + * @param protocol SSL协议,例如TLS等 + * @param keyManager 密钥管理器,{@code null}表示无 + * @param trustManager 信任管理器, {@code null}表示无 + * @return {@link SSLContext} + * @throws InstrumentException 包装 GeneralSecurityException异常 + */ + public static SSLContext createSSLContext(String protocol, KeyManager keyManager, TrustManager trustManager) + throws InstrumentException { + return createSSLContext(protocol, + keyManager == null ? null : new KeyManager[]{keyManager}, + trustManager == null ? null : new TrustManager[]{trustManager}); + } + + /** + * 创建和初始化{@link SSLContext} + * + * @param protocol SSL协议,例如TLS等 + * @param keyManagers 密钥管理器,{@code null}表示无 + * @param trustManagers 信任管理器, {@code null}表示无 + * @return {@link SSLContext} + * @throws InstrumentException 包装 GeneralSecurityException异常 + */ + public static SSLContext createSSLContext(String protocol, KeyManager[] keyManagers, TrustManager[] trustManagers) throws InstrumentException { + return SSLContextBuilder.create() + .setProtocol(protocol) + .setKeyManagers(keyManagers) + .setTrustManagers(trustManagers).build(); + } + + /** + * 设置协议。例如TLS等 + * + * @param protocol 协议 + * @return 自身 + */ + public SSLContextBuilder setProtocol(String protocol) { + if (StringKit.isNotBlank(protocol)) { + this.protocol = protocol; + } + return this; + } + + /** + * 设置信任信息 + * + * @param trustManagers TrustManager列表 + * @return 自身 + */ + public SSLContextBuilder setTrustManagers(TrustManager... trustManagers) { + if (ArrayKit.isNotEmpty(trustManagers)) { + this.trustManagers = trustManagers; + } + return this; + } + + /** + * 设置 JSSE key managers + * + * @param keyManagers JSSE key managers + * @return 自身 + */ + public SSLContextBuilder setKeyManagers(KeyManager... keyManagers) { + if (ArrayKit.isNotEmpty(keyManagers)) { + this.keyManagers = keyManagers; + } + return this; + } + + /** + * 设置 SecureRandom + * + * @param secureRandom SecureRandom + * @return 自己 + */ + public SSLContextBuilder setSecureRandom(SecureRandom secureRandom) { + if (null != secureRandom) { + this.secureRandom = secureRandom; + } + return this; + } + + /** + * 构建{@link SSLContext} + * + * @return {@link SSLContext} + */ + @Override + public SSLContext build() { + return buildQuietly(); + } + + /** + * 构建{@link SSLContext}需要处理异常 + * + * @return {@link SSLContext} + * @throws NoSuchAlgorithmException 无此算法异常 + * @throws KeyManagementException 密钥管理异常 + */ + public SSLContext buildChecked() throws NoSuchAlgorithmException, KeyManagementException { + SSLContext sslContext = SSLContext.getInstance(protocol); + sslContext.init(this.keyManagers, this.trustManagers, this.secureRandom); + return sslContext; + } + + /** + * 构建{@link SSLContext} + * + * @return {@link SSLContext} + * @throws InstrumentException 包装 GeneralSecurityException异常 + */ + public SSLContext buildQuietly() throws InstrumentException { + try { + return buildChecked(); + } catch (GeneralSecurityException e) { + throw new InstrumentException(e); + } + } + +} diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/SSLSocketFactory.java b/bus-http/src/main/java/org/aoju/bus/http/secure/SSLSocketFactory.java index 8b8b857eba..82a77f4438 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/SSLSocketFactory.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/SSLSocketFactory.java @@ -35,8 +35,8 @@ * Https SSL证书 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SSLSocketFactory { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/TlsVersion.java b/bus-http/src/main/java/org/aoju/bus/http/secure/TlsVersion.java index 77f0b7e89f..8e5b2673fd 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/TlsVersion.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/TlsVersion.java @@ -34,8 +34,8 @@ * 查看{@link javax.net.ssl.SSLSocket # setEnabledProtocols} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum TlsVersion { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/TrustRootIndex.java b/bus-http/src/main/java/org/aoju/bus/http/secure/TrustRootIndex.java index 5e301b85a4..a1fb0fa7e0 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/TrustRootIndex.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/TrustRootIndex.java @@ -31,8 +31,8 @@ * 签名证书索引 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TrustRootIndex { diff --git a/bus-http/src/main/java/org/aoju/bus/http/secure/X509TrustManager.java b/bus-http/src/main/java/org/aoju/bus/http/secure/X509TrustManager.java index 88fc52f9a9..855e32a460 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/secure/X509TrustManager.java +++ b/bus-http/src/main/java/org/aoju/bus/http/secure/X509TrustManager.java @@ -38,8 +38,8 @@ * 证书管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class X509TrustManager implements javax.net.ssl.X509TrustManager { diff --git a/bus-http/src/main/java/org/aoju/bus/http/socket/CoverWebSocket.java b/bus-http/src/main/java/org/aoju/bus/http/socket/CoverWebSocket.java index d58efea76c..b893ea0ea8 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/socket/CoverWebSocket.java +++ b/bus-http/src/main/java/org/aoju/bus/http/socket/CoverWebSocket.java @@ -307,8 +307,8 @@ public void onFailure(WebSocket webSocket, Throwable t, Response response) { /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public static class Client extends CoverHttp { @@ -457,8 +457,8 @@ public int pongSeconds() { /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public static class Message extends AbstractBody { diff --git a/bus-http/src/main/java/org/aoju/bus/http/socket/RealWebSocket.java b/bus-http/src/main/java/org/aoju/bus/http/socket/RealWebSocket.java index 77a589711a..17f63897eb 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/socket/RealWebSocket.java +++ b/bus-http/src/main/java/org/aoju/bus/http/socket/RealWebSocket.java @@ -52,8 +52,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RealWebSocket implements WebSocket, WebSocketReader.FrameCallback { diff --git a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocket.java b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocket.java index f7998e1aba..0ecc175193 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocket.java +++ b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocket.java @@ -34,8 +34,8 @@ * 通常是{@link Httpd} 在正常操作时,每个web套接字将通过一系列状态进行处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface WebSocket { diff --git a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketListener.java b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketListener.java index a9b2023dd7..6595756893 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketListener.java +++ b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketListener.java @@ -32,8 +32,8 @@ * web socket 监听器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class WebSocketListener { diff --git a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketProtocol.java b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketProtocol.java index d7e920cd46..40dae98101 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketProtocol.java +++ b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketProtocol.java @@ -32,8 +32,8 @@ * web socket协议信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class WebSocketProtocol { diff --git a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketReader.java b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketReader.java index 1f2605fe7b..925787931e 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketReader.java +++ b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketReader.java @@ -39,8 +39,8 @@ * 这个类不是线程安全的 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class WebSocketReader { diff --git a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketWriter.java b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketWriter.java index 1a1bb6e2fc..9fb2c89e71 100644 --- a/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketWriter.java +++ b/bus-http/src/main/java/org/aoju/bus/http/socket/WebSocketWriter.java @@ -35,8 +35,8 @@ * 这个类不是线程安全的 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class WebSocketWriter { diff --git a/bus-image/pom.xml b/bus-image/pom.xml index 0441de0e94..ddf0314bf7 100755 --- a/bus-image/pom.xml +++ b/bus-image/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-image - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 @@ -71,7 +71,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -80,7 +80,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -114,7 +114,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -127,7 +127,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -141,7 +141,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-image/src/main/java/org/aoju/bus/image/Args.java b/bus-image/src/main/java/org/aoju/bus/image/Args.java index 49b5897bf7..92a1f5a232 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Args.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Args.java @@ -42,8 +42,8 @@ * 请求参数信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Args { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Builder.java b/bus-image/src/main/java/org/aoju/bus/image/Builder.java index fa7851ec6b..b69e23f16a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Builder.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Builder.java @@ -53,8 +53,8 @@ * 方法参数等构建器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Builder { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Centre.java b/bus-image/src/main/java/org/aoju/bus/image/Centre.java index a3fddc93c1..063e951814 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/Centre.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Centre.java @@ -50,8 +50,8 @@ * 2. 设备服务进程 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @lombok.Builder @NoArgsConstructor diff --git a/bus-image/src/main/java/org/aoju/bus/image/Device.java b/bus-image/src/main/java/org/aoju/bus/image/Device.java index 544569ae53..2750d733a1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Device.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Device.java @@ -53,8 +53,8 @@ * 设备信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Device implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Dimse.java b/bus-image/src/main/java/org/aoju/bus/image/Dimse.java index b7e18674c1..f0b3c9946a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Dimse.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Dimse.java @@ -33,8 +33,8 @@ * 复合DIMSE服务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Dimse { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Editors.java b/bus-image/src/main/java/org/aoju/bus/image/Editors.java index 49bc0a697e..9a67431467 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Editors.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Editors.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Editors { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Efforts.java b/bus-image/src/main/java/org/aoju/bus/image/Efforts.java index fedfc9342e..dc659b004e 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/Efforts.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Efforts.java @@ -34,8 +34,8 @@ * 即: 后续业务处理支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Efforts { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Format.java b/bus-image/src/main/java/org/aoju/bus/image/Format.java index 648aa16366..f4dec2b7e4 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Format.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Format.java @@ -46,8 +46,8 @@ * 日期格式化等工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Format extends java.text.Format { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Node.java b/bus-image/src/main/java/org/aoju/bus/image/Node.java index e186dc7b71..e7be0426cb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Node.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Node.java @@ -40,8 +40,8 @@ * 服务器信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Node { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Option.java b/bus-image/src/main/java/org/aoju/bus/image/Option.java index 92531552ad..b3cd601283 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Option.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Option.java @@ -35,8 +35,8 @@ * 服务请求选项 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Option { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Status.java b/bus-image/src/main/java/org/aoju/bus/image/Status.java index 07529938c8..a62b348ab2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Status.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Status.java @@ -38,8 +38,8 @@ * 相关处理状态 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Status { diff --git a/bus-image/src/main/java/org/aoju/bus/image/Tag.java b/bus-image/src/main/java/org/aoju/bus/image/Tag.java index 26cd3c3f8d..30d10ca179 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/Tag.java +++ b/bus-image/src/main/java/org/aoju/bus/image/Tag.java @@ -33,8 +33,8 @@ * 文件信息标识 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Tag { diff --git a/bus-image/src/main/java/org/aoju/bus/image/UID.java b/bus-image/src/main/java/org/aoju/bus/image/UID.java index b4338f8282..0aca1cdcca 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/UID.java +++ b/bus-image/src/main/java/org/aoju/bus/image/UID.java @@ -46,8 +46,8 @@ * UID信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UID { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/AcquisitionModality.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/AcquisitionModality.java index c7145ce0db..e7215573f9 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/AcquisitionModality.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/AcquisitionModality.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AcquisitionModality { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/AnatomicRegion.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/AnatomicRegion.java index d94b223f5e..dd5d20507c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/AnatomicRegion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/AnatomicRegion.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AnatomicRegion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveElementDictionary.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveElementDictionary.java index e499347f59..76491d2c22 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveElementDictionary.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveElementDictionary.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ArchiveElementDictionary extends ElementDictionary { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveKey.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveKey.java index 454272bb89..02f5b7f5a7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveKey.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveKey.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ArchiveKey { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveTag.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveTag.java index 76796e911b..c83fc97aff 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveTag.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/ArchiveTag.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ArchiveTag { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationCoercion.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationCoercion.java index 6a4f41c8ad..b8efb05e8b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationCoercion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationCoercion.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeIdentificationCoercion implements AttributesCoercion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationMethod.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationMethod.java index 11be63c2dc..c3a14abcdd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationMethod.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentificationMethod.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeIdentificationMethod { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentifier.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentifier.java index a18eb64aac..db28728d05 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentifier.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/DeIdentifier.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeIdentifier { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/FuzzyStr.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/FuzzyStr.java index 9d9985a0b0..fdd1e8aa3b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/FuzzyStr.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/FuzzyStr.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface FuzzyStr { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/HashUIDMapper.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/HashUIDMapper.java index 5ec81278e9..ae559e2ebe 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/HashUIDMapper.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/HashUIDMapper.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HashUIDMapper implements UIDMapper { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/KPhonetik.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/KPhonetik.java index 4db31e9882..537196bf50 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/KPhonetik.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/KPhonetik.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class KPhonetik implements FuzzyStr { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/Metaphone.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/Metaphone.java index 6360820cea..ac71017082 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/Metaphone.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/Metaphone.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Metaphone implements FuzzyStr { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/Multiframe.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/Multiframe.java index df1aa67be4..2479562733 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/Multiframe.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/Multiframe.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Multiframe { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/Phonem.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/Phonem.java index 668c82cb53..8286d3a287 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/Phonem.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/Phonem.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Phonem implements FuzzyStr { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/Soundex.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/Soundex.java index 4d1ed0ee2d..a08eeea37a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/Soundex.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/Soundex.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Soundex implements FuzzyStr { diff --git a/bus-image/src/main/java/org/aoju/bus/image/builtin/UIDMapper.java b/bus-image/src/main/java/org/aoju/bus/image/builtin/UIDMapper.java index 17f5c4c63e..dda0cad9a3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/builtin/UIDMapper.java +++ b/bus-image/src/main/java/org/aoju/bus/image/builtin/UIDMapper.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface UIDMapper { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ApplicationCache.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ApplicationCache.java index 69c787680b..109b548d87 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ApplicationCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ApplicationCache.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ApplicationCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/AttributeCoercion.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/AttributeCoercion.java index 9a6558a6eb..b41909f25c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/AttributeCoercion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/AttributeCoercion.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AttributeCoercion implements Serializable, Comparable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Availability.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Availability.java index 203f6c1aa4..30219f7986 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Availability.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Availability.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Availability { ONLINE, NEARLINE, OFFLINE, UNAVAILABLE diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/BinaryPrefix.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/BinaryPrefix.java index 012ac8356e..4eca578297 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/BinaryPrefix.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/BinaryPrefix.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum BinaryPrefix { K(1000, 1), diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Capacity.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Capacity.java index d78cada1e9..72299d4ab0 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Capacity.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Capacity.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Capacity implements Cloneable, java.io.Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Configuration.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Configuration.java index 194532d477..8c5e2ec74a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Configuration.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Configuration.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Configuration extends Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationCache.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationCache.java index 83c80688fc..fd16badf3a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationCache.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class ConfigurationCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationChange.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationChange.java index e67d046d16..c96ea13ab0 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationChange.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ConfigurationChange.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConfigurationChange { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeleterThreshold.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeleterThreshold.java index b6f9af9e5e..249b162812 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeleterThreshold.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeleterThreshold.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeleterThreshold extends StorageThreshold implements Comparable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeviceCache.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeviceCache.java index 26c6a75b81..5212e4d6d1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeviceCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DeviceCache.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeviceCache extends ConfigurationCache implements IDeviceCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirReader.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirReader.java index 2bb4a6d479..2b3917e93e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirReader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirReader.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DirReader implements Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirWriter.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirWriter.java index 2ceb377c3e..7c1f17c20a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirWriter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/DirWriter.java @@ -46,8 +46,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DirWriter extends DirReader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/IDeviceCache.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/IDeviceCache.java index 938b1442be..322281bcb3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/IDeviceCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/IDeviceCache.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IDeviceCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Property.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Property.java index abac8e35bc..e009af4ffe 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/Property.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/Property.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Property implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/RetentionPeriod.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/RetentionPeriod.java index 03b66ebb95..2e6c3bf83c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/RetentionPeriod.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/RetentionPeriod.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RetentionPeriod implements Comparable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ScheduleExpression.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ScheduleExpression.java index 5ef686e923..87f2558014 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/ScheduleExpression.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/ScheduleExpression.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ScheduleExpression { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/StorageThreshold.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/StorageThreshold.java index dbf4128bc4..6cbd1fc0d7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/StorageThreshold.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/StorageThreshold.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StorageThreshold { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/WebApplicationCache.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/WebApplicationCache.java index ce4472d859..7a9ca8f079 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/WebApplicationCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/WebApplicationCache.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WebApplicationCache extends ConfigurationCache implements ApplicationCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Attributes.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Attributes.java index f9b0f7e1b7..4b4d6df95d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Attributes.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Attributes.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Attributes implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesCoercion.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesCoercion.java index 849e24ab97..ea8854258c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesCoercion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesCoercion.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface AttributesCoercion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesSelector.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesSelector.java index 2c6e35b457..0033ae4182 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesSelector.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/AttributesSelector.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AttributesSelector implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BinaryValueType.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BinaryValueType.java index 0add4e6737..29a8889a8e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BinaryValueType.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BinaryValueType.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum BinaryValueType implements ValueType { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BulkData.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BulkData.java index e7dae69b02..d38521fe67 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BulkData.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/BulkData.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BulkData implements Value { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Code.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Code.java index 75e6229ad8..5806c5ef42 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Code.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Code.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Code implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DatePrecision.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DatePrecision.java index 7b209afafe..6b2c6364b8 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DatePrecision.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DatePrecision.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DatePrecision { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DateRange.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DateRange.java index 22cf1fac8e..ddb71b6462 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DateRange.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/DateRange.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DateRange implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ElementDictionary.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ElementDictionary.java index e768576f41..a5325af9de 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ElementDictionary.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ElementDictionary.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class ElementDictionary { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Fragments.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Fragments.java index a447188257..29c176c317 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Fragments.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Fragments.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Fragments extends ArrayList implements Value { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IOD.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IOD.java index 2e15bac866..6d5963c3a5 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IOD.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IOD.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IOD extends ArrayList { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IODCache.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IODCache.java index b9d36b8713..7c48e2b871 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IODCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/IODCache.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IODCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Implementation.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Implementation.java index 0703f90e52..d5df917138 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Implementation.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Implementation.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Implementation { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Issuer.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Issuer.java index ddfa907d54..a859032694 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Issuer.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Issuer.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Issuer implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ItemPointer.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ItemPointer.java index 54df5470d7..fb23cc474d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ItemPointer.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ItemPointer.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ItemPointer implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Keyword.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Keyword.java index 51037748f1..b57e183ae3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Keyword.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Keyword.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Keyword { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/MergeAttributesCoercion.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/MergeAttributesCoercion.java index 0e12d154d3..c6cd9c1035 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/MergeAttributesCoercion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/MergeAttributesCoercion.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MergeAttributesCoercion implements AttributesCoercion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/NullifyAttributesCoercion.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/NullifyAttributesCoercion.java index 42724a86e2..c7e007a14b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/NullifyAttributesCoercion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/NullifyAttributesCoercion.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullifyAttributesCoercion implements AttributesCoercion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/PersonName.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/PersonName.java index 4f7e16b404..908b86b448 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/PersonName.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/PersonName.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PersonName { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/RemapUIDAttributesCoercion.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/RemapUIDAttributesCoercion.java index ccc0e16145..456b774552 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/RemapUIDAttributesCoercion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/RemapUIDAttributesCoercion.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RemapUIDAttributesCoercion implements AttributesCoercion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Sequence.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Sequence.java index 11f6891c61..952696c106 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Sequence.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Sequence.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Sequence extends ArrayList implements Value { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SequenceValueType.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SequenceValueType.java index 9ac1e034ac..23cf1fe5d0 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SequenceValueType.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SequenceValueType.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum SequenceValueType implements ValueType { SQ; diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SpecificCharacterSet.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SpecificCharacterSet.java index 4973fd7ed0..d7407273ce 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SpecificCharacterSet.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/SpecificCharacterSet.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SpecificCharacterSet { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StandardDictionary.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StandardDictionary.java index cf38384d6d..eb4b496a3a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StandardDictionary.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StandardDictionary.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StandardDictionary extends ElementDictionary { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StringValueType.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StringValueType.java index a9d47da312..02538e53a1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StringValueType.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/StringValueType.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum StringValueType implements ValueType { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/TemporalType.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/TemporalType.java index b7fed50c22..1c6dc1fbf4 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/TemporalType.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/TemporalType.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum TemporalType { DA { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/VR.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/VR.java index 9d2c57d2e1..316d73972d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/VR.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/VR.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum VR { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValidationResult.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValidationResult.java index 3d44ec6bcb..cbeea3b507 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValidationResult.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValidationResult.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ValidationResult { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Value.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Value.java index 50cfd44f99..f82accb2a9 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Value.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/Value.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Value { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueSelector.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueSelector.java index eee4607603..49f3768553 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueSelector.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueSelector.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ValueSelector implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueType.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueType.java index f64bbd962b..79723042ea 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueType.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/data/ValueType.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ValueType { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BasicBulkDataDescriptor.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BasicBulkDataDescriptor.java index e3f7c9d1ef..c1ed9e52bb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BasicBulkDataDescriptor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BasicBulkDataDescriptor.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicBulkDataDescriptor implements BulkDataDescriptor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataCreator.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataCreator.java index 3a330df5a9..734a8d9f02 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataCreator.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataCreator.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BulkDataCreator { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataDescriptor.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataDescriptor.java index 0dc43ecc65..f7539718d1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataDescriptor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/BulkDataDescriptor.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BulkDataDescriptor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ContentHandlerAdapter.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ContentHandlerAdapter.java index 8ed41da026..4dda490f0c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ContentHandlerAdapter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ContentHandlerAdapter.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ContentHandlerAdapter extends DefaultHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageEncodingOptions.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageEncodingOptions.java index c49fda0239..26640f5ef2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageEncodingOptions.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageEncodingOptions.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageEncodingOptions { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputHandler.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputHandler.java index fbf9b1e9d9..26679d50bb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputHandler.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ImageInputHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputStream.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputStream.java index 86f8973801..735b360210 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageInputStream.java @@ -47,8 +47,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageInputStream extends FilterInputStream implements ImageInputHandler, BulkDataCreator { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageOutputStream.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageOutputStream.java index de2dc6e933..16e1e56214 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageOutputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/ImageOutputStream.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageOutputStream extends FilterOutputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFInputStreamAdapter.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFInputStreamAdapter.java index d6e62a4210..725bee8c62 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFInputStreamAdapter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFInputStreamAdapter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RAFInputStreamAdapter extends InputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFOutputStreamAdapter.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFOutputStreamAdapter.java index a0d4d030bb..0881338116 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFOutputStreamAdapter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/RAFOutputStreamAdapter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RAFOutputStreamAdapter extends OutputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXReader.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXReader.java index 385c3e3839..86cb465d69 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXReader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXReader.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SAXReader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXTransformer.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXTransformer.java index ab2b964065..b9abca1760 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXTransformer.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXTransformer.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class SAXTransformer { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXWriter.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXWriter.java index 4e93e02c19..34b496a094 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXWriter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/SAXWriter.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SAXWriter implements ImageInputHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/TemplatesCache.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/TemplatesCache.java index 6e469fc036..fcd3aa62f9 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/TemplatesCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/TemplatesCache.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TemplatesCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/XSLTAttributesCoercion.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/XSLTAttributesCoercion.java index 845b4340ae..c45e9b8a40 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/XSLTAttributesCoercion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/io/XSLTAttributesCoercion.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class XSLTAttributesCoercion implements AttributesCoercion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/AbstractStowrs.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/AbstractStowrs.java index 60a221fb8c..d48a7ce9e4 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/AbstractStowrs.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/AbstractStowrs.java @@ -50,8 +50,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AbstractStowrs implements AutoCloseable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/HeaderFieldValues.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/HeaderFieldValues.java index 7e421826a5..d26340eb24 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/HeaderFieldValues.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/HeaderFieldValues.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HeaderFieldValues { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/InvokeImageDisplay.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/InvokeImageDisplay.java index adb37a8dc5..ffc510139c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/InvokeImageDisplay.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/InvokeImageDisplay.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InvokeImageDisplay { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartInputStream.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartInputStream.java index 1332c15faa..7242ff0d3f 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartInputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartInputStream.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MultipartInputStream extends FilterInputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartParser.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartParser.java index 3339e3b7d2..a45faae224 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartParser.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartParser.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MultipartParser { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartReader.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartReader.java index d528253278..fb281fddc2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartReader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/MultipartReader.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MultipartReader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordFactory.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordFactory.java index f505aa1f46..fbd8731c88 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordFactory.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordFactory.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RecordFactory { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordType.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordType.java index a5db89bec5..8da3601bc3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordType.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/RecordType.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum RecordType { PATIENT, diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsMultiFiles.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsMultiFiles.java index cf9bdbe7ea..e5a406c0cb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsMultiFiles.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsMultiFiles.java @@ -48,8 +48,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StowrsMultiFiles extends AbstractStowrs { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsSingleFile.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsSingleFile.java index 99c7eeaf50..58a1209530 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsSingleFile.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/StowrsSingleFile.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StowrsSingleFile extends AbstractStowrs implements UploadSingleFile { diff --git a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/UploadSingleFile.java b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/UploadSingleFile.java index 32d94f59c6..0323e40bce 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/UploadSingleFile.java +++ b/bus-image/src/main/java/org/aoju/bus/image/galaxy/media/UploadSingleFile.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface UploadSingleFile extends AutoCloseable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/AdvancedHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/AdvancedHandler.java index 93586b3c37..43392a5286 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/AdvancedHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/AdvancedHandler.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum AdvancedHandler implements TCPHandler { INSTANCE; diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/ApplicationEntity.java b/bus-image/src/main/java/org/aoju/bus/image/metric/ApplicationEntity.java index 8e0a774aaf..97135bccea 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/ApplicationEntity.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/ApplicationEntity.java @@ -46,8 +46,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ApplicationEntity implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Association.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Association.java index e22b06478c..0f45276497 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Association.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Association.java @@ -47,8 +47,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Association { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationHandler.java index d24b915355..68a642bccf 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationHandler.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AssociationHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationListener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationListener.java index f24402a380..3d54af06ba 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationListener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationListener.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface AssociationListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationMonitor.java b/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationMonitor.java index d8f8206683..01f72f33bf 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationMonitor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/AssociationMonitor.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface AssociationMonitor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/AttributeContext.java b/bus-image/src/main/java/org/aoju/bus/image/metric/AttributeContext.java index 7cc7f2b2ba..4656d4692a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/AttributeContext.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/AttributeContext.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class AttributeContext { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/CancelListener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/CancelListener.java index c25e8fa382..4df3dbea83 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/CancelListener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/CancelListener.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CancelListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/CancelRQHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/CancelRQHandler.java index c67ba99b0a..4449d8df42 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/CancelRQHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/CancelRQHandler.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CancelRQHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Commands.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Commands.java index d2552959e2..9996a47292 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Commands.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Commands.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Commands { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Compatible.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Compatible.java index 9bada922b7..d1f6b532f7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Compatible.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Compatible.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Compatible { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Connection.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Connection.java index 3d9fc3c642..462ca12f5a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Connection.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Connection.java @@ -52,8 +52,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Connection implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriter.java b/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriter.java index df64062b60..401e32b0ca 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriter.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DataWriter { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriterAdapter.java b/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriterAdapter.java index eb61baa1b6..913fed3d29 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriterAdapter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/DataWriterAdapter.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DataWriterAdapter implements DataWriter { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/DefaultEditors.java b/bus-image/src/main/java/org/aoju/bus/image/metric/DefaultEditors.java index e2bf29803a..ac3cd15b3c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/DefaultEditors.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/DefaultEditors.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultEditors implements Editors { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRQHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRQHandler.java index a30c3d7b14..b6f2c0f5ab 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRQHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRQHandler.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DimseRQHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSP.java index d8933590f3..b141dd1087 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSP.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DimseRSP { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSPHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSPHandler.java index ae0acf049e..c52faf35b4 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSPHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/DimseRSPHandler.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DimseRSPHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/FutureDimseRSP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/FutureDimseRSP.java index 48a2c32109..836a8daca5 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/FutureDimseRSP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/FutureDimseRSP.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FutureDimseRSP extends DimseRSPHandler implements DimseRSP { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/IdentityNegotiator.java b/bus-image/src/main/java/org/aoju/bus/image/metric/IdentityNegotiator.java index 3fb69288e1..fefa34f939 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/IdentityNegotiator.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/IdentityNegotiator.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IdentityNegotiator { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/ImageException.java b/bus-image/src/main/java/org/aoju/bus/image/metric/ImageException.java index 0c1a218f62..2ddff91297 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/ImageException.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/ImageException.java @@ -37,8 +37,8 @@ * 自定义异常: 影像异常 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageException extends RelevantException { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/InputStreamWriter.java b/bus-image/src/main/java/org/aoju/bus/image/metric/InputStreamWriter.java index 74b682f01b..ee3e22f7a2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/InputStreamWriter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/InputStreamWriter.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InputStreamWriter implements DataWriter { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/KeycloakClient.java b/bus-image/src/main/java/org/aoju/bus/image/metric/KeycloakClient.java index b26f929b3b..b4ca0e98a7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/KeycloakClient.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/KeycloakClient.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ * @since April 2019 */ public class KeycloakClient { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Monitoring.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Monitoring.java index 1a68ec19dc..a815f13c7a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Monitoring.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Monitoring.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Monitoring { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/PDVInputStream.java b/bus-image/src/main/java/org/aoju/bus/image/metric/PDVInputStream.java index 53be4609b1..58b6c2fb3c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/PDVInputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/PDVInputStream.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class PDVInputStream extends InputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/PDVOutputStream.java b/bus-image/src/main/java/org/aoju/bus/image/metric/PDVOutputStream.java index e4b4fc12d0..a49a575d75 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/PDVOutputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/PDVOutputStream.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class PDVOutputStream extends OutputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Progress.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Progress.java index 02abd072bb..30dcab1a57 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Progress.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Progress.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Progress implements CancelListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/ProgressListener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/ProgressListener.java index 7cdd279e15..57d6c41460 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/ProgressListener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/ProgressListener.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ProgressListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Readable.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Readable.java index c5b0892259..a22c284520 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Readable.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Readable.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Readable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/SSLManagerFactory.java b/bus-image/src/main/java/org/aoju/bus/image/metric/SSLManagerFactory.java index 16d1d9dc64..b69773021f 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/SSLManagerFactory.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/SSLManagerFactory.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class SSLManagerFactory { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/SocketListener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/SocketListener.java index c4d6d3b380..38e311e66e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/SocketListener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/SocketListener.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SocketListener extends Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/StorageOptions.java b/bus-image/src/main/java/org/aoju/bus/image/metric/StorageOptions.java index 6d160eee1c..6fb1a1f049 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/StorageOptions.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/StorageOptions.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StorageOptions implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/TagCamel.java b/bus-image/src/main/java/org/aoju/bus/image/metric/TagCamel.java index d9cac91bb4..ea2994ac19 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/TagCamel.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/TagCamel.java @@ -53,8 +53,8 @@ * 这些标记的作用是提供公共标记(DICOM和non DICOM)的高级可访问性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TagCamel implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/TagValue.java b/bus-image/src/main/java/org/aoju/bus/image/metric/TagValue.java index 33a60e709f..dfca3fa436 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/TagValue.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/TagValue.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TagValue { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/TagView.java b/bus-image/src/main/java/org/aoju/bus/image/metric/TagView.java index c70583d119..2b8019662b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/TagView.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/TagView.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TagView { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Tagable.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Tagable.java index fc04a695cb..06e6a0a132 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Tagable.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Tagable.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Tagable extends Readable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Thumbnail.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Thumbnail.java index b00da31f81..8f035e3222 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Thumbnail.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Thumbnail.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Thumbnail { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/Timeout.java b/bus-image/src/main/java/org/aoju/bus/image/metric/Timeout.java index 6e97e02339..d126c28d72 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/Timeout.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/Timeout.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Timeout implements Runnable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/TransferCapability.java b/bus-image/src/main/java/org/aoju/bus/image/metric/TransferCapability.java index 8628237e92..0dda98f9fd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/TransferCapability.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/TransferCapability.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TransferCapability implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/WebApplication.java b/bus-image/src/main/java/org/aoju/bus/image/metric/WebApplication.java index 72c7a4795c..6e409864d2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/WebApplication.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/WebApplication.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WebApplication { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/AEExtension.java b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/AEExtension.java index 7dd0347110..9e4316c130 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/AEExtension.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/AEExtension.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AEExtension implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/DeviceExtension.java b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/DeviceExtension.java index 34eb5b5d00..d0a2a9a35e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/DeviceExtension.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/DeviceExtension.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeviceExtension implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7ApplicationExtension.java b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7ApplicationExtension.java index 039d58aca2..7fb614b321 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7ApplicationExtension.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7ApplicationExtension.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7ApplicationExtension implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7DeviceExtension.java b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7DeviceExtension.java index cf29b38bae..5f35d6d4ab 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7DeviceExtension.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/HL7DeviceExtension.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7DeviceExtension extends DeviceExtension { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageReaderExtension.java b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageReaderExtension.java index f1534db830..eb6dff3744 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageReaderExtension.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageReaderExtension.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageReaderExtension extends DeviceExtension { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageWriterExtension.java b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageWriterExtension.java index 807eca626c..3c4330fa11 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageWriterExtension.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/acquire/ImageWriterExtension.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageWriterExtension extends DeviceExtension { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Listener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Listener.java index eb69f34c4b..aab5bb1611 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Listener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Listener.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultHL7Listener implements HL7MessageListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Service.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Service.java index 04b0c992f7..8b9dedbffb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Service.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/DefaultHL7Service.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultHL7Service extends DefaultHL7Listener implements HL7Service { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/Delimiter.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/Delimiter.java index 82cc15cec7..54279e2807 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/Delimiter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/Delimiter.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Delimiter { field { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/ERRSegment.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/ERRSegment.java index 4f25458a2f..cc05daac24 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/ERRSegment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/ERRSegment.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ERRSegment extends HL7Segment { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Application.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Application.java index 4ea538668d..9b5686d257 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Application.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Application.java @@ -42,8 +42,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Application implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationCache.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationCache.java index 751360fe38..5d2c91c1b7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationCache.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7ApplicationCache extends ConfigurationCache implements IHL7ApplicationCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationInfo.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationInfo.java index 1def44a2a3..366ea6430a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationInfo.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ApplicationInfo.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7ApplicationInfo implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Charset.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Charset.java index 3d9e23e428..2c099c31ac 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Charset.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Charset.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class HL7Charset { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Configuration.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Configuration.java index 47384e941f..0c524bd817 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Configuration.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Configuration.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface HL7Configuration { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Connection.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Connection.java index b04ad2e455..8e400f269c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Connection.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Connection.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Connection implements Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ConnectionMonitor.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ConnectionMonitor.java index 4fa2c4cc28..c3c2c1d22e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ConnectionMonitor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ConnectionMonitor.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface HL7ConnectionMonitor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ContentHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ContentHandler.java index c887e54673..e9cbc4f7df 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ContentHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ContentHandler.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7ContentHandler extends DefaultHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Exception.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Exception.java index b3620205a3..aee2d93c70 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Exception.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Exception.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Exception extends Exception { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Handler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Handler.java index e3a022d5fd..84ccdfe099 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Handler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Handler.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum HL7Handler implements TCPHandler { INSTANCE; diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Message.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Message.java index dbc88900ce..40e6a70c0e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Message.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Message.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Message extends ArrayList { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7MessageListener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7MessageListener.java index 1e200b867d..8a297283c2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7MessageListener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7MessageListener.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface HL7MessageListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Parser.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Parser.java index 9ec37bcace..96f6f39625 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Parser.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Parser.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Parser { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Segment.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Segment.java index 7507f65b28..c0e443c102 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Segment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Segment.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Segment implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Service.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Service.java index 6f350c1547..c0a448f84c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Service.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7Service.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface HL7Service extends HL7MessageListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ServiceRegistry.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ServiceRegistry.java index 89d259e24b..8390592723 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ServiceRegistry.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/HL7ServiceRegistry.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7ServiceRegistry extends DefaultHL7Listener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/IHL7ApplicationCache.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/IHL7ApplicationCache.java index b31dcde05f..64f63cb8aa 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/IHL7ApplicationCache.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/IHL7ApplicationCache.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IHL7ApplicationCache { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPConnection.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPConnection.java index 4e3cad8146..a05909bbf9 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPConnection.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPConnection.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MLLPConnection implements Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPInputStream.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPInputStream.java index c51d716946..fc88638039 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPInputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPInputStream.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MLLPInputStream extends BufferedInputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPOutputStream.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPOutputStream.java index 878101f170..c111d771e8 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPOutputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/MLLPOutputStream.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MLLPOutputStream extends FilterOutputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/UnparsedHL7Message.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/UnparsedHL7Message.java index 0a180eca20..a774b88d56 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/UnparsedHL7Message.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/hl7/UnparsedHL7Message.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnparsedHL7Message implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPHandler.java index 100fd837d8..df76b3b71e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPHandler.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TCPHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPListener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPListener.java index 6fa7514d07..22d5e900e0 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPListener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/TCPListener.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TCPListener implements SocketListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPHandler.java index d403f0f9f4..49b3b3163d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPHandler.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface UDPHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPListener.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPListener.java index 50ee393bd4..c050feb610 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPListener.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/net/UDPListener.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UDPListener implements SocketListener { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAbort.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAbort.java index 4bc5d33072..24ba0845ea 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAbort.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAbort.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AAbort extends IOException { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateAC.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateAC.java index 1bb3f4d9a2..26944fc4fa 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateAC.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateAC.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AAssociateAC extends AAssociateRQAC { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRJ.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRJ.java index a40baa7b86..4fcadeea4a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRJ.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRJ.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AAssociateRJ extends IOException { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQ.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQ.java index cc3dad23c7..d8edbdd844 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQ.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQ.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AAssociateRQ extends AAssociateRQAC { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQAC.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQAC.java index 939490508b..97783fd004 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQAC.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/AAssociateRQAC.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AAssociateRQAC { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/CommonExtended.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/CommonExtended.java index 1f4ba1a434..83da81e9a0 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/CommonExtended.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/CommonExtended.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CommonExtended { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/ExtendedNegotiate.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/ExtendedNegotiate.java index 504c4f5b15..5b8f80bcdd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/ExtendedNegotiate.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/ExtendedNegotiate.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExtendedNegotiate { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityAC.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityAC.java index 6e74c93b3d..8c75d64130 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityAC.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityAC.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IdentityAC { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityRQ.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityRQ.java index bfd9408007..d148198431 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityRQ.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/IdentityRQ.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IdentityRQ { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUDecoder.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUDecoder.java index bcc11967c8..584f52e0f9 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUDecoder.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUDecoder.java @@ -51,8 +51,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PDUDecoder extends PDVInputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUEncoder.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUEncoder.java index 6a3ea6fe8e..862d0ae5e3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUEncoder.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/PDUEncoder.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PDUEncoder extends PDVOutputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/Presentation.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/Presentation.java index 408cd441bd..701f307e07 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/Presentation.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/Presentation.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Presentation { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/RoleSelection.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/RoleSelection.java index f2284b8643..c0ce5cdd5b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/RoleSelection.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/pdu/RoleSelection.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RoleSelection { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryRequest.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryRequest.java deleted file mode 100755 index 09bc39c529..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryRequest.java +++ /dev/null @@ -1,113 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.math.BigInteger; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"responseOption", "adhocQuery"}) -@XmlRootElement(name = "AdhocQueryRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class AdhocQueryRequest extends RegistryRequestType { - - @XmlElement(name = "ResponseOption", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", required = true) - protected ResponseOptionType responseOption; - @XmlElement(name = "AdhocQuery", required = true) - protected AdhocQueryType adhocQuery; - @XmlAttribute(name = "federated") - protected Boolean federated; - @XmlAttribute(name = "federation") - @XmlSchemaType(name = "anyURI") - protected String federation; - @XmlAttribute(name = "startIndex") - protected BigInteger startIndex; - @XmlAttribute(name = "maxResults") - protected BigInteger maxResults; - - public ResponseOptionType getResponseOption() { - return this.responseOption; - } - - public void setResponseOption(ResponseOptionType value) { - this.responseOption = value; - } - - public AdhocQueryType getAdhocQuery() { - return this.adhocQuery; - } - - public void setAdhocQuery(AdhocQueryType value) { - this.adhocQuery = value; - } - - public boolean isFederated() { - - if (null == this.federated) { - return false; - } - return this.federated.booleanValue(); - } - - public void setFederated(Boolean value) { - this.federated = value; - } - - public String getFederation() { - return this.federation; - } - - public void setFederation(String value) { - this.federation = value; - } - - public BigInteger getStartIndex() { - if (null == this.startIndex) { - return new BigInteger("0"); - } - return this.startIndex; - } - - public void setStartIndex(BigInteger value) { - this.startIndex = value; - } - - public BigInteger getMaxResults() { - if (null == this.maxResults) { - return new BigInteger("-1"); - } - return this.maxResults; - } - - public void setMaxResults(BigInteger value) { - this.maxResults = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryResponse.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryResponse.java deleted file mode 100755 index c535e65138..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryResponse.java +++ /dev/null @@ -1,75 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.math.BigInteger; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"registryObjectList"}) -@XmlRootElement(name = "AdhocQueryResponse", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class AdhocQueryResponse extends RegistryResponseType { - - @XmlElement(name = "RegistryObjectList", required = true) - protected RegistryObjectListType registryObjectList; - @XmlAttribute(name = "startIndex") - protected BigInteger startIndex; - @XmlAttribute(name = "totalResultCount") - protected BigInteger totalResultCount; - - public RegistryObjectListType getRegistryObjectList() { - return this.registryObjectList; - } - - public void setRegistryObjectList(RegistryObjectListType value) { - this.registryObjectList = value; - } - - public BigInteger getStartIndex() { - if (null == this.startIndex) { - return new BigInteger("0"); - } - return this.startIndex; - } - - public void setStartIndex(BigInteger value) { - this.startIndex = value; - } - - public BigInteger getTotalResultCount() { - return this.totalResultCount; - } - - public void setTotalResultCount(BigInteger value) { - this.totalResultCount = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryType.java deleted file mode 100755 index 6c65c6e11f..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AdhocQueryType.java +++ /dev/null @@ -1,53 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "AdhocQueryType", propOrder = {"queryExpression"}) -public class AdhocQueryType extends RegistryObjectType { - - @XmlElement(name = "QueryExpression") - protected QueryExpressionType queryExpression; - - public QueryExpressionType getQueryExpression() { - return this.queryExpression; - } - - public void setQueryExpression(QueryExpressionType value) { - this.queryExpression = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationBuilder.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationBuilder.java deleted file mode 100755 index ce7afcc7e3..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationBuilder.java +++ /dev/null @@ -1,69 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class AssociationBuilder { - - private final AssociationType result; - - public AssociationBuilder(String id) { - this.result = new AssociationType(); - this.result.setId(id); - this.result.setObjectType("urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Association"); - } - - public AssociationType build() { - return this.result; - } - - public AssociationBuilder associationType(String value) { - this.result.setAssociationType(value); - return this; - } - - public AssociationBuilder sourceObject(String value) { - this.result.setSourceObject(value); - return this; - } - - public AssociationBuilder targetObject(String value) { - this.result.setTargetObject(value); - return this; - } - - public AssociationBuilder submissionSetStatus(String value) { - this.result.getSlot().add(new SlotBuilder("SubmissionSetStatus") - .valueList(value) - .build()); - return this; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationQueryType.java deleted file mode 100755 index 3aa387a394..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationQueryType.java +++ /dev/null @@ -1,72 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "AssociationQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"associationTypeQuery", "sourceObjectQuery", "targetObjectQuery"}) -public class AssociationQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "AssociationTypeQuery") - protected ClassificationNodeQueryType associationTypeQuery; - @XmlElement(name = "SourceObjectQuery") - protected RegistryObjectQueryType sourceObjectQuery; - @XmlElement(name = "TargetObjectQuery") - protected RegistryObjectQueryType targetObjectQuery; - - public ClassificationNodeQueryType getAssociationTypeQuery() { - return this.associationTypeQuery; - } - - public void setAssociationTypeQuery(ClassificationNodeQueryType value) { - this.associationTypeQuery = value; - } - - public RegistryObjectQueryType getSourceObjectQuery() { - return this.sourceObjectQuery; - } - - public void setSourceObjectQuery(RegistryObjectQueryType value) { - this.sourceObjectQuery = value; - } - - public RegistryObjectQueryType getTargetObjectQuery() { - return this.targetObjectQuery; - } - - public void setTargetObjectQuery(RegistryObjectQueryType value) { - this.targetObjectQuery = value; - } -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationType.java deleted file mode 100755 index 3f07dcd19d..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AssociationType.java +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "AssociationType") -public class AssociationType extends RegistryObjectType { - - @XmlAttribute(name = "associationType", required = true) - protected String associationType; - @XmlAttribute(name = "sourceObject", required = true) - protected String sourceObject; - @XmlAttribute(name = "targetObject", required = true) - protected String targetObject; - - public String getAssociationType() { - return this.associationType; - } - - public void setAssociationType(String value) { - this.associationType = value; - } - - public String getSourceObject() { - return this.sourceObject; - } - - public void setSourceObject(String value) { - this.sourceObject = value; - } - - public String getTargetObject() { - return this.targetObject; - } - - public void setTargetObject(String value) { - this.targetObject = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AuditableEventQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AuditableEventQueryType.java deleted file mode 100755 index 7570b79cc7..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AuditableEventQueryType.java +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "AuditableEventQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"affectedObjectQuery", "eventTypeQuery", "userQuery"}) -public class AuditableEventQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "AffectedObjectQuery") - protected List affectedObjectQuery; - @XmlElement(name = "EventTypeQuery") - protected ClassificationNodeQueryType eventTypeQuery; - @XmlElement(name = "UserQuery") - protected UserQueryType userQuery; - - public List getAffectedObjectQuery() { - if (null == this.affectedObjectQuery) { - this.affectedObjectQuery = new ArrayList(); - } - return this.affectedObjectQuery; - } - - public ClassificationNodeQueryType getEventTypeQuery() { - return this.eventTypeQuery; - } - - public void setEventTypeQuery(ClassificationNodeQueryType value) { - this.eventTypeQuery = value; - } - - public UserQueryType getUserQuery() { - return this.userQuery; - } - - public void setUserQuery(UserQueryType value) { - this.userQuery = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AuditableEventType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AuditableEventType.java deleted file mode 100755 index 214ba920cf..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/AuditableEventType.java +++ /dev/null @@ -1,93 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import javax.xml.datatype.XMLGregorianCalendar; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "AuditableEventType", propOrder = {"affectedObjects"}) -public class AuditableEventType extends RegistryObjectType { - - @XmlElement(required = true) - protected ObjectRefListType affectedObjects; - @XmlAttribute(name = "eventType", required = true) - protected String eventType; - @XmlAttribute(name = "timestamp", required = true) - @XmlSchemaType(name = "dateTime") - protected XMLGregorianCalendar timestamp; - @XmlAttribute(name = "user", required = true) - protected String user; - @XmlAttribute(name = "requestId", required = true) - protected String requestId; - - public ObjectRefListType getAffectedObjects() { - return this.affectedObjects; - } - - public void setAffectedObjects(ObjectRefListType value) { - this.affectedObjects = value; - } - - public String getEventType() { - return this.eventType; - } - - public void setEventType(String value) { - this.eventType = value; - } - - public XMLGregorianCalendar getTimestamp() { - return this.timestamp; - } - - public void setTimestamp(XMLGregorianCalendar value) { - this.timestamp = value; - } - - public String getUser() { - return this.user; - } - - public void setUser(String value) { - this.user = value; - } - - - public String getRequestId() { - return this.requestId; - } - - public void setRequestId(String value) { - this.requestId = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/BranchType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/BranchType.java deleted file mode 100755 index d28d4a012c..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/BranchType.java +++ /dev/null @@ -1,43 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlSeeAlso; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "BranchType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -@XmlSeeAlso({InternationalStringBranchType.class, SlotBranchType.class, QueryExpressionBranchType.class}) -public abstract class BranchType extends FilterQueryType { - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationBuilder.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationBuilder.java deleted file mode 100755 index f93146a9ad..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationBuilder.java +++ /dev/null @@ -1,77 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import org.aoju.bus.image.galaxy.data.Code; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class ClassificationBuilder { - - private final ClassificationType result; - - public ClassificationBuilder(String id) { - this.result = new ClassificationType(); - this.result.setId(id); - this.result.setObjectType("urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"); - } - - public ClassificationType build() { - return this.result; - } - - public ClassificationBuilder classificationScheme(String value) { - this.result.setClassificationScheme(value); - return this; - } - - public ClassificationBuilder classifiedObject(String value) { - this.result.setClassifiedObject(value); - return this; - } - - public ClassificationBuilder classificationNode(String value) { - this.result.setClassificationNode(value); - return this; - } - - public ClassificationBuilder nodeRepresentation(String value) { - this.result.setNodeRepresentation(value); - return this; - } - - public ClassificationBuilder code(Code code) { - this.result.setNodeRepresentation(code.getCodeValue()); - this.result.setName(InternationalStringBuilder.build(code.getCodeMeaning())); - - this.result.getSlot().add(new SlotBuilder("codingScheme").valueList(code.getCodingSchemeDesignator()).build()); - return this; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationNodeQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationNodeQueryType.java deleted file mode 100755 index e8d0a0d635..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationNodeQueryType.java +++ /dev/null @@ -1,64 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ClassificationNodeQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"parentQuery", "childrenQuery"}) -public class ClassificationNodeQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "ParentQuery") - protected RegistryObjectQueryType parentQuery; - @XmlElement(name = "ChildrenQuery") - protected List childrenQuery; - - public RegistryObjectQueryType getParentQuery() { - return this.parentQuery; - } - - public void setParentQuery(RegistryObjectQueryType value) { - this.parentQuery = value; - } - - public List getChildrenQuery() { - if (null == this.childrenQuery) { - this.childrenQuery = new ArrayList(); - } - return this.childrenQuery; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationQueryType.java deleted file mode 100755 index 1c2cfc42af..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationQueryType.java +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ClassificationQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"classificationSchemeQuery", "classifiedObjectQuery", "classificationNodeQuery"}) -public class ClassificationQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "ClassificationSchemeQuery") - protected ClassificationSchemeQueryType classificationSchemeQuery; - @XmlElement(name = "ClassifiedObjectQuery") - protected RegistryObjectQueryType classifiedObjectQuery; - @XmlElement(name = "ClassificationNodeQuery") - protected ClassificationNodeQueryType classificationNodeQuery; - - public ClassificationSchemeQueryType getClassificationSchemeQuery() { - return this.classificationSchemeQuery; - } - - public void setClassificationSchemeQuery(ClassificationSchemeQueryType value) { - this.classificationSchemeQuery = value; - } - - public RegistryObjectQueryType getClassifiedObjectQuery() { - return this.classifiedObjectQuery; - } - - public void setClassifiedObjectQuery(RegistryObjectQueryType value) { - this.classifiedObjectQuery = value; - } - - public ClassificationNodeQueryType getClassificationNodeQuery() { - return this.classificationNodeQuery; - } - - - public void setClassificationNodeQuery(ClassificationNodeQueryType value) { - this.classificationNodeQuery = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationSchemeQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationSchemeQueryType.java deleted file mode 100755 index 7ae3d82f75..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationSchemeQueryType.java +++ /dev/null @@ -1,63 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ClassificationSchemeQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"childrenQuery", "nodeTypeQuery"}) -public class ClassificationSchemeQueryType extends RegistryObjectQueryType { - @XmlElement(name = "ChildrenQuery") - protected List childrenQuery; - @XmlElement(name = "NodeTypeQuery") - protected ClassificationNodeQueryType nodeTypeQuery; - - public List getChildrenQuery() { - if (null == this.childrenQuery) { - this.childrenQuery = new ArrayList(); - } - return this.childrenQuery; - } - - public ClassificationNodeQueryType getNodeTypeQuery() { - return this.nodeTypeQuery; - } - - public void setNodeTypeQuery(ClassificationNodeQueryType value) { - this.nodeTypeQuery = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationType.java deleted file mode 100755 index 3135abc9d5..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ClassificationType.java +++ /dev/null @@ -1,82 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ClassificationType") -public class ClassificationType extends RegistryObjectType { - @XmlAttribute(name = "classificationScheme") - protected String classificationScheme; - @XmlAttribute(name = "classifiedObject", required = true) - protected String classifiedObject; - @XmlAttribute(name = "classificationNode") - protected String classificationNode; - @XmlAttribute(name = "nodeRepresentation") - protected String nodeRepresentation; - - public String getClassificationScheme() { - return this.classificationScheme; - } - - public void setClassificationScheme(String value) { - this.classificationScheme = value; - } - - public String getClassifiedObject() { - return this.classifiedObject; - } - - public void setClassifiedObject(String value) { - this.classifiedObject = value; - } - - public String getClassificationNode() { - return this.classificationNode; - } - - public void setClassificationNode(String value) { - this.classificationNode = value; - } - - public String getNodeRepresentation() { - return this.nodeRepresentation; - } - - public void setNodeRepresentation(String value) { - this.nodeRepresentation = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/CompoundFilterType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/CompoundFilterType.java deleted file mode 100755 index a742818ebf..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/CompoundFilterType.java +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "CompoundFilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"leftFilter", "rightFilter"}) -public class CompoundFilterType - extends FilterType { - @XmlElement(name = "LeftFilter", required = true) - protected FilterType leftFilter; - @XmlElement(name = "RightFilter", required = true) - protected FilterType rightFilter; - @XmlAttribute(name = "logicalOperator", required = true) - @XmlJavaTypeAdapter(CollapsedStringAdapter.class) - protected String logicalOperator; - - public FilterType getLeftFilter() { - return this.leftFilter; - } - - public void setLeftFilter(FilterType value) { - this.leftFilter = value; - } - - public FilterType getRightFilter() { - return this.rightFilter; - } - - - public void setRightFilter(FilterType value) { - this.rightFilter = value; - } - - public String getLogicalOperator() { - return this.logicalOperator; - } - - public void setLogicalOperator(String value) { - this.logicalOperator = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DeprecateObjectsRequest.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DeprecateObjectsRequest.java deleted file mode 100755 index 117a6862a7..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DeprecateObjectsRequest.java +++ /dev/null @@ -1,63 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"adhocQuery", "objectRefList"}) -@XmlRootElement(name = "DeprecateObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class DeprecateObjectsRequest extends RegistryRequestType { - - @XmlElement(name = "AdhocQuery") - protected AdhocQueryType adhocQuery; - @XmlElement(name = "ObjectRefList") - protected ObjectRefListType objectRefList; - - public AdhocQueryType getAdhocQuery() { - return this.adhocQuery; - } - - public void setAdhocQuery(AdhocQueryType value) { - this.adhocQuery = value; - } - - public ObjectRefListType getObjectRefList() { - return this.objectRefList; - } - - - public void setObjectRefList(ObjectRefListType value) { - this.objectRefList = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DocumentRepositoryPortType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DocumentRepositoryPortType.java deleted file mode 100755 index 53b0efa047..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DocumentRepositoryPortType.java +++ /dev/null @@ -1,57 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebResult; -import javax.jws.WebService; -import javax.jws.soap.SOAPBinding; -import javax.jws.soap.SOAPBinding.ParameterStyle; -import javax.xml.bind.annotation.XmlSeeAlso; -import javax.xml.ws.Action; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@WebService(targetNamespace = "urn:ihe:iti:xds-b:2007", name = "DocumentRepository_PortType") -@XmlSeeAlso({ObjectFactory.class}) -@SOAPBinding(parameterStyle = ParameterStyle.BARE) -public interface DocumentRepositoryPortType { - - @WebMethod(operationName = "DocumentRepository_ProvideAndRegisterDocumentSet-b", action = "urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b") - @Action(input = "urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b", output = "urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse") - @WebResult(name = "RegistryResponse", targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", partName = "body") - RegistryResponseType documentRepositoryProvideAndRegisterDocumentSetB(@WebParam(partName = "body", name = "ProvideAndRegisterDocumentSetRequest", targetNamespace = "urn:ihe:iti:xds-b:2007") ProvideAndRegisterDocumentSetRequestType paramProvideAndRegisterDocumentSetRequestType); - - @WebMethod(operationName = "DocumentRepository_RetrieveDocumentSet", action = "urn:ihe:iti:2007:RetrieveDocumentSet") - @Action(input = "urn:ihe:iti:2007:RetrieveDocumentSet", output = "urn:ihe:iti:2007:RetrieveDocumentSetResponse") - @WebResult(name = "RetrieveDocumentSetResponse", targetNamespace = "urn:ihe:iti:xds-b:2007", partName = "body") - RetrieveDocumentSetResponseType documentRepositoryRetrieveDocumentSet(@WebParam(partName = "body", name = "RetrieveDocumentSetRequest", targetNamespace = "urn:ihe:iti:xds-b:2007") RetrieveDocumentSetRequestType paramRetrieveDocumentSetRequestType); - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DocumentRepositoryService.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DocumentRepositoryService.java deleted file mode 100755 index 3b0ba5d70a..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/DocumentRepositoryService.java +++ /dev/null @@ -1,94 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.namespace.QName; -import javax.xml.ws.Service; -import javax.xml.ws.WebEndpoint; -import javax.xml.ws.WebServiceClient; -import javax.xml.ws.WebServiceFeature; -import java.net.URL; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@WebServiceClient(name = "DocumentRepository_Service", wsdlLocation = "/wsdl/XDS.b_DocumentRepository.wsdl", targetNamespace = "urn:ihe:iti:xds-b:2007") -public class DocumentRepositoryService extends Service { - - public static final URL WSDL_LOCATION; - public static final QName SERVICE = new QName("urn:ihe:iti:xds-b:2007", "DocumentRepository_Service"); - public static final QName DocumentRepositoryPortSoap12 = new QName("urn:ihe:iti:xds-b:2007", "DocumentRepository_Port_Soap12"); - - static { - URL url = DocumentRepositoryService.class.getResource("/wsdl/XDS.b_DocumentRepository.wsdl"); - if (null == url) { - url = DocumentRepositoryService.class.getClassLoader().getResource("/wsdl/XDS.b_DocumentRepository.wsdl"); - } - if (null == url) { - Logger.getLogger(DocumentRepositoryService.class.getName()).log(Level.INFO, "Can not initialize the default wsdl from {0}", "/wsdl/XDS.b_DocumentRepository.wsdl"); - } - WSDL_LOCATION = url; - } - - public DocumentRepositoryService(URL wsdlLocation) { - super(wsdlLocation, SERVICE); - } - - public DocumentRepositoryService(URL wsdlLocation, QName serviceName) { - super(wsdlLocation, serviceName); - } - - public DocumentRepositoryService() { - super(WSDL_LOCATION, SERVICE); - } - - public DocumentRepositoryService(WebServiceFeature... features) { - super(WSDL_LOCATION, SERVICE, features); - } - - public DocumentRepositoryService(URL wsdlLocation, WebServiceFeature... features) { - super(wsdlLocation, SERVICE, features); - } - - public DocumentRepositoryService(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { - super(wsdlLocation, serviceName, features); - } - - @WebEndpoint(name = "DocumentRepository_Port_Soap12") - public DocumentRepositoryPortType getDocumentRepositoryPortSoap12() { - return super.getPort(DocumentRepositoryPortSoap12, DocumentRepositoryPortType.class); - } - - @WebEndpoint(name = "DocumentRepository_Port_Soap12") - public DocumentRepositoryPortType getDocumentRepositoryPortSoap12(WebServiceFeature... features) { - return super.getPort(DocumentRepositoryPortSoap12, DocumentRepositoryPortType.class, features); - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/EnsureMustUnderstandHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/EnsureMustUnderstandHandler.java deleted file mode 100755 index eb2a6b2e24..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/EnsureMustUnderstandHandler.java +++ /dev/null @@ -1,77 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.namespace.QName; -import javax.xml.soap.SOAPException; -import javax.xml.soap.SOAPHeaderElement; -import javax.xml.ws.handler.MessageContext; -import javax.xml.ws.handler.soap.SOAPHandler; -import javax.xml.ws.handler.soap.SOAPMessageContext; -import java.util.Iterator; -import java.util.Set; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class EnsureMustUnderstandHandler implements SOAPHandler { - - public Set getHeaders() { - return null; - } - - public boolean handleMessage(SOAPMessageContext ctx) { - if (((Boolean) ctx.get("javax.xml.ws.handler.message.outbound")).booleanValue()) { - try { - Iterator iter = ctx.getMessage().getSOAPHeader().examineAllHeaderElements(); - while (iter.hasNext()) { - SOAPHeaderElement hdr = iter.next(); - switch (hdr.getNodeName()) { - case "Action": - case "To": - case "ReplyTo": - - hdr.setMustUnderstand(true); - } - } - } catch (SOAPException e) { - throw new RuntimeException(e); - } - } - return true; - } - - public boolean handleFault(SOAPMessageContext context) { - - return true; - } - - public void close(MessageContext context) { - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierBuilder.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierBuilder.java deleted file mode 100755 index 0c25043a2f..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierBuilder.java +++ /dev/null @@ -1,67 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class ExternalIdentifierBuilder { - - private final ExternalIdentifierType result; - - public ExternalIdentifierBuilder(String id) { - this.result = new ExternalIdentifierType(); - this.result.setId(id); - this.result.setObjectType("urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExternalIdentifier"); - } - - public ExternalIdentifierType build() { - return this.result; - } - - public ExternalIdentifierBuilder registryObject(String value) { - this.result.setRegistryObject(value); - return this; - } - - public ExternalIdentifierBuilder identificationScheme(String value) { - this.result.setIdentificationScheme(value); - return this; - } - - public ExternalIdentifierBuilder value(String value) { - this.result.setValue(value); - return this; - } - - public ExternalIdentifierBuilder name(String value) { - this.result.setName(InternationalStringBuilder.build(value)); - return this; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierQueryType.java deleted file mode 100755 index df20724799..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierQueryType.java +++ /dev/null @@ -1,63 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ExternalIdentifierQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"registryObjectQuery", "identificationSchemeQuery"}) -public class ExternalIdentifierQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "RegistryObjectQuery") - protected RegistryObjectQueryType registryObjectQuery; - @XmlElement(name = "IdentificationSchemeQuery") - protected ClassificationSchemeQueryType identificationSchemeQuery; - - public RegistryObjectQueryType getRegistryObjectQuery() { - return this.registryObjectQuery; - } - - public void setRegistryObjectQuery(RegistryObjectQueryType value) { - this.registryObjectQuery = value; - } - - public ClassificationSchemeQueryType getIdentificationSchemeQuery() { - return this.identificationSchemeQuery; - } - - public void setIdentificationSchemeQuery(ClassificationSchemeQueryType value) { - this.identificationSchemeQuery = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierType.java deleted file mode 100755 index 566dbb11d1..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalIdentifierType.java +++ /dev/null @@ -1,73 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ExternalIdentifierType") -public class ExternalIdentifierType extends RegistryObjectType { - - @XmlAttribute(name = "registryObject", required = true) - protected String registryObject; - @XmlAttribute(name = "identificationScheme", required = true) - protected String identificationScheme; - @XmlAttribute(name = "value", required = true) - protected String value; - - public String getRegistryObject() { - return this.registryObject; - } - - public void setRegistryObject(String value) { - this.registryObject = value; - } - - public String getIdentificationScheme() { - return this.identificationScheme; - } - - public void setIdentificationScheme(String value) { - this.identificationScheme = value; - } - - public String getValue() { - return this.value; - } - - public void setValue(String value) { - this.value = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalLinkQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalLinkQueryType.java deleted file mode 100755 index 342d35f296..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExternalLinkQueryType.java +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ExternalLinkQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class ExternalLinkQueryType extends RegistryObjectQueryType { - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExtrinsicObjectQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExtrinsicObjectQueryType.java deleted file mode 100755 index 7256452eb1..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExtrinsicObjectQueryType.java +++ /dev/null @@ -1,52 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ExtrinsicObjectQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"contentVersionInfoFilter"}) -public class ExtrinsicObjectQueryType extends RegistryObjectQueryType { - @XmlElement(name = "ContentVersionInfoFilter") - protected FilterType contentVersionInfoFilter; - - public FilterType getContentVersionInfoFilter() { - return this.contentVersionInfoFilter; - } - - public void setContentVersionInfoFilter(FilterType value) { - this.contentVersionInfoFilter = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExtrinsicObjectType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExtrinsicObjectType.java deleted file mode 100755 index 3fd76f147f..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ExtrinsicObjectType.java +++ /dev/null @@ -1,79 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import org.aoju.bus.core.lang.MediaType; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ExtrinsicObjectType", propOrder = {"contentVersionInfo"}) -public class ExtrinsicObjectType extends RegistryObjectType { - - @XmlElement(name = "ContentVersionInfo") - protected VersionInfoType contentVersionInfo; - @XmlAttribute(name = "mimeType") - protected String mimeType; - @XmlAttribute(name = "isOpaque") - protected Boolean isOpaque; - - public VersionInfoType getContentVersionInfo() { - return this.contentVersionInfo; - } - - public void setContentVersionInfo(VersionInfoType value) { - this.contentVersionInfo = value; - } - - public String getMimeType() { - if (null == this.mimeType) { - return MediaType.APPLICATION_OCTET_STREAM; - } - return this.mimeType; - } - - public void setMimeType(String value) { - this.mimeType = value; - } - - public boolean isIsOpaque() { - if (null == this.isOpaque) { - return false; - } - return this.isOpaque.booleanValue(); - } - - public void setIsOpaque(Boolean value) { - this.isOpaque = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FederationQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FederationQueryType.java deleted file mode 100755 index 2d302e142a..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FederationQueryType.java +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "FederationQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class FederationQueryType extends RegistryObjectQueryType { - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FederationType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FederationType.java deleted file mode 100755 index 6a7baad6eb..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FederationType.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; -import javax.xml.datatype.Duration; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "FederationType") -public class FederationType extends RegistryObjectType { - - @XmlAttribute(name = "replicationSyncLatency") - protected Duration replicationSyncLatency; - - public Duration getReplicationSyncLatency() { - return this.replicationSyncLatency; - } - - - public void setReplicationSyncLatency(Duration value) { - this.replicationSyncLatency = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FilterQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FilterQueryType.java deleted file mode 100755 index 235f753723..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FilterQueryType.java +++ /dev/null @@ -1,51 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "FilterQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"primaryFilter"}) -@XmlSeeAlso({RegistryObjectQueryType.class, BranchType.class}) -public abstract class FilterQueryType { - - @XmlElement(name = "PrimaryFilter") - protected FilterType primaryFilter; - - public FilterType getPrimaryFilter() { - return this.primaryFilter; - } - - public void setPrimaryFilter(FilterType value) { - this.primaryFilter = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FilterType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FilterType.java deleted file mode 100755 index 82be0145b5..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FilterType.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "FilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -@XmlSeeAlso({CompoundFilterType.class, SimpleFilterType.class}) -public class FilterType { - - @XmlAttribute(name = "negate") - protected Boolean negate; - - public boolean isNegate() { - if (null == this.negate) { - return false; - } - return this.negate.booleanValue(); - } - - public void setNegate(Boolean value) { - this.negate = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FloatFilterType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FloatFilterType.java deleted file mode 100755 index 13dedc3884..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/FloatFilterType.java +++ /dev/null @@ -1,53 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "FloatFilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class FloatFilterType extends SimpleFilterType { - - @XmlAttribute(name = "value", required = true) - protected float value; - - public float getValue() { - return this.value; - } - - public void setValue(float value) { - this.value = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/IdentifiableType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/IdentifiableType.java deleted file mode 100755 index 3903b82327..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/IdentifiableType.java +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "IdentifiableType", propOrder = {"slot"}) -@XmlSeeAlso({ObjectRefType.class, RegistryObjectType.class}) -public class IdentifiableType { - - @XmlElement(name = "Slot") - protected List slot; - @XmlAttribute(name = "id", required = true) - @XmlSchemaType(name = "anyURI") - protected String id; - @XmlAttribute(name = "home") - @XmlSchemaType(name = "anyURI") - protected String home; - - public List getSlot() { - if (null == this.slot) { - this.slot = new ArrayList(); - } - return this.slot; - } - - public String getId() { - return this.id; - } - - public void setId(String value) { - this.id = value; - } - - public String getHome() { - return this.home; - } - - public void setHome(String value) { - this.home = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ImagingDocumentSource.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ImagingDocumentSource.java deleted file mode 100755 index df38ee83c7..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ImagingDocumentSource.java +++ /dev/null @@ -1,94 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.namespace.QName; -import javax.xml.ws.Service; -import javax.xml.ws.WebEndpoint; -import javax.xml.ws.WebServiceClient; -import javax.xml.ws.WebServiceFeature; -import java.net.URL; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@WebServiceClient(name = "ImagingDocumentSource", wsdlLocation = "/wsdl/XDS-I.b_ImagingDocumentSource.wsdl", targetNamespace = "urn:ihe:rad:xdsi-b:2009") -public class ImagingDocumentSource extends Service { - - public static final URL WSDL_LOCATION; - public static final QName SERVICE = new QName("urn:ihe:rad:xdsi-b:2009", "ImagingDocumentSource"); - public static final QName ImagingDocumentSourcePortSoap12 = new QName("urn:ihe:rad:xdsi-b:2009", "ImagingDocumentSource_Port_Soap12"); - - static { - URL url = ImagingDocumentSource.class.getResource("/wsdl/XDS-I.b_ImagingDocumentSource.wsdl"); - if (null == url) { - url = ImagingDocumentSource.class.getClassLoader().getResource("/wsdl/XDS-I.b_ImagingDocumentSource.wsdl"); - } - if (null == url) { - Logger.getLogger(ImagingDocumentSource.class.getName()).log(Level.INFO, "Can not initialize the default wsdl from {0}", "/wsdl/XDS-I.b_ImagingDocumentSource.wsdl"); - } - WSDL_LOCATION = url; - } - - public ImagingDocumentSource(URL wsdlLocation) { - super(wsdlLocation, SERVICE); - } - - public ImagingDocumentSource(URL wsdlLocation, QName serviceName) { - super(wsdlLocation, serviceName); - } - - public ImagingDocumentSource() { - super(WSDL_LOCATION, SERVICE); - } - - public ImagingDocumentSource(WebServiceFeature... features) { - super(WSDL_LOCATION, SERVICE, features); - } - - public ImagingDocumentSource(URL wsdlLocation, WebServiceFeature... features) { - super(wsdlLocation, SERVICE, features); - } - - public ImagingDocumentSource(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { - super(wsdlLocation, serviceName, features); - } - - @WebEndpoint(name = "ImagingDocumentSource_Port_Soap12") - public ImagingDocumentSourcePortType getImagingDocumentSourcePortSoap12() { - return super.getPort(ImagingDocumentSourcePortSoap12, ImagingDocumentSourcePortType.class); - } - - @WebEndpoint(name = "ImagingDocumentSource_Port_Soap12") - public ImagingDocumentSourcePortType getImagingDocumentSourcePortSoap12(WebServiceFeature... features) { - return super.getPort(ImagingDocumentSourcePortSoap12, ImagingDocumentSourcePortType.class, features); - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ImagingDocumentSourcePortType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ImagingDocumentSourcePortType.java deleted file mode 100755 index 7de3edb709..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ImagingDocumentSourcePortType.java +++ /dev/null @@ -1,57 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebResult; -import javax.jws.WebService; -import javax.jws.soap.SOAPBinding; -import javax.jws.soap.SOAPBinding.ParameterStyle; -import javax.xml.bind.annotation.XmlSeeAlso; -import javax.xml.ws.Action; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@WebService(targetNamespace = "urn:ihe:rad:xdsi-b:2009", name = "ImagingDocumentSource_PortType") -@XmlSeeAlso({ObjectFactory.class}) -@SOAPBinding(parameterStyle = ParameterStyle.BARE) -public interface ImagingDocumentSourcePortType { - - @WebMethod(operationName = "ImagingDocumentSource_RetrieveImagingDocumentSet", action = "urn:ihe:rad:2009:RetrieveImagingDocumentSet") - @Action(input = "urn:ihe:rad:2009:RetrieveImagingDocumentSet", output = "urn:ihe:iti:2007:RetrieveDocumentSetResponse") - @WebResult(name = "RetrieveDocumentSetResponse", targetNamespace = "urn:ihe:iti:xds-b:2007", partName = "body") - RetrieveDocumentSetResponseType imagingDocumentSourceRetrieveImagingDocumentSet(@WebParam(partName = "body", name = "RetrieveImagingDocumentSetRequest", targetNamespace = "urn:ihe:rad:xdsi-b:2009") RetrieveImagingDocumentSetRequestType paramRetrieveImagingDocumentSetRequestType); - - @WebMethod(operationName = "ImagingDocumentSource_RetrieveRenderedImagingDocumentSet", action = "urn:dicom:wado:ws:2011:RetrieveRenderedImagingDocumentSet") - @Action(input = "urn:dicom:wado:ws:2011:RetrieveRenderedImagingDocumentSet", output = "urn:dicom:wado:ws:2011:RetrieveRenderedImagingDocumentSetResponse") - @WebResult(name = "RetrieveRenderedImagingDocumentSetResponse", targetNamespace = "urn:dicom:wado:ws:2011", partName = "body") - RetrieveRenderedImagingDocumentSetResponseType imagingDocumentSourceRetrieveRenderedImagingDocumentSet(@WebParam(partName = "body", name = "RetrieveRenderedImagingDocumentSetRequest", targetNamespace = "urn:dicom:wado:ws:2011") RetrieveRenderedImagingDocumentSetRequestType paramRetrieveRenderedImagingDocumentSetRequestType); - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/IntegerFilterType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/IntegerFilterType.java deleted file mode 100755 index fb2ed1f3ef..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/IntegerFilterType.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; -import java.math.BigInteger; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "IntegerFilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class IntegerFilterType extends SimpleFilterType { - - @XmlAttribute(name = "value", required = true) - protected BigInteger value; - - public BigInteger getValue() { - return this.value; - } - - - public void setValue(BigInteger value) { - this.value = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringBranchType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringBranchType.java deleted file mode 100755 index d23420f75a..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringBranchType.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "InternationalStringBranchType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"localizedStringFilter"}) -public class InternationalStringBranchType extends BranchType { - - @XmlElement(name = "LocalizedStringFilter") - protected List localizedStringFilter; - - public List getLocalizedStringFilter() { - if (null == this.localizedStringFilter) { - this.localizedStringFilter = new ArrayList(); - } - return this.localizedStringFilter; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringType.java deleted file mode 100755 index d4fed4e64a..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/InternationalStringType.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "InternationalStringType", propOrder = {"localizedString"}) -public class InternationalStringType { - - @XmlElement(name = "LocalizedString") - protected List localizedString; - - public List getLocalizedString() { - if (null == this.localizedString) { - this.localizedString = new ArrayList(); - } - return this.localizedString; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/LocalizedStringType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/LocalizedStringType.java deleted file mode 100755 index 5111ccb323..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/LocalizedStringType.java +++ /dev/null @@ -1,79 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import org.aoju.bus.core.lang.Charset; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "LocalizedStringType") -public class LocalizedStringType { - - @XmlAttribute(name = "lang", namespace = "http://www.w3.org/XML/1998/namespace") - protected String lang; - @XmlAttribute(name = "charset") - @XmlSchemaType(name = "anySimpleType") - protected String charset; - @XmlAttribute(name = "value", required = true) - protected String value; - - public String getLang() { - if (null == this.lang) { - return "en-US"; - } - return this.lang; - } - - public void setLang(String value) { - this.lang = value; - } - - public String getCharset() { - if (null == this.charset) { - return Charset.DEFAULT_UTF_8; - } - return this.charset; - } - - public void setCharset(String value) { - this.charset = value; - } - - public String getValue() { - return this.value; - } - - public void setValue(String value) { - this.value = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotificationQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotificationQueryType.java deleted file mode 100755 index 1b25c3eaaa..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotificationQueryType.java +++ /dev/null @@ -1,53 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "NotificationQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"registryObjectQuery"}) -public class NotificationQueryType extends RegistryObjectQueryType { - @XmlElement(name = "RegistryObjectQuery") - protected RegistryObjectQueryType registryObjectQuery; - - public RegistryObjectQueryType getRegistryObjectQuery() { - return this.registryObjectQuery; - } - - - public void setRegistryObjectQuery(RegistryObjectQueryType value) { - this.registryObjectQuery = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotifyActionType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotifyActionType.java deleted file mode 100755 index 3bab1e2984..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/NotifyActionType.java +++ /dev/null @@ -1,64 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "NotifyActionType") -public class NotifyActionType extends ActionType { - - @XmlAttribute(name = "notificationOption") - protected String notificationOption; - @XmlAttribute(name = "endPoint", required = true) - @XmlSchemaType(name = "anyURI") - protected String endPoint; - - public String getNotificationOption() { - if (null == this.notificationOption) { - return "urn:oasis:names:tc:ebxml-regrep:NotificationOptionType:ObjectRefs"; - } - return this.notificationOption; - } - - public void setNotificationOption(String value) { - this.notificationOption = value; - } - - public String getEndPoint() { - return this.endPoint; - } - - public void setEndPoint(String value) { - this.endPoint = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectFactory.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectFactory.java deleted file mode 100755 index baa6ec4012..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectFactory.java +++ /dev/null @@ -1,1393 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - - -import javax.activation.DataHandler; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.annotation.XmlElementDecl; -import javax.xml.bind.annotation.XmlMimeType; -import javax.xml.bind.annotation.XmlRegistry; -import javax.xml.namespace.QName; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlRegistry -public class ObjectFactory { - - private final static QName _RegistryRequest_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", "RegistryRequest"); - private final static QName _RegistryResponse_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", "RegistryResponse"); - private final static QName _ResponseOption_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ResponseOption"); - private final static QName _AdhocQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "AdhocQuery"); - private final static QName _RegistryObject_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "RegistryObject"); - private final static QName _Identifiable_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Identifiable"); - private final static QName _RegistryObjectList_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "RegistryObjectList"); - private final static QName _RegistryObjectQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "RegistryObjectQuery"); - private final static QName _AssociationQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "AssociationQuery"); - private final static QName _AuditableEventQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "AuditableEventQuery"); - private final static QName _ClassificationQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ClassificationQuery"); - private final static QName _ClassificationNodeQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ClassificationNodeQuery"); - private final static QName _ClassificationSchemeQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ClassificationSchemeQuery"); - private final static QName _ExternalIdentifierQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ExternalIdentifierQuery"); - private final static QName _ExternalLinkQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ExternalLinkQuery"); - private final static QName _ExtrinsicObjectQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ExtrinsicObjectQuery"); - private final static QName _OrganizationQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "OrganizationQuery"); - private final static QName _RegistryPackageQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "RegistryPackageQuery"); - private final static QName _ServiceQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ServiceQuery"); - private final static QName _ServiceBindingQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "ServiceBindingQuery"); - private final static QName _SpecificationLinkQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "SpecificationLinkQuery"); - private final static QName _PersonQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "PersonQuery"); - private final static QName _UserQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "UserQuery"); - private final static QName _RegistryQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "RegistryQuery"); - private final static QName _FederationQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "FederationQuery"); - private final static QName _AdhocQueryQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "AdhocQueryQuery"); - private final static QName _NotificationQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "NotificationQuery"); - private final static QName _SubscriptionQuery_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "SubscriptionQuery"); - private final static QName _Filter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "Filter"); - private final static QName _CompoundFilter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "CompoundFilter"); - private final static QName _BooleanFilter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "BooleanFilter"); - private final static QName _IntegerFilter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "IntegerFilter"); - private final static QName _FloatFilter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "FloatFilter"); - private final static QName _DateTimeFilter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "DateTimeFilter"); - private final static QName _StringFilter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", "StringFilter"); - private final static QName _HomeCommunityId_QNAME = new QName("urn:ihe:iti:xds-b:2007", "HomeCommunityId"); - private final static QName _RepositoryUniqueId_QNAME = new QName("urn:ihe:iti:xds-b:2007", "RepositoryUniqueId"); - private final static QName _DocumentUniqueId_QNAME = new QName("urn:ihe:iti:xds-b:2007", "DocumentUniqueId"); - private final static QName _MimeType_QNAME = new QName("urn:ihe:iti:xds-b:2007", "mimeType"); - private final static QName _Document_QNAME = new QName("urn:ihe:iti:xds-b:2007", "Document"); - private final static QName _RetrieveDocumentSetRequest_QNAME = new QName("urn:ihe:iti:xds-b:2007", "RetrieveDocumentSetRequest"); - private final static QName _RetrieveDocumentSetResponse_QNAME = new QName("urn:ihe:iti:xds-b:2007", "RetrieveDocumentSetResponse"); - private final static QName _ProvideAndRegisterDocumentSetRequest_QNAME = new QName("urn:ihe:iti:xds-b:2007", "ProvideAndRegisterDocumentSetRequest"); - private final static QName _ObjectRefList_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ObjectRefList"); - private final static QName _InternationalString_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "InternationalString"); - private final static QName _Name_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Name"); - private final static QName _Description_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Description"); - private final static QName _LocalizedString_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "LocalizedString"); - private final static QName _Slot_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Slot"); - private final static QName _ValueList_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ValueList"); - private final static QName _Value_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Value"); - private final static QName _SlotList_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "SlotList"); - private final static QName _ObjectRef_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ObjectRef"); - private final static QName _Association_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Association"); - private final static QName _AuditableEvent_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "AuditableEvent"); - private final static QName _Classification_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Classification"); - private final static QName _ClassificationNode_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ClassificationNode"); - private final static QName _ClassificationScheme_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ClassificationScheme"); - private final static QName _ExternalIdentifier_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ExternalIdentifier"); - private final static QName _ExternalLink_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ExternalLink"); - private final static QName _ExtrinsicObject_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ExtrinsicObject"); - private final static QName _Address_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Address"); - private final static QName _Organization_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Organization"); - private final static QName _PersonName_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "PersonName"); - private final static QName _EmailAddress_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "EmailAddress"); - private final static QName _PostalAddress_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "PostalAddress"); - private final static QName _RegistryPackage_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "RegistryPackage"); - private final static QName _Service_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Service"); - private final static QName _ServiceBinding_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "ServiceBinding"); - private final static QName _SpecificationLink_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "SpecificationLink"); - private final static QName _UsageDescription_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "UsageDescription"); - private final static QName _UsageParameter_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "UsageParameter"); - private final static QName _TelephoneNumber_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "TelephoneNumber"); - private final static QName _Person_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Person"); - private final static QName _User_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "User"); - private final static QName _Registry_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Registry"); - private final static QName _Federation_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Federation"); - private final static QName _QueryExpression_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "QueryExpression"); - private final static QName _Notification_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Notification"); - private final static QName _Action_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Action"); - private final static QName _Subscription_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "Subscription"); - private final static QName _NotifyAction_QNAME = new QName("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", "NotifyAction"); - - public ObjectFactory() { - } - - public ProvideAndRegisterDocumentSetRequestType createProvideAndRegisterDocumentSetRequestType() { - return new ProvideAndRegisterDocumentSetRequestType(); - } - - public RetrieveDocumentSetResponseType createRetrieveDocumentSetResponseType() { - return new RetrieveDocumentSetResponseType(); - } - - public RetrieveDocumentSetRequestType createRetrieveDocumentSetRequestType() { - return new RetrieveDocumentSetRequestType(); - } - - public RegistryRequestType createRegistryRequestType() { - return new RegistryRequestType(); - } - - public RegistryErrorList createRegistryErrorList() { - return new RegistryErrorList(); - } - - public RegistryError createRegistryError() { - return new RegistryError(); - } - - public RegistryResponseType createRegistryResponseType() { - return new RegistryResponseType(); - } - - public ResponseOptionType createResponseOptionType() { - return new ResponseOptionType(); - } - - public AdhocQueryRequest createAdhocQueryRequest() { - return new AdhocQueryRequest(); - } - - public SlotListType createSlotListType() { - return new SlotListType(); - } - - public AdhocQueryType createAdhocQueryType() { - return new AdhocQueryType(); - } - - public RegistryObjectType createRegistryObjectType() { - return new RegistryObjectType(); - } - - public IdentifiableType createIdentifiableType() { - return new IdentifiableType(); - } - - public AdhocQueryResponse createAdhocQueryResponse() { - return new AdhocQueryResponse(); - } - - public RegistryObjectListType createRegistryObjectListType() { - return new RegistryObjectListType(); - } - - public RegistryObjectQueryType createRegistryObjectQueryType() { - return new RegistryObjectQueryType(); - } - - public AssociationQueryType createAssociationQueryType() { - return new AssociationQueryType(); - } - - public AuditableEventQueryType createAuditableEventQueryType() { - return new AuditableEventQueryType(); - } - - public ClassificationQueryType createClassificationQueryType() { - return new ClassificationQueryType(); - } - - public ClassificationNodeQueryType createClassificationNodeQueryType() { - return new ClassificationNodeQueryType(); - } - - public ClassificationSchemeQueryType createClassificationSchemeQueryType() { - return new ClassificationSchemeQueryType(); - } - - public ExternalIdentifierQueryType createExternalIdentifierQueryType() { - return new ExternalIdentifierQueryType(); - } - - public ExternalLinkQueryType createExternalLinkQueryType() { - return new ExternalLinkQueryType(); - } - - public ExtrinsicObjectQueryType createExtrinsicObjectQueryType() { - return new ExtrinsicObjectQueryType(); - } - - public OrganizationQueryType createOrganizationQueryType() { - return new OrganizationQueryType(); - } - - public RegistryPackageQueryType createRegistryPackageQueryType() { - return new RegistryPackageQueryType(); - } - - public ServiceQueryType createServiceQueryType() { - return new ServiceQueryType(); - } - - public ServiceBindingQueryType createServiceBindingQueryType() { - return new ServiceBindingQueryType(); - } - - public SpecificationLinkQueryType createSpecificationLinkQueryType() { - return new SpecificationLinkQueryType(); - } - - public PersonQueryType createPersonQueryType() { - return new PersonQueryType(); - } - - public UserQueryType createUserQueryType() { - return new UserQueryType(); - } - - public RegistryQueryType createRegistryQueryType() { - return new RegistryQueryType(); - } - - public FederationQueryType createFederationQueryType() { - return new FederationQueryType(); - } - - public AdhocQueryQueryType createAdhocQueryQueryType() { - return new AdhocQueryQueryType(); - } - - public NotificationQueryType createNotificationQueryType() { - return new NotificationQueryType(); - } - - public SubscriptionQueryType createSubscriptionQueryType() { - return new SubscriptionQueryType(); - } - - public FilterType createFilterType() { - return new FilterType(); - } - - public CompoundFilterType createCompoundFilterType() { - return new CompoundFilterType(); - } - - public BooleanFilterType createBooleanFilterType() { - return new BooleanFilterType(); - } - - public IntegerFilterType createIntegerFilterType() { - return new IntegerFilterType(); - } - - public FloatFilterType createFloatFilterType() { - return new FloatFilterType(); - } - - public DateTimeFilterType createDateTimeFilterType() { - return new DateTimeFilterType(); - } - - public StringFilterType createStringFilterType() { - return new StringFilterType(); - } - - public InternationalStringBranchType createInternationalStringBranchType() { - return new InternationalStringBranchType(); - } - - public SlotBranchType createSlotBranchType() { - return new SlotBranchType(); - } - - public QueryExpressionBranchType createQueryExpressionBranchType() { - return new QueryExpressionBranchType(); - } - - public SubmitObjectsRequest createSubmitObjectsRequest() { - return new SubmitObjectsRequest(); - } - - public UpdateObjectsRequest createUpdateObjectsRequest() { - return new UpdateObjectsRequest(); - } - - public ApproveObjectsRequest createApproveObjectsRequest() { - return new ApproveObjectsRequest(); - } - - public ObjectRefListType createObjectRefListType() { - return new ObjectRefListType(); - } - - public DeprecateObjectsRequest createDeprecateObjectsRequest() { - return new DeprecateObjectsRequest(); - } - - public UndeprecateObjectsRequest createUndeprecateObjectsRequest() { - return new UndeprecateObjectsRequest(); - } - - public RemoveObjectsRequest createRemoveObjectsRequest() { - return new RemoveObjectsRequest(); - } - - public RelocateObjectsRequest createRelocateObjectsRequest() { - return new RelocateObjectsRequest(); - } - - public ObjectRefType createObjectRefType() { - return new ObjectRefType(); - } - - public AcceptObjectsRequest createAcceptObjectsRequest() { - return new AcceptObjectsRequest(); - } - - public InternationalStringType createInternationalStringType() { - return new InternationalStringType(); - } - - public LocalizedStringType createLocalizedStringType() { - return new LocalizedStringType(); - } - - public SlotType createSlotType1() { - return new SlotType(); - } - - public ValueListType createValueListType() { - return new ValueListType(); - } - - public AssociationType createAssociationType() { - return new AssociationType(); - } - - public AuditableEventType createAuditableEventType() { - return new AuditableEventType(); - } - - public ClassificationType createClassificationType() { - return new ClassificationType(); - } - - public ClassificationNodeType createClassificationNodeType() { - return new ClassificationNodeType(); - } - - public ClassificationSchemeType createClassificationSchemeType() { - return new ClassificationSchemeType(); - } - - public ExternalIdentifierType createExternalIdentifierType() { - return new ExternalIdentifierType(); - } - - public ExternalLinkType createExternalLinkType() { - return new ExternalLinkType(); - } - - public ExtrinsicObjectType createExtrinsicObjectType() { - return new ExtrinsicObjectType(); - } - - public PostalAddressType createPostalAddressType() { - return new PostalAddressType(); - } - - public OrganizationType createOrganizationType() { - return new OrganizationType(); - } - - public PersonNameType createPersonNameType() { - return new PersonNameType(); - } - - public EmailAddressType createEmailAddressType() { - return new EmailAddressType(); - } - - public RegistryPackageType createRegistryPackageType() { - return new RegistryPackageType(); - } - - public ServiceType createServiceType() { - return new ServiceType(); - } - - public ServiceBindingType createServiceBindingType() { - return new ServiceBindingType(); - } - - public SpecificationLinkType createSpecificationLinkType() { - return new SpecificationLinkType(); - } - - public TelephoneNumberType createTelephoneNumberType() { - return new TelephoneNumberType(); - } - - public PersonType createPersonType() { - return new PersonType(); - } - - public UserType createUserType() { - return new UserType(); - } - - public RegistryType createRegistryType() { - return new RegistryType(); - } - - public FederationType createFederationType() { - return new FederationType(); - } - - public QueryExpressionType createQueryExpressionType() { - return new QueryExpressionType(); - } - - public NotificationType createNotificationType() { - return new NotificationType(); - } - - public SubscriptionType createSubscriptionType() { - return new SubscriptionType(); - } - - public NotifyActionType createNotifyActionType() { - return new NotifyActionType(); - } - - public VersionInfoType createVersionInfoType() { - return new VersionInfoType(); - } - - public TelephoneNumberListType createTelephoneNumberListType() { - return new TelephoneNumberListType(); - } - - public ProvideAndRegisterDocumentSetRequestType.Document createProvideAndRegisterDocumentSetRequestTypeDocument() { - return new ProvideAndRegisterDocumentSetRequestType.Document(); - } - - public RetrieveDocumentSetResponseType.DocumentResponse createRetrieveDocumentSetResponseTypeDocumentResponse() { - return new RetrieveDocumentSetResponseType.DocumentResponse(); - } - - public RetrieveDocumentSetRequestType.DocumentRequest createRetrieveDocumentSetRequestTypeDocumentRequest() { - return new RetrieveDocumentSetRequestType.DocumentRequest(); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryRequestType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryRequestType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", name = "RegistryRequest") - public JAXBElement createRegistryRequest(RegistryRequestType value) { - return new JAXBElement<>(_RegistryRequest_QNAME, RegistryRequestType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryResponseType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryResponseType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", name = "RegistryResponse") - public JAXBElement createRegistryResponse(RegistryResponseType value) { - return new JAXBElement<>(_RegistryResponse_QNAME, RegistryResponseType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ResponseOptionType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ResponseOptionType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ResponseOption") - public JAXBElement createResponseOption(ResponseOptionType value) { - return new JAXBElement<>(_ResponseOption_QNAME, ResponseOptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link AdhocQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link AdhocQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "AdhocQuery", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "RegistryObject") - public JAXBElement createAdhocQuery(AdhocQueryType value) { - return new JAXBElement<>(_AdhocQuery_QNAME, AdhocQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryObjectType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryObjectType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "RegistryObject", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createRegistryObject(RegistryObjectType value) { - return new JAXBElement<>(_RegistryObject_QNAME, RegistryObjectType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link IdentifiableType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link IdentifiableType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Identifiable") - public JAXBElement createIdentifiable(IdentifiableType value) { - return new JAXBElement<>(_Identifiable_QNAME, IdentifiableType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryObjectListType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryObjectListType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "RegistryObjectList") - public JAXBElement createRegistryObjectList(RegistryObjectListType value) { - return new JAXBElement<>(_RegistryObjectList_QNAME, RegistryObjectListType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryObjectQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryObjectQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "RegistryObjectQuery") - public JAXBElement createRegistryObjectQuery(RegistryObjectQueryType value) { - return new JAXBElement<>(_RegistryObjectQuery_QNAME, RegistryObjectQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link AssociationQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link AssociationQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "AssociationQuery") - public JAXBElement createAssociationQuery(AssociationQueryType value) { - return new JAXBElement<>(_AssociationQuery_QNAME, AssociationQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link AuditableEventQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link AuditableEventQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "AuditableEventQuery") - public JAXBElement createAuditableEventQuery(AuditableEventQueryType value) { - return new JAXBElement<>(_AuditableEventQuery_QNAME, AuditableEventQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ClassificationQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ClassificationQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ClassificationQuery") - public JAXBElement createClassificationQuery(ClassificationQueryType value) { - return new JAXBElement<>(_ClassificationQuery_QNAME, ClassificationQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ClassificationNodeQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ClassificationNodeQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ClassificationNodeQuery") - public JAXBElement createClassificationNodeQuery(ClassificationNodeQueryType value) { - return new JAXBElement<>(_ClassificationNodeQuery_QNAME, ClassificationNodeQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ClassificationSchemeQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ClassificationSchemeQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ClassificationSchemeQuery") - public JAXBElement createClassificationSchemeQuery(ClassificationSchemeQueryType value) { - return new JAXBElement<>(_ClassificationSchemeQuery_QNAME, ClassificationSchemeQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ExternalIdentifierQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ExternalIdentifierQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ExternalIdentifierQuery") - public JAXBElement createExternalIdentifierQuery(ExternalIdentifierQueryType value) { - return new JAXBElement<>(_ExternalIdentifierQuery_QNAME, ExternalIdentifierQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ExternalLinkQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ExternalLinkQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ExternalLinkQuery") - public JAXBElement createExternalLinkQuery(ExternalLinkQueryType value) { - return new JAXBElement<>(_ExternalLinkQuery_QNAME, ExternalLinkQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ExtrinsicObjectQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ExtrinsicObjectQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ExtrinsicObjectQuery") - public JAXBElement createExtrinsicObjectQuery(ExtrinsicObjectQueryType value) { - return new JAXBElement<>(_ExtrinsicObjectQuery_QNAME, ExtrinsicObjectQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link OrganizationQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link OrganizationQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "OrganizationQuery") - public JAXBElement createOrganizationQuery(OrganizationQueryType value) { - return new JAXBElement<>(_OrganizationQuery_QNAME, OrganizationQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryPackageQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryPackageQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "RegistryPackageQuery") - public JAXBElement createRegistryPackageQuery(RegistryPackageQueryType value) { - return new JAXBElement<>(_RegistryPackageQuery_QNAME, RegistryPackageQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ServiceQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ServiceQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ServiceQuery") - public JAXBElement createServiceQuery(ServiceQueryType value) { - return new JAXBElement<>(_ServiceQuery_QNAME, ServiceQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ServiceBindingQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ServiceBindingQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "ServiceBindingQuery") - public JAXBElement createServiceBindingQuery(ServiceBindingQueryType value) { - return new JAXBElement<>(_ServiceBindingQuery_QNAME, ServiceBindingQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link SpecificationLinkQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link SpecificationLinkQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "SpecificationLinkQuery") - public JAXBElement createSpecificationLinkQuery(SpecificationLinkQueryType value) { - return new JAXBElement<>(_SpecificationLinkQuery_QNAME, SpecificationLinkQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link PersonQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link PersonQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "PersonQuery") - public JAXBElement createPersonQuery(PersonQueryType value) { - return new JAXBElement<>(_PersonQuery_QNAME, PersonQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link UserQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link UserQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "UserQuery") - public JAXBElement createUserQuery(UserQueryType value) { - return new JAXBElement<>(_UserQuery_QNAME, UserQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "RegistryQuery") - public JAXBElement createRegistryQuery(RegistryQueryType value) { - return new JAXBElement<>(_RegistryQuery_QNAME, RegistryQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link FederationQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link FederationQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "FederationQuery") - public JAXBElement createFederationQuery(FederationQueryType value) { - return new JAXBElement<>(_FederationQuery_QNAME, FederationQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link AdhocQueryQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link AdhocQueryQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "AdhocQueryQuery") - public JAXBElement createAdhocQueryQuery(AdhocQueryQueryType value) { - return new JAXBElement<>(_AdhocQueryQuery_QNAME, AdhocQueryQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link NotificationQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link NotificationQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "NotificationQuery") - public JAXBElement createNotificationQuery(NotificationQueryType value) { - return new JAXBElement<>(_NotificationQuery_QNAME, NotificationQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link SubscriptionQueryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link SubscriptionQueryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "SubscriptionQuery") - public JAXBElement createSubscriptionQuery(SubscriptionQueryType value) { - return new JAXBElement<>(_SubscriptionQuery_QNAME, SubscriptionQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link FilterType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link FilterType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "Filter") - public JAXBElement createFilter(FilterType value) { - return new JAXBElement<>(_Filter_QNAME, FilterType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CompoundFilterType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link CompoundFilterType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "CompoundFilter") - public JAXBElement createCompoundFilter(CompoundFilterType value) { - return new JAXBElement<>(_CompoundFilter_QNAME, CompoundFilterType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link BooleanFilterType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link BooleanFilterType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "BooleanFilter") - public JAXBElement createBooleanFilter(BooleanFilterType value) { - return new JAXBElement<>(_BooleanFilter_QNAME, BooleanFilterType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link IntegerFilterType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link IntegerFilterType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "IntegerFilter") - public JAXBElement createIntegerFilter(IntegerFilterType value) { - return new JAXBElement<>(_IntegerFilter_QNAME, IntegerFilterType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link FloatFilterType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link FloatFilterType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "FloatFilter") - public JAXBElement createFloatFilter(FloatFilterType value) { - return new JAXBElement<>(_FloatFilter_QNAME, FloatFilterType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link DateTimeFilterType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link DateTimeFilterType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "DateTimeFilter") - public JAXBElement createDateTimeFilter(DateTimeFilterType value) { - return new JAXBElement<>(_DateTimeFilter_QNAME, DateTimeFilterType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link StringFilterType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link StringFilterType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", name = "StringFilter") - public JAXBElement createStringFilter(StringFilterType value) { - return new JAXBElement<>(_StringFilter_QNAME, StringFilterType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "HomeCommunityId") - public JAXBElement createHomeCommunityId(String value) { - return new JAXBElement<>(_HomeCommunityId_QNAME, String.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "RepositoryUniqueId") - public JAXBElement createRepositoryUniqueId(String value) { - return new JAXBElement<>(_RepositoryUniqueId_QNAME, String.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "DocumentUniqueId") - public JAXBElement createDocumentUniqueId(String value) { - return new JAXBElement<>(_DocumentUniqueId_QNAME, String.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "mimeType") - public JAXBElement createMimeType(String value) { - return new JAXBElement<>(_MimeType_QNAME, String.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link DataHandler }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link DataHandler }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "Document") - @XmlMimeType("*/*") - public JAXBElement createDocument(DataHandler value) { - return new JAXBElement<>(_Document_QNAME, DataHandler.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RetrieveDocumentSetRequestType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RetrieveDocumentSetRequestType }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "RetrieveDocumentSetRequest") - public JAXBElement createRetrieveDocumentSetRequest(RetrieveDocumentSetRequestType value) { - return new JAXBElement<>(_RetrieveDocumentSetRequest_QNAME, RetrieveDocumentSetRequestType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RetrieveDocumentSetResponseType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RetrieveDocumentSetResponseType }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "RetrieveDocumentSetResponse") - public JAXBElement createRetrieveDocumentSetResponse(RetrieveDocumentSetResponseType value) { - return new JAXBElement<>(_RetrieveDocumentSetResponse_QNAME, RetrieveDocumentSetResponseType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ProvideAndRegisterDocumentSetRequestType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ProvideAndRegisterDocumentSetRequestType }{@code >} - */ - @XmlElementDecl(namespace = "urn:ihe:iti:xds-b:2007", name = "ProvideAndRegisterDocumentSetRequest") - public JAXBElement createProvideAndRegisterDocumentSetRequest(ProvideAndRegisterDocumentSetRequestType value) { - return new JAXBElement<>(_ProvideAndRegisterDocumentSetRequest_QNAME, ProvideAndRegisterDocumentSetRequestType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ObjectRefListType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ObjectRefListType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ObjectRefList") - public JAXBElement createObjectRefList(ObjectRefListType value) { - return new JAXBElement<>(_ObjectRefList_QNAME, ObjectRefListType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "InternationalString") - public JAXBElement createInternationalString(InternationalStringType value) { - return new JAXBElement<>(_InternationalString_QNAME, InternationalStringType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Name") - public JAXBElement createName(InternationalStringType value) { - return new JAXBElement<>(_Name_QNAME, InternationalStringType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Description") - public JAXBElement createDescription(InternationalStringType value) { - return new JAXBElement<>(_Description_QNAME, InternationalStringType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedStringType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link LocalizedStringType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "LocalizedString") - public JAXBElement createLocalizedString(LocalizedStringType value) { - return new JAXBElement<>(_LocalizedString_QNAME, LocalizedStringType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link SlotType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link SlotType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Slot") - public JAXBElement createSlot(SlotType value) { - return new JAXBElement<>(_Slot_QNAME, SlotType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ValueListType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ValueListType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ValueList") - public JAXBElement createValueList(ValueListType value) { - return new JAXBElement<>(_ValueList_QNAME, ValueListType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Value") - public JAXBElement createValue(String value) { - return new JAXBElement<>(_Value_QNAME, String.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link SlotListType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link SlotListType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "SlotList") - public JAXBElement createSlotList(SlotListType value) { - return new JAXBElement<>(_SlotList_QNAME, SlotListType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ObjectRefType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ObjectRefType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ObjectRef", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createObjectRef(ObjectRefType value) { - return new JAXBElement<>(_ObjectRef_QNAME, ObjectRefType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link AssociationType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link AssociationType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Association", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createAssociation(AssociationType value) { - return new JAXBElement<>(_Association_QNAME, AssociationType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link AuditableEventType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link AuditableEventType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "AuditableEvent", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createAuditableEvent(AuditableEventType value) { - return new JAXBElement<>(_AuditableEvent_QNAME, AuditableEventType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ClassificationType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ClassificationType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Classification", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createClassification(ClassificationType value) { - return new JAXBElement<>(_Classification_QNAME, ClassificationType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ClassificationNodeType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ClassificationNodeType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ClassificationNode", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createClassificationNode(ClassificationNodeType value) { - return new JAXBElement<>(_ClassificationNode_QNAME, ClassificationNodeType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ClassificationSchemeType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ClassificationSchemeType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ClassificationScheme", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createClassificationScheme(ClassificationSchemeType value) { - return new JAXBElement<>(_ClassificationScheme_QNAME, ClassificationSchemeType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ExternalIdentifierType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ExternalIdentifierType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ExternalIdentifier", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createExternalIdentifier(ExternalIdentifierType value) { - return new JAXBElement<>(_ExternalIdentifier_QNAME, ExternalIdentifierType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ExternalLinkType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ExternalLinkType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ExternalLink", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createExternalLink(ExternalLinkType value) { - return new JAXBElement<>(_ExternalLink_QNAME, ExternalLinkType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ExtrinsicObjectType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ExtrinsicObjectType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ExtrinsicObject", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createExtrinsicObject(ExtrinsicObjectType value) { - return new JAXBElement(_ExtrinsicObject_QNAME, ExtrinsicObjectType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link PostalAddressType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link PostalAddressType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Address") - public JAXBElement createAddress(PostalAddressType value) { - return new JAXBElement<>(_Address_QNAME, PostalAddressType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link OrganizationType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link OrganizationType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Organization", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createOrganization(OrganizationType value) { - return new JAXBElement<>(_Organization_QNAME, OrganizationType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link PersonNameType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link PersonNameType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "PersonName") - public JAXBElement createPersonName(PersonNameType value) { - return new JAXBElement<>(_PersonName_QNAME, PersonNameType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link EmailAddressType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link EmailAddressType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "EmailAddress") - public JAXBElement createEmailAddress(EmailAddressType value) { - return new JAXBElement<>(_EmailAddress_QNAME, EmailAddressType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link PostalAddressType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link PostalAddressType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "PostalAddress") - public JAXBElement createPostalAddress(PostalAddressType value) { - return new JAXBElement<>(_PostalAddress_QNAME, PostalAddressType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryPackageType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryPackageType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "RegistryPackage", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createRegistryPackage(RegistryPackageType value) { - return new JAXBElement<>(_RegistryPackage_QNAME, RegistryPackageType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ServiceType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ServiceType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Service", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createService(ServiceType value) { - return new JAXBElement<>(_Service_QNAME, ServiceType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ServiceBindingType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ServiceBindingType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "ServiceBinding", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createServiceBinding(ServiceBindingType value) { - return new JAXBElement<>(_ServiceBinding_QNAME, ServiceBindingType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link SpecificationLinkType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link SpecificationLinkType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "SpecificationLink", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createSpecificationLink(SpecificationLinkType value) { - return new JAXBElement<>(_SpecificationLink_QNAME, SpecificationLinkType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link InternationalStringType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "UsageDescription") - public JAXBElement createUsageDescription(InternationalStringType value) { - return new JAXBElement<>(_UsageDescription_QNAME, InternationalStringType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "UsageParameter") - public JAXBElement createUsageParameter(String value) { - return new JAXBElement<>(_UsageParameter_QNAME, String.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link TelephoneNumberType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link TelephoneNumberType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "TelephoneNumber") - public JAXBElement createTelephoneNumber(TelephoneNumberType value) { - return new JAXBElement<>(_TelephoneNumber_QNAME, TelephoneNumberType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link PersonType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link PersonType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Person", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createPerson(PersonType value) { - return new JAXBElement<>(_Person_QNAME, PersonType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link UserType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link UserType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "User", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createUser(UserType value) { - return new JAXBElement<>(_User_QNAME, UserType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link RegistryType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link RegistryType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Registry", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createRegistry(RegistryType value) { - return new JAXBElement<>(_Registry_QNAME, RegistryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link FederationType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link FederationType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Federation", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createFederation(FederationType value) { - return new JAXBElement<>(_Federation_QNAME, FederationType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link QueryExpressionType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link QueryExpressionType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "QueryExpression") - public JAXBElement createQueryExpression(QueryExpressionType value) { - return new JAXBElement<>(_QueryExpression_QNAME, QueryExpressionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link NotificationType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link NotificationType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Notification") - public JAXBElement createNotification(NotificationType value) { - return new JAXBElement<>(_Notification_QNAME, NotificationType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ActionType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link ActionType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Action") - public JAXBElement createAction(ActionType value) { - return new JAXBElement<>(_Action_QNAME, ActionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link SubscriptionType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link SubscriptionType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "Subscription", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Identifiable") - public JAXBElement createSubscription(SubscriptionType value) { - return new JAXBElement<>(_Subscription_QNAME, SubscriptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link NotifyActionType }{@code >} - * - * @param value Java instance representing xml element's value. - * @return the new instance of {@link JAXBElement }{@code <}{@link NotifyActionType }{@code >} - */ - @XmlElementDecl(namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", name = "NotifyAction", substitutionHeadNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", substitutionHeadName = "Action") - public JAXBElement createNotifyAction(NotifyActionType value) { - return new JAXBElement<>(_NotifyAction_QNAME, NotifyActionType.class, null, value); - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectRefListType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectRefListType.java deleted file mode 100755 index 52b0973a5f..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectRefListType.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ObjectRefListType", propOrder = {"objectRef"}) -public class ObjectRefListType { - @XmlElement(name = "ObjectRef") - protected List objectRef; - - public List getObjectRef() { - - if (null == this.objectRef) { - - this.objectRef = new ArrayList(); - } - - return this.objectRef; - } -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectRefType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectRefType.java deleted file mode 100755 index 5d89ecd033..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ObjectRefType.java +++ /dev/null @@ -1,56 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ObjectRefType") -public class ObjectRefType extends IdentifiableType { - - @XmlAttribute(name = "createReplica") - protected Boolean createReplica; - - public boolean isCreateReplica() { - if (null == this.createReplica) { - return false; - } - return this.createReplica.booleanValue(); - } - - public void setCreateReplica(Boolean value) { - this.createReplica = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/OrganizationQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/OrganizationQueryType.java deleted file mode 100755 index 4a2ce0efbd..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/OrganizationQueryType.java +++ /dev/null @@ -1,102 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "OrganizationQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"addressFilter", "telephoneNumberFilter", "emailAddressFilter", "parentQuery", "childOrganizationQuery", "primaryContactQuery"}) -public class OrganizationQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "AddressFilter") - protected List addressFilter; - @XmlElement(name = "TelephoneNumberFilter") - protected List telephoneNumberFilter; - @XmlElement(name = "EmailAddressFilter") - protected List emailAddressFilter; - @XmlElement(name = "ParentQuery") - protected OrganizationQueryType parentQuery; - @XmlElement(name = "ChildOrganizationQuery") - protected List childOrganizationQuery; - @XmlElement(name = "PrimaryContactQuery") - protected PersonQueryType primaryContactQuery; - - public List getAddressFilter() { - if (null == this.addressFilter) { - this.addressFilter = new ArrayList(); - } - return this.addressFilter; - } - - - public List getTelephoneNumberFilter() { - if (null == this.telephoneNumberFilter) { - this.telephoneNumberFilter = new ArrayList(); - } - return this.telephoneNumberFilter; - } - - public List getEmailAddressFilter() { - if (null == this.emailAddressFilter) { - this.emailAddressFilter = new ArrayList(); - } - return this.emailAddressFilter; - } - - public OrganizationQueryType getParentQuery() { - return this.parentQuery; - } - - public void setParentQuery(OrganizationQueryType value) { - this.parentQuery = value; - } - - public List getChildOrganizationQuery() { - if (null == this.childOrganizationQuery) { - this.childOrganizationQuery = new ArrayList(); - } - return this.childOrganizationQuery; - } - - public PersonQueryType getPrimaryContactQuery() { - return this.primaryContactQuery; - } - - public void setPrimaryContactQuery(PersonQueryType value) { - this.primaryContactQuery = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonNameType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonNameType.java deleted file mode 100755 index 31a348d0d5..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonNameType.java +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "PersonNameType") -public class PersonNameType { - - @XmlAttribute(name = "firstName") - protected String firstName; - @XmlAttribute(name = "middleName") - protected String middleName; - @XmlAttribute(name = "lastName") - protected String lastName; - - public String getFirstName() { - return this.firstName; - } - - public void setFirstName(String value) { - this.firstName = value; - } - - public String getMiddleName() { - return this.middleName; - } - - public void setMiddleName(String value) { - this.middleName = value; - } - - - public String getLastName() { - return this.lastName; - } - - public void setLastName(String value) { - this.lastName = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonQueryType.java deleted file mode 100755 index 9d934bbe44..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonQueryType.java +++ /dev/null @@ -1,81 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "PersonQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"addressFilter", "personNameFilter", "telephoneNumberFilter", "emailAddressFilter"}) -@XmlSeeAlso({UserQueryType.class}) -public class PersonQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "AddressFilter") - protected List addressFilter; - @XmlElement(name = "PersonNameFilter") - protected FilterType personNameFilter; - @XmlElement(name = "TelephoneNumberFilter") - protected List telephoneNumberFilter; - @XmlElement(name = "EmailAddressFilter") - protected List emailAddressFilter; - - public List getAddressFilter() { - if (null == this.addressFilter) { - this.addressFilter = new ArrayList(); - } - return this.addressFilter; - } - - - public FilterType getPersonNameFilter() { - return this.personNameFilter; - } - - public void setPersonNameFilter(FilterType value) { - this.personNameFilter = value; - } - - public List getTelephoneNumberFilter() { - if (null == this.telephoneNumberFilter) { - this.telephoneNumberFilter = new ArrayList(); - } - return this.telephoneNumberFilter; - } - - public List getEmailAddressFilter() { - if (null == this.emailAddressFilter) { - this.emailAddressFilter = new ArrayList(); - } - return this.emailAddressFilter; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonType.java deleted file mode 100755 index 37d0907a63..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PersonType.java +++ /dev/null @@ -1,80 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "PersonType", propOrder = {"address", "personName", "telephoneNumber", "emailAddress"}) -@XmlSeeAlso({UserType.class}) -public class PersonType extends RegistryObjectType { - - @XmlElement(name = "Address") - protected List address; - @XmlElement(name = "PersonName") - protected PersonNameType personName; - @XmlElement(name = "TelephoneNumber") - protected List telephoneNumber; - @XmlElement(name = "EmailAddress") - protected List emailAddress; - - public List getAddress() { - if (null == this.address) { - this.address = new ArrayList(); - } - return this.address; - } - - public PersonNameType getPersonName() { - return this.personName; - } - - public void setPersonName(PersonNameType value) { - this.personName = value; - } - - public List getTelephoneNumber() { - if (null == this.telephoneNumber) { - this.telephoneNumber = new ArrayList(); - } - return this.telephoneNumber; - } - - public List getEmailAddress() { - if (null == this.emailAddress) { - this.emailAddress = new ArrayList(); - } - return this.emailAddress; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PostalAddressType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PostalAddressType.java deleted file mode 100755 index 7fd9dca1bb..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/PostalAddressType.java +++ /dev/null @@ -1,104 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "PostalAddressType") -public class PostalAddressType { - - @XmlAttribute(name = "city") - protected String city; - @XmlAttribute(name = "country") - protected String country; - @XmlAttribute(name = "postalCode") - protected String postalCode; - @XmlAttribute(name = "stateOrProvince") - protected String stateOrProvince; - @XmlAttribute(name = "street") - protected String street; - @XmlAttribute(name = "streetNumber") - protected String streetNumber; - - public String getCity() { - return this.city; - } - - public void setCity(String value) { - this.city = value; - } - - public String getCountry() { - return this.country; - } - - public void setCountry(String value) { - this.country = value; - } - - public String getPostalCode() { - return this.postalCode; - } - - public void setPostalCode(String value) { - this.postalCode = value; - } - - public String getStateOrProvince() { - return this.stateOrProvince; - } - - public void setStateOrProvince(String value) { - this.stateOrProvince = value; - } - - public String getStreet() { - return this.street; - } - - public void setStreet(String value) { - this.street = value; - } - - public String getStreetNumber() { - return this.streetNumber; - } - - public void setStreetNumber(String value) { - this.streetNumber = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ProvideAndRegisterDocumentSetRequestType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ProvideAndRegisterDocumentSetRequestType.java deleted file mode 100755 index c849111a07..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ProvideAndRegisterDocumentSetRequestType.java +++ /dev/null @@ -1,97 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import org.aoju.bus.core.lang.MediaType; - -import javax.activation.DataHandler; -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ProvideAndRegisterDocumentSetRequestType", namespace = "urn:ihe:iti:xds-b:2007", propOrder = {"submitObjectsRequest", "document"}) -public class ProvideAndRegisterDocumentSetRequestType { - - @XmlElement(name = "SubmitObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0", required = true) - protected SubmitObjectsRequest submitObjectsRequest; - @XmlElement(name = "Document") - protected List document; - - public SubmitObjectsRequest getSubmitObjectsRequest() { - return this.submitObjectsRequest; - } - - - public void setSubmitObjectsRequest(SubmitObjectsRequest value) { - this.submitObjectsRequest = value; - } - - public List getDocument() { - if (null == this.document) { - this.document = new ArrayList(); - } - return this.document; - } - - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"value"}) - public static class Document { - - @XmlValue - @XmlMimeType(MediaType.APPLICATION_OCTET_STREAM) - protected DataHandler value; - - @XmlAttribute(name = "id", required = true) - @XmlSchemaType(name = "anyURI") - protected String id; - - - public DataHandler getValue() { - return this.value; - } - - public void setValue(DataHandler value) { - this.value = value; - } - - public String getId() { - return this.id; - } - - public void setId(String value) { - this.id = value; - } - - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/QueryExpressionBranchType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/QueryExpressionBranchType.java deleted file mode 100755 index 15291f499c..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/QueryExpressionBranchType.java +++ /dev/null @@ -1,53 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "QueryExpressionBranchType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"queryLanguageQuery"}) -public class QueryExpressionBranchType extends BranchType { - - @XmlElement(name = "QueryLanguageQuery") - protected ClassificationNodeQueryType queryLanguageQuery; - - public ClassificationNodeQueryType getQueryLanguageQuery() { - return this.queryLanguageQuery; - } - - public void setQueryLanguageQuery(ClassificationNodeQueryType value) { - this.queryLanguageQuery = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/QueryExpressionType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/QueryExpressionType.java deleted file mode 100755 index 587445534e..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/QueryExpressionType.java +++ /dev/null @@ -1,63 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "QueryExpressionType", propOrder = {"content"}) -public class QueryExpressionType { - - @XmlMixed - @XmlAnyElement(lax = true) - protected List content; - @XmlAttribute(name = "queryLanguage", required = true) - protected String queryLanguage; - - public List getContent() { - if (null == this.content) { - this.content = new ArrayList(); - } - return this.content; - } - - public String getQueryLanguage() { - return this.queryLanguage; - } - - public void setQueryLanguage(String value) { - this.queryLanguage = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryError.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryError.java deleted file mode 100755 index 8ed09cc970..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryError.java +++ /dev/null @@ -1,94 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"value"}) -@XmlRootElement(name = "RegistryError", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0") -public class RegistryError { - - @XmlValue - protected String value; - @XmlAttribute(name = "codeContext", required = true) - protected String codeContext; - @XmlAttribute(name = "errorCode", required = true) - protected String errorCode; - @XmlAttribute(name = "severity") - protected String severity; - @XmlAttribute(name = "location") - protected String location; - - public String getValue() { - return this.value; - } - - public void setValue(String value) { - this.value = value; - } - - public String getCodeContext() { - return this.codeContext; - } - - public void setCodeContext(String value) { - this.codeContext = value; - } - - public String getErrorCode() { - return this.errorCode; - } - - public void setErrorCode(String value) { - this.errorCode = value; - } - - public String getSeverity() { - if (null == this.severity) { - return "urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"; - } - return this.severity; - } - - public void setSeverity(String value) { - this.severity = value; - } - - public String getLocation() { - return this.location; - } - - public void setLocation(String value) { - this.location = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryErrorList.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryErrorList.java deleted file mode 100755 index 7e0c1a59b6..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryErrorList.java +++ /dev/null @@ -1,63 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"registryError"}) -@XmlRootElement(name = "RegistryErrorList", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0") -public class RegistryErrorList { - - @XmlElement(name = "RegistryError", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", required = true) - protected List registryError; - @XmlAttribute(name = "highestSeverity") - protected String highestSeverity; - - public List getRegistryError() { - if (null == this.registryError) { - this.registryError = new ArrayList(); - } - return this.registryError; - } - - public String getHighestSeverity() { - return this.highestSeverity; - } - - public void setHighestSeverity(String value) { - this.highestSeverity = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectListType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectListType.java deleted file mode 100755 index fc03661526..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectListType.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.JAXBElement; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryObjectListType", propOrder = {"identifiable"}) -public class RegistryObjectListType { - - @XmlElementRef(name = "Identifiable", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", type = JAXBElement.class, required = false) - protected List> identifiable; - - public List> getIdentifiable() { - if (null == this.identifiable) { - this.identifiable = new ArrayList(); - } - return this.identifiable; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectQueryType.java deleted file mode 100755 index 4a8e2a3e21..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectQueryType.java +++ /dev/null @@ -1,139 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryObjectQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"slotBranch", "nameBranch", "descriptionBranch", "versionInfoFilter", "classificationQuery", "externalIdentifierQuery", "objectTypeQuery", "statusQuery", "sourceAssociationQuery", "targetAssociationQuery"}) -@XmlSeeAlso({AssociationQueryType.class, AuditableEventQueryType.class, ClassificationQueryType.class, ClassificationNodeQueryType.class, ClassificationSchemeQueryType.class, ExternalIdentifierQueryType.class, ExternalLinkQueryType.class, ExtrinsicObjectQueryType.class, OrganizationQueryType.class, RegistryPackageQueryType.class, ServiceQueryType.class, ServiceBindingQueryType.class, SpecificationLinkQueryType.class, PersonQueryType.class, RegistryQueryType.class, FederationQueryType.class, AdhocQueryQueryType.class, NotificationQueryType.class, SubscriptionQueryType.class}) -public class RegistryObjectQueryType extends FilterQueryType { - - @XmlElement(name = "SlotBranch") - protected List slotBranch; - @XmlElement(name = "NameBranch") - protected InternationalStringBranchType nameBranch; - @XmlElement(name = "DescriptionBranch") - protected InternationalStringBranchType descriptionBranch; - @XmlElement(name = "VersionInfoFilter") - protected FilterType versionInfoFilter; - @XmlElement(name = "ClassificationQuery") - protected List classificationQuery; - @XmlElement(name = "ExternalIdentifierQuery") - protected List externalIdentifierQuery; - @XmlElement(name = "ObjectTypeQuery") - protected ClassificationNodeQueryType objectTypeQuery; - @XmlElement(name = "StatusQuery") - protected ClassificationNodeQueryType statusQuery; - @XmlElement(name = "SourceAssociationQuery") - protected List sourceAssociationQuery; - @XmlElement(name = "TargetAssociationQuery") - protected List targetAssociationQuery; - - public List getSlotBranch() { - if (null == this.slotBranch) { - this.slotBranch = new ArrayList(); - } - return this.slotBranch; - } - - public InternationalStringBranchType getNameBranch() { - return this.nameBranch; - } - - public void setNameBranch(InternationalStringBranchType value) { - this.nameBranch = value; - } - - public InternationalStringBranchType getDescriptionBranch() { - return this.descriptionBranch; - } - - public void setDescriptionBranch(InternationalStringBranchType value) { - this.descriptionBranch = value; - } - - public FilterType getVersionInfoFilter() { - return this.versionInfoFilter; - } - - public void setVersionInfoFilter(FilterType value) { - this.versionInfoFilter = value; - } - - public List getClassificationQuery() { - if (null == this.classificationQuery) { - this.classificationQuery = new ArrayList(); - } - return this.classificationQuery; - } - - public List getExternalIdentifierQuery() { - if (null == this.externalIdentifierQuery) { - this.externalIdentifierQuery = new ArrayList(); - } - return this.externalIdentifierQuery; - } - - public ClassificationNodeQueryType getObjectTypeQuery() { - return this.objectTypeQuery; - } - - public void setObjectTypeQuery(ClassificationNodeQueryType value) { - this.objectTypeQuery = value; - } - - public ClassificationNodeQueryType getStatusQuery() { - return this.statusQuery; - } - - public void setStatusQuery(ClassificationNodeQueryType value) { - this.statusQuery = value; - } - - public List getSourceAssociationQuery() { - if (null == this.sourceAssociationQuery) { - this.sourceAssociationQuery = new ArrayList(); - } - return this.sourceAssociationQuery; - } - - public List getTargetAssociationQuery() { - if (null == this.targetAssociationQuery) { - this.targetAssociationQuery = new ArrayList(); - } - return this.targetAssociationQuery; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectType.java deleted file mode 100755 index d92ba79060..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryObjectType.java +++ /dev/null @@ -1,125 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryObjectType", propOrder = {"name", "description", "versionInfo", "classification", "externalIdentifier"}) -@XmlSeeAlso({AdhocQueryType.class, AssociationType.class, AuditableEventType.class, ClassificationType.class, ClassificationNodeType.class, ClassificationSchemeType.class, ExternalIdentifierType.class, ExternalLinkType.class, ExtrinsicObjectType.class, OrganizationType.class, RegistryPackageType.class, ServiceType.class, ServiceBindingType.class, SpecificationLinkType.class, PersonType.class, RegistryType.class, FederationType.class, NotificationType.class, SubscriptionType.class}) -public class RegistryObjectType extends IdentifiableType { - - @XmlElement(name = "Name") - protected InternationalStringType name; - @XmlElement(name = "Description") - protected InternationalStringType description; - @XmlElement(name = "VersionInfo") - protected VersionInfoType versionInfo; - @XmlElement(name = "Classification") - protected List classification; - @XmlElement(name = "ExternalIdentifier") - protected List externalIdentifier; - @XmlAttribute(name = "lid") - @XmlSchemaType(name = "anyURI") - protected String lid; - @XmlAttribute(name = "objectType") - protected String objectType; - @XmlAttribute(name = "status") - protected String status; - - public InternationalStringType getName() { - return this.name; - } - - public void setName(InternationalStringType value) { - this.name = value; - } - - public InternationalStringType getDescription() { - return this.description; - } - - public void setDescription(InternationalStringType value) { - this.description = value; - } - - public VersionInfoType getVersionInfo() { - - return this.versionInfo; - } - - - public void setVersionInfo(VersionInfoType value) { - this.versionInfo = value; - } - - public List getClassification() { - if (null == this.classification) { - this.classification = new ArrayList(); - } - return this.classification; - } - - public List getExternalIdentifier() { - if (null == this.externalIdentifier) { - this.externalIdentifier = new ArrayList(); - } - return this.externalIdentifier; - } - - public String getLid() { - return this.lid; - } - - public void setLid(String value) { - this.lid = value; - } - - public String getObjectType() { - return this.objectType; - } - - public void setObjectType(String value) { - this.objectType = value; - } - - public String getStatus() { - return this.status; - } - - public void setStatus(String value) { - this.status = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryPackageQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryPackageQueryType.java deleted file mode 100755 index f70fd35345..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryPackageQueryType.java +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryPackageQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class RegistryPackageQueryType extends RegistryObjectQueryType { - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryPackageType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryPackageType.java deleted file mode 100755 index 4c57899d15..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryPackageType.java +++ /dev/null @@ -1,53 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryPackageType", propOrder = {"registryObjectList"}) -public class RegistryPackageType extends RegistryObjectType { - - @XmlElement(name = "RegistryObjectList") - protected RegistryObjectListType registryObjectList; - - public RegistryObjectListType getRegistryObjectList() { - return this.registryObjectList; - } - - public void setRegistryObjectList(RegistryObjectListType value) { - this.registryObjectList = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryQueryType.java deleted file mode 100755 index d07241b71a..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryQueryType.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"operatorQuery"}) -public class RegistryQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "OperatorQuery") - protected OrganizationQueryType operatorQuery; - - public OrganizationQueryType getOperatorQuery() { - return this.operatorQuery; - } - - public void setOperatorQuery(OrganizationQueryType value) { - this.operatorQuery = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryRequestType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryRequestType.java deleted file mode 100755 index 258a70bbf6..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryRequestType.java +++ /dev/null @@ -1,72 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryRequestType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", propOrder = {"requestSlotList"}) -@XmlSeeAlso({AcceptObjectsRequest.class, RelocateObjectsRequest.class, RemoveObjectsRequest.class, UndeprecateObjectsRequest.class, DeprecateObjectsRequest.class, ApproveObjectsRequest.class, UpdateObjectsRequest.class, SubmitObjectsRequest.class, AdhocQueryRequest.class}) -public class RegistryRequestType { - - @XmlElement(name = "RequestSlotList") - protected SlotListType requestSlotList; - @XmlAttribute(name = "id") - @XmlSchemaType(name = "anyURI") - protected String id; - @XmlAttribute(name = "comment") - protected String comment; - - public SlotListType getRequestSlotList() { - return this.requestSlotList; - } - - public void setRequestSlotList(SlotListType value) { - this.requestSlotList = value; - } - - public String getId() { - return this.id; - } - - public void setId(String value) { - this.id = value; - } - - public String getComment() { - return this.comment; - } - - public void setComment(String value) { - this.comment = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryResponseType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryResponseType.java deleted file mode 100755 index 4fb61736ed..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryResponseType.java +++ /dev/null @@ -1,82 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryResponseType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", propOrder = {"responseSlotList", "registryErrorList"}) -@XmlSeeAlso({AdhocQueryResponse.class}) -public class RegistryResponseType { - - @XmlElement(name = "ResponseSlotList") - protected SlotListType responseSlotList; - @XmlElement(name = "RegistryErrorList") - protected RegistryErrorList registryErrorList; - @XmlAttribute(name = "status", required = true) - protected String status; - @XmlAttribute(name = "requestId") - @XmlSchemaType(name = "anyURI") - protected String requestId; - - public SlotListType getResponseSlotList() { - return this.responseSlotList; - } - - public void setResponseSlotList(SlotListType value) { - this.responseSlotList = value; - } - - public RegistryErrorList getRegistryErrorList() { - return this.registryErrorList; - } - - public void setRegistryErrorList(RegistryErrorList value) { - this.registryErrorList = value; - } - - public String getStatus() { - return this.status; - } - - public void setStatus(String value) { - this.status = value; - } - - public String getRequestId() { - return this.requestId; - } - - public void setRequestId(String value) { - this.requestId = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryType.java deleted file mode 100755 index 4f726bbd29..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RegistryType.java +++ /dev/null @@ -1,99 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; -import javax.xml.datatype.Duration; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RegistryType") -public class RegistryType extends RegistryObjectType { - @XmlAttribute(name = "operator", required = true) - protected String operator; - @XmlAttribute(name = "specificationVersion", required = true) - protected String specificationVersion; - @XmlAttribute(name = "replicationSyncLatency") - protected Duration replicationSyncLatency; - @XmlAttribute(name = "catalogingLatency") - protected Duration catalogingLatency; - @XmlAttribute(name = "conformanceProfile") - @XmlJavaTypeAdapter(CollapsedStringAdapter.class) - protected String conformanceProfile; - - public String getOperator() { - return this.operator; - } - - public void setOperator(String value) { - this.operator = value; - } - - public String getSpecificationVersion() { - return this.specificationVersion; - } - - public void setSpecificationVersion(String value) { - this.specificationVersion = value; - } - - public Duration getReplicationSyncLatency() { - return this.replicationSyncLatency; - } - - public void setReplicationSyncLatency(Duration value) { - this.replicationSyncLatency = value; - } - - public Duration getCatalogingLatency() { - return this.catalogingLatency; - } - - public void setCatalogingLatency(Duration value) { - this.catalogingLatency = value; - } - - public String getConformanceProfile() { - if (null == this.conformanceProfile) { - return "registryLite"; - } - return this.conformanceProfile; - } - - public void setConformanceProfile(String value) { - this.conformanceProfile = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RelocateObjectsRequest.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RelocateObjectsRequest.java deleted file mode 100755 index b82c7dcee8..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RelocateObjectsRequest.java +++ /dev/null @@ -1,91 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"adhocQuery", "sourceRegistry", "destinationRegistry", "ownerAtSource", "ownerAtDestination"}) -@XmlRootElement(name = "RelocateObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class RelocateObjectsRequest extends RegistryRequestType { - - @XmlElement(name = "AdhocQuery", required = true) - protected AdhocQueryType adhocQuery; - @XmlElement(name = "SourceRegistry", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0", required = true) - protected ObjectRefType sourceRegistry; - @XmlElement(name = "DestinationRegistry", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0", required = true) - protected ObjectRefType destinationRegistry; - @XmlElement(name = "OwnerAtSource", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0", required = true) - protected ObjectRefType ownerAtSource; - @XmlElement(name = "OwnerAtDestination", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0", required = true) - protected ObjectRefType ownerAtDestination; - - public AdhocQueryType getAdhocQuery() { - return this.adhocQuery; - } - - public void setAdhocQuery(AdhocQueryType value) { - this.adhocQuery = value; - } - - public ObjectRefType getSourceRegistry() { - return this.sourceRegistry; - } - - public void setSourceRegistry(ObjectRefType value) { - this.sourceRegistry = value; - } - - public ObjectRefType getDestinationRegistry() { - return this.destinationRegistry; - } - - public void setDestinationRegistry(ObjectRefType value) { - this.destinationRegistry = value; - } - - public ObjectRefType getOwnerAtSource() { - return this.ownerAtSource; - } - - public void setOwnerAtSource(ObjectRefType value) { - this.ownerAtSource = value; - } - - public ObjectRefType getOwnerAtDestination() { - return this.ownerAtDestination; - } - - public void setOwnerAtDestination(ObjectRefType value) { - this.ownerAtDestination = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RemoveObjectsRequest.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RemoveObjectsRequest.java deleted file mode 100755 index b35bfc6ce9..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RemoveObjectsRequest.java +++ /dev/null @@ -1,75 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"adhocQuery", "objectRefList"}) -@XmlRootElement(name = "RemoveObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class RemoveObjectsRequest extends RegistryRequestType { - - @XmlElement(name = "AdhocQuery") - protected AdhocQueryType adhocQuery; - @XmlElement(name = "ObjectRefList") - protected ObjectRefListType objectRefList; - @XmlAttribute(name = "deletionScope") - protected String deletionScope; - - public AdhocQueryType getAdhocQuery() { - return this.adhocQuery; - } - - public void setAdhocQuery(AdhocQueryType value) { - this.adhocQuery = value; - } - - public ObjectRefListType getObjectRefList() { - return this.objectRefList; - } - - public void setObjectRefList(ObjectRefListType value) { - this.objectRefList = value; - } - - public String getDeletionScope() { - if (null == this.deletionScope) { - return "urn:oasis:names:tc:ebxml-regrep:DeletionScopeType:DeleteAll"; - } - return this.deletionScope; - } - - public void setDeletionScope(String value) { - this.deletionScope = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ResponseOptionType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ResponseOptionType.java deleted file mode 100755 index 42c04de47e..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ResponseOptionType.java +++ /dev/null @@ -1,73 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ResponseOptionType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class ResponseOptionType { - - @XmlAttribute(name = "returnType") - @XmlJavaTypeAdapter(CollapsedStringAdapter.class) - protected String returnType; - @XmlAttribute(name = "returnComposedObjects") - protected Boolean returnComposedObjects; - - public String getReturnType() { - if (null == this.returnType) { - return "RegistryObject"; - } - return this.returnType; - } - - public void setReturnType(String value) { - this.returnType = value; - } - - public boolean isReturnComposedObjects() { - if (null == this.returnComposedObjects) { - return false; - } - return this.returnComposedObjects.booleanValue(); - } - - public void setReturnComposedObjects(Boolean value) { - this.returnComposedObjects = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveDocumentSetRequestType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveDocumentSetRequestType.java deleted file mode 100755 index f1d708b309..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveDocumentSetRequestType.java +++ /dev/null @@ -1,95 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RetrieveDocumentSetRequestType", namespace = "urn:ihe:iti:xds-b:2007", propOrder = {"documentRequest"}) -public class RetrieveDocumentSetRequestType { - - @XmlElement(name = "DocumentRequest", required = true) - protected List documentRequest; - - public List getDocumentRequest() { - if (null == this.documentRequest) { - this.documentRequest = new ArrayList(); - } - return this.documentRequest; - } - - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"homeCommunityId", "repositoryUniqueId", "documentUniqueId"}) - public static class DocumentRequest { - - @XmlElement(name = "HomeCommunityId", namespace = "urn:ihe:iti:xds-b:2007") - protected String homeCommunityId; - - @XmlElement(name = "RepositoryUniqueId", namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String repositoryUniqueId; - - @XmlElement(name = "DocumentUniqueId", namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String documentUniqueId; - - public String getHomeCommunityId() { - return this.homeCommunityId; - } - - public void setHomeCommunityId(String value) { - this.homeCommunityId = value; - } - - public String getRepositoryUniqueId() { - return this.repositoryUniqueId; - } - - public void setRepositoryUniqueId(String value) { - this.repositoryUniqueId = value; - } - - public String getDocumentUniqueId() { - return this.documentUniqueId; - } - - public void setDocumentUniqueId(String value) { - this.documentUniqueId = value; - } - - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveDocumentSetResponseType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveDocumentSetResponseType.java deleted file mode 100755 index ee92eab48f..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveDocumentSetResponseType.java +++ /dev/null @@ -1,146 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.activation.DataHandler; -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RetrieveDocumentSetResponseType", namespace = "urn:ihe:iti:xds-b:2007", propOrder = {"registryResponse", "documentResponse"}) -public class RetrieveDocumentSetResponseType { - - @XmlElement(name = "RegistryResponse", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", required = true) - protected RegistryResponseType registryResponse; - @XmlElement(name = "DocumentResponse") - protected List documentResponse; - - public RegistryResponseType getRegistryResponse() { - return this.registryResponse; - } - - public void setRegistryResponse(RegistryResponseType value) { - this.registryResponse = value; - } - - public List getDocumentResponse() { - if (null == this.documentResponse) { - this.documentResponse = new ArrayList(); - } - return this.documentResponse; - } - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"homeCommunityId", "repositoryUniqueId", "documentUniqueId", "newRepositoryUniqueId", "newDocumentUniqueId", "mimeType", "document"}) - public static class DocumentResponse { - - @XmlElement(name = "HomeCommunityId", namespace = "urn:ihe:iti:xds-b:2007") - protected String homeCommunityId; - - @XmlElement(name = "RepositoryUniqueId", namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String repositoryUniqueId; - - @XmlElement(name = "DocumentUniqueId", namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String documentUniqueId; - - @XmlElement(name = "NewRepositoryUniqueId", namespace = "urn:ihe:iti:xds-b:2007") - protected String newRepositoryUniqueId; - - @XmlElement(name = "NewDocumentUniqueId", namespace = "urn:ihe:iti:xds-b:2007") - protected String newDocumentUniqueId; - - @XmlElement(namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String mimeType; - - @XmlElement(name = "Document", namespace = "urn:ihe:iti:xds-b:2007", required = true) - @XmlMimeType("*/*") - protected DataHandler document; - - public String getHomeCommunityId() { - return this.homeCommunityId; - } - - public void setHomeCommunityId(String value) { - this.homeCommunityId = value; - } - - public String getRepositoryUniqueId() { - return this.repositoryUniqueId; - } - - public void setRepositoryUniqueId(String value) { - this.repositoryUniqueId = value; - } - - public String getDocumentUniqueId() { - return this.documentUniqueId; - } - - public void setDocumentUniqueId(String value) { - this.documentUniqueId = value; - } - - public String getNewRepositoryUniqueId() { - return this.newRepositoryUniqueId; - } - - public void setNewRepositoryUniqueId(String value) { - this.newRepositoryUniqueId = value; - } - - public String getNewDocumentUniqueId() { - return this.newDocumentUniqueId; - } - - public void setNewDocumentUniqueId(String value) { - this.newDocumentUniqueId = value; - } - - public String getMimeType() { - return this.mimeType; - } - - public void setMimeType(String value) { - this.mimeType = value; - } - - public DataHandler getDocument() { - return this.document; - } - - public void setDocument(DataHandler value) { - this.document = value; - } - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveImagingDocumentSetRequestType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveImagingDocumentSetRequestType.java deleted file mode 100755 index 713be499a0..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveImagingDocumentSetRequestType.java +++ /dev/null @@ -1,118 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RetrieveImagingDocumentSetRequestType", namespace = "urn:ihe:rad:xdsi-b:2009", propOrder = {"studyRequest", "transferSyntaxUIDList"}) -public class RetrieveImagingDocumentSetRequestType { - - @XmlElement(name = "StudyRequest", required = true) - protected List studyRequest; - @XmlElement(name = "TransferSyntaxUIDList", required = true) - protected TransferSyntaxUIDList transferSyntaxUIDList; - - public List getStudyRequest() { - if (null == this.studyRequest) { - this.studyRequest = new ArrayList(); - } - return this.studyRequest; - } - - public TransferSyntaxUIDList getTransferSyntaxUIDList() { - return this.transferSyntaxUIDList; - } - - public void setTransferSyntaxUIDList(TransferSyntaxUIDList value) { - this.transferSyntaxUIDList = value; - } - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"seriesRequest"}) - public static class StudyRequest { - - @XmlElement(name = "SeriesRequest", namespace = "urn:ihe:rad:xdsi-b:2009", required = true) - protected List seriesRequest; - - @XmlAttribute(name = "studyInstanceUID", required = true) - protected String studyInstanceUID; - - public List getSeriesRequest() { - if (null == this.seriesRequest) { - this.seriesRequest = new ArrayList(); - } - return this.seriesRequest; - } - - public String getStudyInstanceUID() { - return this.studyInstanceUID; - } - - public void setStudyInstanceUID(String value) { - this.studyInstanceUID = value; - } - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType - public static class SeriesRequest extends RetrieveDocumentSetRequestType { - @XmlAttribute(name = "seriesInstanceUID", required = true) - protected String seriesInstanceUID; - - public String getSeriesInstanceUID() { - return this.seriesInstanceUID; - } - - public void setSeriesInstanceUID(String value) { - this.seriesInstanceUID = value; - } - } - } - - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"transferSyntaxUID"}) - public static class TransferSyntaxUIDList { - @XmlElement(name = "TransferSyntaxUID", namespace = "urn:ihe:rad:xdsi-b:2009", required = true) - protected List transferSyntaxUID; - - public List getTransferSyntaxUID() { - if (null == this.transferSyntaxUID) { - this.transferSyntaxUID = new ArrayList(); - } - return this.transferSyntaxUID; - } - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveRenderedImagingDocumentSetRequestType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveRenderedImagingDocumentSetRequestType.java deleted file mode 100755 index 4fe952b03c..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveRenderedImagingDocumentSetRequestType.java +++ /dev/null @@ -1,332 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RetrieveRenderedImagingDocumentSetRequestType", namespace = "urn:dicom:wado:ws:2011", propOrder = {"studyRequest"}) -public class RetrieveRenderedImagingDocumentSetRequestType { - - @XmlElement(name = "StudyRequest", required = true) - protected List studyRequest; - - public List getStudyRequest() { - if (null == this.studyRequest) { - this.studyRequest = new ArrayList(); - } - return this.studyRequest; - } - - @XmlAccessorType(XmlAccessType.FIELD) - - @XmlType(propOrder = {"seriesRequest"}) - public static class StudyRequest { - - @XmlElement(name = "SeriesRequest", namespace = "urn:dicom:wado:ws:2011", required = true) - protected List seriesRequest; - - @XmlAttribute(name = "studyInstanceUID", required = true) - protected String studyInstanceUID; - - public List getSeriesRequest() { - if (null == this.seriesRequest) { - this.seriesRequest = new ArrayList(); - - } - return this.seriesRequest; - - } - - public String getStudyInstanceUID() { - return this.studyInstanceUID; - } - - public void setStudyInstanceUID(String value) { - this.studyInstanceUID = value; - - } - - @XmlAccessorType(XmlAccessType.FIELD) - - @XmlType(propOrder = {"renderedDocumentRequest"}) - public static class SeriesRequest { - - @XmlElement(name = "RenderedDocumentRequest", namespace = "urn:dicom:wado:ws:2011", required = true) - protected List renderedDocumentRequest; - - @XmlAttribute(name = "seriesInstanceUID", required = true) - protected String seriesInstanceUID; - - - public List getRenderedDocumentRequest() { - if (null == this.renderedDocumentRequest) { - this.renderedDocumentRequest = new ArrayList(); - } - return this.renderedDocumentRequest; - } - - public String getSeriesInstanceUID() { - return this.seriesInstanceUID; - } - - public void setSeriesInstanceUID(String value) { - this.seriesInstanceUID = value; - } - - @XmlAccessorType(XmlAccessType.FIELD) - - @XmlType(propOrder = {"homeCommunityId", "repositoryUniqueId", "documentUniqueId", "annotation", "rows", "columns", "region", "windowWidth", "windowCenter", "imageQuality", "presentationUID", "presentationSeriesUID", "anonymize", "frameNumber", "contentTypeList", "charsetList", "any"}) - public static class RenderedDocumentRequest { - - @XmlElement(name = "HomeCommunityId", namespace = "urn:ihe:iti:xds-b:2007") - protected String homeCommunityId; - - @XmlElement(name = "RepositoryUniqueId", namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String repositoryUniqueId; - - @XmlElement(name = "DocumentUniqueId", namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String documentUniqueId; - - @XmlElement(name = "Annotation", namespace = "urn:dicom:wado:ws:2011") - protected String annotation; - - @XmlElement(name = "Rows", namespace = "urn:dicom:wado:ws:2011") - protected String rows; - - @XmlElement(name = "Columns", namespace = "urn:dicom:wado:ws:2011") - protected String columns; - - @XmlElement(name = "Region", namespace = "urn:dicom:wado:ws:2011") - protected String region; - - @XmlElement(name = "WindowWidth", namespace = "urn:dicom:wado:ws:2011") - protected String windowWidth; - - @XmlElement(name = "WindowCenter", namespace = "urn:dicom:wado:ws:2011") - protected String windowCenter; - - @XmlElement(name = "ImageQuality", namespace = "urn:dicom:wado:ws:2011") - protected String imageQuality; - - @XmlElement(name = "PresentationUID", namespace = "urn:dicom:wado:ws:2011") - protected String presentationUID; - - @XmlElement(name = "PresentationSeriesUID", namespace = "urn:dicom:wado:ws:2011") - protected String presentationSeriesUID; - - @XmlElement(name = "Anonymize", namespace = "urn:dicom:wado:ws:2011") - protected String anonymize; - - @XmlElement(name = "FrameNumber", namespace = "urn:dicom:wado:ws:2011") - protected String frameNumber; - - @XmlElement(name = "ContentTypeList", namespace = "urn:dicom:wado:ws:2011", required = true) - protected ContentTypeList contentTypeList; - - @XmlElement(name = "CharsetList", namespace = "urn:dicom:wado:ws:2011") - protected CharsetList charsetList; - - @XmlAnyElement(lax = true) - protected List any; - - public String getHomeCommunityId() { - return this.homeCommunityId; - } - - public void setHomeCommunityId(String value) { - this.homeCommunityId = value; - } - - public String getRepositoryUniqueId() { - return this.repositoryUniqueId; - } - - public void setRepositoryUniqueId(String value) { - this.repositoryUniqueId = value; - } - - public String getDocumentUniqueId() { - return this.documentUniqueId; - } - - public void setDocumentUniqueId(String value) { - this.documentUniqueId = value; - } - - public String getAnnotation() { - return this.annotation; - } - - public void setAnnotation(String value) { - this.annotation = value; - } - - public String getRows() { - return this.rows; - } - - public void setRows(String value) { - this.rows = value; - } - - public String getColumns() { - return this.columns; - } - - public void setColumns(String value) { - this.columns = value; - } - - public String getRegion() { - return this.region; - } - - public void setRegion(String value) { - this.region = value; - } - - public String getWindowWidth() { - return this.windowWidth; - } - - public void setWindowWidth(String value) { - this.windowWidth = value; - } - - public String getWindowCenter() { - return this.windowCenter; - } - - public void setWindowCenter(String value) { - this.windowCenter = value; - } - - public String getImageQuality() { - return this.imageQuality; - } - - public void setImageQuality(String value) { - this.imageQuality = value; - } - - public String getPresentationUID() { - return this.presentationUID; - } - - public void setPresentationUID(String value) { - this.presentationUID = value; - } - - public String getPresentationSeriesUID() { - return this.presentationSeriesUID; - } - - public void setPresentationSeriesUID(String value) { - this.presentationSeriesUID = value; - } - - public String getAnonymize() { - return this.anonymize; - } - - public void setAnonymize(String value) { - this.anonymize = value; - } - - public String getFrameNumber() { - return this.frameNumber; - } - - public void setFrameNumber(String value) { - this.frameNumber = value; - } - - public ContentTypeList getContentTypeList() { - return this.contentTypeList; - } - - public void setContentTypeList(ContentTypeList value) { - this.contentTypeList = value; - } - - public CharsetList getCharsetList() { - return this.charsetList; - } - - public void setCharsetList(CharsetList value) { - this.charsetList = value; - } - - public List getAny() { - if (null == this.any) { - this.any = new ArrayList(); - } - return this.any; - } - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"charset"}) - public static class CharsetList { - - @XmlElement(name = "Charset", namespace = "urn:dicom:wado:ws:2011", required = true) - protected List charset; - - public List getCharset() { - if (null == this.charset) { - this.charset = new ArrayList(); - } - return this.charset; - } - } - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"contentType"}) - public static class ContentTypeList { - - @XmlElement(name = "ContentType", namespace = "urn:dicom:wado:ws:2011", required = true) - protected List contentType; - - public List getContentType() { - if (null == this.contentType) { - this.contentType = new ArrayList(); - } - return this.contentType; - } - } - } - } - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveRenderedImagingDocumentSetResponseType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveRenderedImagingDocumentSetResponseType.java deleted file mode 100755 index 11eb6182f9..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/RetrieveRenderedImagingDocumentSetResponseType.java +++ /dev/null @@ -1,244 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.activation.DataHandler; -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "RetrieveRenderedImagingDocumentSetResponseType", namespace = "urn:dicom:wado:ws:2011", propOrder = {"registryResponse", "renderedDocumentResponse"}) -public class RetrieveRenderedImagingDocumentSetResponseType { - - @XmlElement(name = "RegistryResponse", required = true) - protected RegistryResponseType registryResponse; - @XmlElement(name = "RenderedDocumentResponse") - protected List renderedDocumentResponse; - - public RegistryResponseType getRegistryResponse() { - return this.registryResponse; - } - - public void setRegistryResponse(RegistryResponseType value) { - this.registryResponse = value; - } - - public List getRenderedDocumentResponse() { - if (null == this.renderedDocumentResponse) { - this.renderedDocumentResponse = new ArrayList(); - } - return this.renderedDocumentResponse; - } - - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(propOrder = {"homeCommunityId", "repositoryUniqueId", "sourceDocumentUniqueId", "annotation", "rows", "columns", "region", "windowWidth", "windowCenter", "imageQuality", "presentationUID", "presentationSeriesUID", "anonymize", "frameNumber", "mimeType", "document"}) - public static class RenderedDocumentResponse { - - @XmlElement(name = "HomeCommunityId", namespace = "urn:ihe:iti:xds-b:2007") - protected String homeCommunityId; - - @XmlElement(name = "RepositoryUniqueId", namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String repositoryUniqueId; - - @XmlElement(name = "SourceDocumentUniqueId", namespace = "urn:dicom:wado:ws:2011", required = true) - protected String sourceDocumentUniqueId; - - @XmlElement(name = "Annotation", namespace = "urn:dicom:wado:ws:2011") - protected String annotation; - - @XmlElement(name = "Rows", namespace = "urn:dicom:wado:ws:2011") - protected String rows; - - @XmlElement(name = "Columns", namespace = "urn:dicom:wado:ws:2011") - protected String columns; - - @XmlElement(name = "Region", namespace = "urn:dicom:wado:ws:2011") - protected String region; - - @XmlElement(name = "WindowWidth", namespace = "urn:dicom:wado:ws:2011") - protected String windowWidth; - - @XmlElement(name = "WindowCenter", namespace = "urn:dicom:wado:ws:2011") - protected String windowCenter; - - @XmlElement(name = "ImageQuality", namespace = "urn:dicom:wado:ws:2011") - protected String imageQuality; - - @XmlElement(name = "PresentationUID", namespace = "urn:dicom:wado:ws:2011") - protected String presentationUID; - - @XmlElement(name = "PresentationSeriesUID", namespace = "urn:dicom:wado:ws:2011") - protected String presentationSeriesUID; - - @XmlElement(name = "Anonymize", namespace = "urn:dicom:wado:ws:2011") - protected String anonymize; - - @XmlElement(name = "FrameNumber", namespace = "urn:dicom:wado:ws:2011") - protected String frameNumber; - - @XmlElement(namespace = "urn:ihe:iti:xds-b:2007", required = true) - protected String mimeType; - - @XmlElement(name = "Document", namespace = "urn:ihe:iti:xds-b:2007", required = true) - @XmlMimeType("*/*") - protected DataHandler document; - - public String getHomeCommunityId() { - return this.homeCommunityId; - } - - public void setHomeCommunityId(String value) { - this.homeCommunityId = value; - } - - public String getRepositoryUniqueId() { - return this.repositoryUniqueId; - } - - public void setRepositoryUniqueId(String value) { - this.repositoryUniqueId = value; - } - - public String getSourceDocumentUniqueId() { - return this.sourceDocumentUniqueId; - } - - public void setSourceDocumentUniqueId(String value) { - this.sourceDocumentUniqueId = value; - } - - public String getAnnotation() { - return this.annotation; - } - - public void setAnnotation(String value) { - this.annotation = value; - } - - public String getRows() { - return this.rows; - } - - public void setRows(String value) { - this.rows = value; - } - - public String getColumns() { - return this.columns; - } - - public void setColumns(String value) { - this.columns = value; - } - - public String getRegion() { - return this.region; - } - - public void setRegion(String value) { - this.region = value; - } - - public String getWindowWidth() { - return this.windowWidth; - } - - public void setWindowWidth(String value) { - this.windowWidth = value; - } - - public String getWindowCenter() { - return this.windowCenter; - } - - public void setWindowCenter(String value) { - this.windowCenter = value; - } - - public String getImageQuality() { - return this.imageQuality; - } - - public void setImageQuality(String value) { - this.imageQuality = value; - } - - public String getPresentationUID() { - return this.presentationUID; - } - - public void setPresentationUID(String value) { - this.presentationUID = value; - } - - public String getPresentationSeriesUID() { - return this.presentationSeriesUID; - } - - public void setPresentationSeriesUID(String value) { - this.presentationSeriesUID = value; - } - - public String getAnonymize() { - return this.anonymize; - } - - public void setAnonymize(String value) { - this.anonymize = value; - } - - public String getFrameNumber() { - return this.frameNumber; - } - - public void setFrameNumber(String value) { - this.frameNumber = value; - } - - public String getMimeType() { - return this.mimeType; - } - - public void setMimeType(String value) { - this.mimeType = value; - } - - public DataHandler getDocument() { - return this.document; - } - - public void setDocument(DataHandler value) { - this.document = value; - } - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceBindingQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceBindingQueryType.java deleted file mode 100755 index 816ce1ea3a..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceBindingQueryType.java +++ /dev/null @@ -1,75 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ServiceBindingQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"serviceQuery", "specificationLinkQuery", "targetBindingQuery"}) -public class ServiceBindingQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "ServiceQuery") - protected ServiceQueryType serviceQuery; - @XmlElement(name = "SpecificationLinkQuery") - protected List specificationLinkQuery; - @XmlElement(name = "TargetBindingQuery") - protected ServiceBindingQueryType targetBindingQuery; - - public ServiceQueryType getServiceQuery() { - return this.serviceQuery; - } - - public void setServiceQuery(ServiceQueryType value) { - this.serviceQuery = value; - } - - public List getSpecificationLinkQuery() { - if (null == this.specificationLinkQuery) { - this.specificationLinkQuery = new ArrayList(); - } - return this.specificationLinkQuery; - } - - public ServiceBindingQueryType getTargetBindingQuery() { - return this.targetBindingQuery; - } - - public void setTargetBindingQuery(ServiceBindingQueryType value) { - this.targetBindingQuery = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceBindingType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceBindingType.java deleted file mode 100755 index e3f831a500..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceBindingType.java +++ /dev/null @@ -1,83 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ServiceBindingType", propOrder = {"specificationLink"}) -public class ServiceBindingType extends RegistryObjectType { - - @XmlElement(name = "SpecificationLink") - protected List specificationLink; - @XmlAttribute(name = "service", required = true) - protected String service; - @XmlAttribute(name = "accessURI") - @XmlSchemaType(name = "anyURI") - protected String accessURI; - @XmlAttribute(name = "targetBinding") - protected String targetBinding; - - public List getSpecificationLink() { - if (null == this.specificationLink) { - this.specificationLink = new ArrayList(); - } - return this.specificationLink; - } - - public String getService() { - return this.service; - } - - public void setService(String value) { - this.service = value; - } - - public String getAccessURI() { - return this.accessURI; - } - - public void setAccessURI(String value) { - this.accessURI = value; - } - - public String getTargetBinding() { - return this.targetBinding; - } - - public void setTargetBinding(String value) { - this.targetBinding = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceQueryType.java deleted file mode 100755 index 1e3b9abdc6..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceQueryType.java +++ /dev/null @@ -1,56 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ServiceQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"serviceBindingQuery"}) -public class ServiceQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "ServiceBindingQuery") - protected List serviceBindingQuery; - - public List getServiceBindingQuery() { - if (null == this.serviceBindingQuery) { - - this.serviceBindingQuery = new ArrayList(); - } - return this.serviceBindingQuery; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceType.java deleted file mode 100755 index ae93eb4fe5..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ServiceType.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ServiceType", propOrder = {"serviceBinding"}) -public class ServiceType extends RegistryObjectType { - - @XmlElement(name = "ServiceBinding") - protected List serviceBinding; - - public List getServiceBinding() { - if (null == this.serviceBinding) { - this.serviceBinding = new ArrayList(); - } - return this.serviceBinding; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SimpleFilterType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SimpleFilterType.java deleted file mode 100755 index e8609310b3..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SimpleFilterType.java +++ /dev/null @@ -1,65 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; -import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SimpleFilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -@XmlSeeAlso({BooleanFilterType.class, IntegerFilterType.class, FloatFilterType.class, DateTimeFilterType.class, StringFilterType.class}) -public abstract class SimpleFilterType extends FilterType { - - @XmlAttribute(name = "domainAttribute", required = true) - protected String domainAttribute; - @XmlAttribute(name = "comparator", required = true) - @XmlJavaTypeAdapter(CollapsedStringAdapter.class) - protected String comparator; - - public String getDomainAttribute() { - return this.domainAttribute; - } - - public void setDomainAttribute(String value) { - this.domainAttribute = value; - } - - public String getComparator() { - return this.comparator; - } - - public void setComparator(String value) { - this.comparator = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotListType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotListType.java deleted file mode 100755 index 5f22e147fc..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotListType.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SlotListType", propOrder = {"slot"}) -public class SlotListType { - - @XmlElement(name = "Slot") - protected List slot; - - public List getSlot() { - if (null == this.slot) { - this.slot = new ArrayList(); - } - return this.slot; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotType.java deleted file mode 100755 index b108658a7e..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SlotType.java +++ /dev/null @@ -1,70 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SlotType", propOrder = {"valueList"}) -public class SlotType { - - @XmlElement(name = "ValueList", required = true) - protected ValueListType valueList; - @XmlAttribute(name = "name", required = true) - protected String name; - @XmlAttribute(name = "slotType") - protected String slotType; - - public ValueListType getValueList() { - return this.valueList; - } - - public void setValueList(ValueListType value) { - this.valueList = value; - } - - public String getName() { - return this.name; - } - - public void setName(String value) { - this.name = value; - } - - public String getSlotType() { - return this.slotType; - } - - public void setSlotType(String value) { - this.slotType = value; - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/StringFilterType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/StringFilterType.java deleted file mode 100755 index b044ca70fd..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/StringFilterType.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "StringFilterType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0") -public class StringFilterType extends SimpleFilterType { - - @XmlAttribute(name = "value", required = true) - protected String value; - - public String getValue() { - return this.value; - } - - public void setValue(String value) { - this.value = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubmitObjectsRequest.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubmitObjectsRequest.java deleted file mode 100755 index 5c2173987e..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubmitObjectsRequest.java +++ /dev/null @@ -1,52 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"registryObjectList"}) -@XmlRootElement(name = "SubmitObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class SubmitObjectsRequest extends RegistryRequestType { - - @XmlElement(name = "RegistryObjectList", required = true) - protected RegistryObjectListType registryObjectList; - - public RegistryObjectListType getRegistryObjectList() { - return this.registryObjectList; - } - - public void setRegistryObjectList(RegistryObjectListType value) { - this.registryObjectList = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubscriptionQueryType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubscriptionQueryType.java deleted file mode 100755 index 9c1e944068..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubscriptionQueryType.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SubscriptionQueryType", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0", propOrder = {"selectorQuery"}) -public class SubscriptionQueryType extends RegistryObjectQueryType { - - @XmlElement(name = "SelectorQuery") - protected AdhocQueryQueryType selectorQuery; - - public AdhocQueryQueryType getSelectorQuery() { - return this.selectorQuery; - } - - public void setSelectorQuery(AdhocQueryQueryType value) { - this.selectorQuery = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubscriptionType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubscriptionType.java deleted file mode 100755 index 5f3801db7c..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/SubscriptionType.java +++ /dev/null @@ -1,98 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.JAXBElement; -import javax.xml.bind.annotation.*; -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "SubscriptionType", propOrder = {"action"}) -public class SubscriptionType extends RegistryObjectType { - - @XmlElementRef(name = "Action", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", type = JAXBElement.class, required = false) - protected List> action; - @XmlAttribute(name = "selector", required = true) - protected String selector; - @XmlAttribute(name = "startTime") - @XmlSchemaType(name = "dateTime") - protected XMLGregorianCalendar startTime; - @XmlAttribute(name = "endTime") - @XmlSchemaType(name = "dateTime") - protected XMLGregorianCalendar endTime; - @XmlAttribute(name = "notificationInterval") - protected Duration notificationInterval; - - public List> getAction() { - if (null == this.action) { - this.action = new ArrayList(); - } - return this.action; - } - - public String getSelector() { - return this.selector; - } - - public void setSelector(String value) { - this.selector = value; - } - - public XMLGregorianCalendar getStartTime() { - return this.startTime; - } - - public void setStartTime(XMLGregorianCalendar value) { - this.startTime = value; - } - - public XMLGregorianCalendar getEndTime() { - return this.endTime; - } - - - public void setEndTime(XMLGregorianCalendar value) { - this.endTime = value; - } - - public Duration getNotificationInterval() { - return this.notificationInterval; - } - - public void setNotificationInterval(Duration value) { - this.notificationInterval = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/TelephoneNumberListType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/TelephoneNumberListType.java deleted file mode 100755 index c6ee685ba4..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/TelephoneNumberListType.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "TelephoneNumberListType", propOrder = {"telephoneNumber"}) -public class TelephoneNumberListType { - - @XmlElement(name = "TelephoneNumber") - protected List telephoneNumber; - - public List getTelephoneNumber() { - if (null == this.telephoneNumber) { - this.telephoneNumber = new ArrayList(); - } - return this.telephoneNumber; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/TelephoneNumberType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/TelephoneNumberType.java deleted file mode 100755 index dfca6ef615..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/TelephoneNumberType.java +++ /dev/null @@ -1,110 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "TelephoneNumberType") -public class TelephoneNumberType { - @XmlAttribute(name = "areaCode") - protected String areaCode; - @XmlAttribute(name = "countryCode") - protected String countryCode; - @XmlAttribute(name = "extension") - protected String extension; - @XmlAttribute(name = "number") - protected String number; - @XmlAttribute(name = "phoneType") - protected String phoneType; - - public String getAreaCode() { - /* 58 */ - return this.areaCode; - } - - - public void setAreaCode(String value) { - /* 70 */ - this.areaCode = value; - } - - - public String getCountryCode() { - /* 82 */ - return this.countryCode; - } - - - public void setCountryCode(String value) { - /* 94 */ - this.countryCode = value; - } - - - public String getExtension() { - - return this.extension; - } - - - public void setExtension(String value) { - - this.extension = value; - } - - - public String getNumber() { - /* 130 */ - return this.number; - } - - - public void setNumber(String value) { - - this.number = value; - } - - - public String getPhoneType() { - - return this.phoneType; - } - - - public void setPhoneType(String value) { - - this.phoneType = value; - } -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UndeprecateObjectsRequest.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UndeprecateObjectsRequest.java deleted file mode 100755 index 75373a2a8c..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UndeprecateObjectsRequest.java +++ /dev/null @@ -1,62 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"adhocQuery", "objectRefList"}) -@XmlRootElement(name = "UndeprecateObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class UndeprecateObjectsRequest extends RegistryRequestType { - - @XmlElement(name = "AdhocQuery") - protected AdhocQueryType adhocQuery; - @XmlElement(name = "ObjectRefList") - protected ObjectRefListType objectRefList; - - public AdhocQueryType getAdhocQuery() { - return this.adhocQuery; - } - - public void setAdhocQuery(AdhocQueryType value) { - this.adhocQuery = value; - } - - public ObjectRefListType getObjectRefList() { - return this.objectRefList; - } - - public void setObjectRefList(ObjectRefListType value) { - this.objectRefList = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UpdateObjectsRequest.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UpdateObjectsRequest.java deleted file mode 100755 index 849cb666c6..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/UpdateObjectsRequest.java +++ /dev/null @@ -1,52 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.*; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder = {"registryObjectList"}) -@XmlRootElement(name = "UpdateObjectsRequest", namespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0") -public class UpdateObjectsRequest extends RegistryRequestType { - - @XmlElement(name = "RegistryObjectList", required = true) - protected RegistryObjectListType registryObjectList; - - public RegistryObjectListType getRegistryObjectList() { - return this.registryObjectList; - } - - public void setRegistryObjectList(RegistryObjectListType value) { - this.registryObjectList = value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ValueListType.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ValueListType.java deleted file mode 100755 index be83009928..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/ValueListType.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "ValueListType", propOrder = {"value"}) -public class ValueListType { - - @XmlElement(name = "Value") - protected List value; - - public List getValue() { - if (null == this.value) { - this.value = new ArrayList(); - } - return this.value; - } - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/WSSESecurityUnderstandPretender.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/WSSESecurityUnderstandPretender.java deleted file mode 100755 index 26009e6c3a..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/WSSESecurityUnderstandPretender.java +++ /dev/null @@ -1,57 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -import javax.xml.namespace.QName; -import javax.xml.ws.handler.MessageContext; -import javax.xml.ws.handler.soap.SOAPHandler; -import javax.xml.ws.handler.soap.SOAPMessageContext; -import java.util.Collections; -import java.util.Set; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public class WSSESecurityUnderstandPretender implements SOAPHandler { - - public Set getHeaders() { - return Collections.singleton(new QName("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", "wsse")); - } - - public boolean handleMessage(SOAPMessageContext context) { - return true; - } - - public boolean handleFault(SOAPMessageContext context) { - return true; - } - - public void close(MessageContext context) { - } - -} diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/XDSConstants.java b/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/XDSConstants.java deleted file mode 100755 index 9907a54e2c..0000000000 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/internal/xdsi/XDSConstants.java +++ /dev/null @@ -1,193 +0,0 @@ -/********************************************************************************* - * * - * The MIT License (MIT) * - * * - * Copyright (c) 2015-2022 aoju.org and other contributors. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a copy * - * of this software and associated documentation files (the "Software"), to deal * - * in the Software without restriction, including without limitation the rights * - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included in * - * all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * - * THE SOFTWARE. * - * * - ********************************************************************************/ -package org.aoju.bus.image.metric.internal.xdsi; - -/** - * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ - */ -public interface XDSConstants { - - String XDS_ERR_MISSING_DOCUMENT = "XDSMissingDocument"; - String XDS_ERR_MISSING_DOCUMENT_METADATA = "XDSMissingDocumentMetadata"; - String XDS_ERR_REG_NOT_AVAIL = "XDSRegistryNotAvailable"; - String XDS_ERR_REGISTRY_ERROR = "XDSRegistryError"; - String XDS_ERR_REPOSITORY_ERROR = "XDSRepositoryError"; - String XDS_ERR_REGISTRY_DUPLICATE_UNIQUE_ID_IN_MSG = "XDSRegistryDuplicateUniqueIdInMessage"; - String XDS_ERR_REPOSITORY_DUPLICATE_UNIQUE_ID_IN_MSG = "XDSRepositoryDuplicateUniqueIdInMessage"; - String XDS_ERR_DUPLICATE_UNIQUE_ID_IN_REGISTRY = "XDSDuplicateUniqueIdInRegistry"; - String XDS_ERR_NON_IDENTICAL_HASH = "XDSNonIdenticalHash"; - String XDS_ERR_NON_IDENTICAL_SIZE = "XDSNonIdenticalSize"; - String XDS_ERR_REGISTRY_BUSY = "XDSRegistryBusy"; - String XDS_ERR_REPOSITORY_BUSY = "XDSRepositoryBusy"; - String XDS_ERR_REGISTRY_OUT_OF_RESOURCES = "XDSRegistryOutOfResources"; - String XDS_ERR_REPOSITORY_OUT_OF_RESOURCES = "XDSRepositoryOutOfResources"; - String XDS_ERR_REGISTRY_METADATA_ERROR = "XDSRegistryMetadataError"; - String XDS_ERR_REPOSITORY_METADATA_ERROR = "XDSRepositoryMetadataError"; - String XDS_ERR_TOO_MANY_RESULTS = "XDSTooManyResults"; - String XDS_ERR_EXTRA_METADATA_NOT_SAVED = "XDSExtraMetadataNotSaved"; - String XDS_ERR_UNKNOWN_PATID = "XDSUnknownPatientId"; - String XDS_ERR_PATID_DOESNOT_MATCH = "XDSPatientIdDoesNotMatch"; - String XDS_ERR_UNKNOWN_STORED_QUERY_ID = "XDSUnknownStoredQuery"; - String XDS_ERR_STORED_QUERY_MISSING_PARAM = "XDSStoredQueryMissingParam"; - String XDS_ERR_STORED_QUERY_PARAM_NUMBER = "XDSStoredQueryParamNumber"; - String XDS_ERR_REGISTRY_DEPRECATED_DOC_ERROR = "XDSRegistryDeprecatedDocumentError"; - String XDS_ERR_UNKNOWN_REPOSITORY_ID = "XDSUnknownRepositoryId"; - String XDS_ERR_DOCUMENT_UNIQUE_ID_ERROR = "XDSDocumentUniqueIdError"; - String XDS_ERR_RESULT_NOT_SINGLE_PATIENT = "XDSResultNotSinglePatient"; - String XDS_ERR_PARTIAL_FOLDER_CONTENT_NOT_PROCESSED = "PartialFolderContentNotProcessed"; - String XDS_ERR_PARTIAL_REPLACE_CONTENT_NOT_PROCESSED = "PartialReplaceContentNotProcessed"; - String XDS_ERR_UNKNOWN_COMMUNITY = "XDSUnknownCommunity"; - String XDS_ERR_MISSING_HOME_COMMUNITY_ID = "XDSMissingHomeCommunityId"; - String XDS_ERR_UNAVAILABLE_COMMUNITY = "XDSUnavailableCommunity"; - String HAS_MEMBER = "urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember"; - String RELATED_TO = "urn:oasis:names:tc:ebxml-regrep:AssociationType:relatedTo"; - String RPLC = "urn:ihe:iti:2007:AssociationType:RPLC"; - String APND = "urn:ihe:iti:2007:AssociationType:APND"; - String XFRM = "urn:ihe:iti:2007:AssociationType:XFRM"; - String XFRM_RPLC = "urn:ihe:iti:2007:AssociationType:XFRM_RPLC"; - String SIGNS = "urn:ihe:iti:2007:AssociationType:signs"; - String XDS_STATUS_SUCCESS = "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"; - String XDS_STATUS_FAILURE = "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure"; - String XDS_STATUS_PARTIAL_SUCCESS = "urn:ihe:iti:2007:ResponseStatusType:PartialSuccess"; - String XDS_ERR_SEVERITY_WARNING = "urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning"; - String XDS_ERR_SEVERITY_ERROR = "urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"; - String CLASSIFICATION = "urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"; - String EXTERNAL_IDENTIFIER = "urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExternalIdentifier"; - String ASSOCIATION = "urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Association"; - String STATUS_SUBMITTED = "urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted"; - String STATUS_APPROVED = "urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"; - String STATUS_DEPRECATED = "urn:oasis:names:tc:ebxml-regrep:StatusType:Deprecated"; - String UUID_XDSSubmissionSet = "urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd"; - String UUID_XDSSubmissionSet_autor = "urn:uuid:a7058bb9-b4e4-4307-ba5b-e3f0ab85e12d"; - String UUID_XDSSubmissionSet_contentTypeCode = "urn:uuid:aa543740-bdda-424e-8c96-df4873be8500"; - String UUID_XDSSubmissionSet_patientId = "urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446"; - String UUID_XDSSubmissionSet_sourceId = "urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832"; - String UUID_XDSSubmissionSet_uniqueId = "urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8"; - String UUID_XDSSubmissionSet_limitedMetadata = "urn:uuid:5003a9db-8d8d-49e6-bf0c-990e34ac7707"; - String UUID_XDSDocumentEntry = "urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"; - String UUID_XDSDocumentEntry_author = "urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d"; - String UUID_XDSDocumentEntry_classCode = "urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a"; - String UUID_XDSDocumentEntry_confidentialityCode = "urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f"; - String UUID_XDSDocumentEntry_eventCodeList = "urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4"; - String UUID_XDSDocumentEntry_formatCode = "urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d"; - String UUID_XDSDocumentEntry_healthCareFacilityTypeCode = "urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1"; - String UUID_XDSDocumentEntry_patientId = "urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427"; - String UUID_XDSDocumentEntry_practiceSettingCode = "urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead"; - String UUID_XDSDocumentEntry_typeCode = "urn:uuid:f0306f51-975f-434e-a61c-c59651d33983"; - String UUID_XDSDocumentEntry_uniqueId = "urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab"; - String UUID_XDSDocumentEntry_limitedMetadata = "urn:uuid:ab9b591b-83ab-4d03-8f5d-f93b1fb92e85"; - String UUID_XDSFolder = "urn:uuid:d9d542f3-6cc4-48b6-8870-ea235fbc94c2"; - String UUID_XDSFolder_codeList = "urn:uuid:1ba97051-7806-41a8-a48b-8fce7af683c5"; - String UUID_XDSFolder_patientId = "urn:uuid:f64ffdf0-4b97-4e06-b79f-a52b38ec2f8a"; - String UUID_XDSFolder_uniqueId = "urn:uuid:75df8f67-9973-4fbe-a900-df66cefecc5a"; - String UUID_XDSFolder_limitedMetadata = "urn:uuid:2c144a76-29a9-4b7c-af54-b25409fe7d03"; - String UUID_XDSDocumentEntryStub = "urn:uuid:10aa1a4b-715a-4120-bfd0-9760414112c8"; - String UUID_Association_Documentation = "urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3"; - String XDS_FindDocuments = "urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d"; - String XDS_FindDocumentsByReferenceId = "urn:uuid:12941a89-e02e-4be5-967cce4bfc8fe492"; - String XDS_FindSubmissionSets = "urn:uuid:f26abbcb-ac74-4422-8a30-edb644bbc1a9"; - String XDS_FindFolders = "urn:uuid:958f3006-baad-4929-a4de-ff1114824431"; - String XDS_GetAll = "urn:uuid:10b545ea-725c-446d-9b95-8aeb444eddf3"; - String XDS_GetDocuments = "urn:uuid:5c4f972b-d56b-40ac-a5fc-c8ca9b40b9d4"; - String XDS_GetFolders = "urn:uuid:5737b14c-8a1a-4539-b659-e03a34a5e1e4"; - String XDS_GetAssociations = "urn:uuid:a7ae438b-4bc2-4642-93e9-be891f7bb155"; - String XDS_GetDocumentsAndAssociations = "urn:uuid:bab9529a-4a10-40b3-a01f-f68a615d247a"; - String XDS_GetSubmissionSets = "urn:uuid:51224314-5390-4169-9b91-b1980040715a"; - String XDS_GetSubmissionSetAndContents = "urn:uuid:e8e3cb2c-e39c-46b9-99e4-c12f57260b83"; - String XDS_GetFolderAndContents = "urn:uuid:b909a503-523d-4517-8acf-8e5834dfc4c7"; - String XDS_GetFoldersForDocument = "urn:uuid:10cae35a-c7f9-4cf5-b61e-fc3278ffb578"; - String XDS_GetRelatedDocuments = "urn:uuid:d90e5407-b356-4d91-a89f-873917b4b0e6"; - String QRY_DOCUMENT_ENTRY_PATIENT_ID = "$XDSDocumentEntryPatientId"; - String QRY_DOCUMENT_ENTRY_CLASS_CODE = "$XDSDocumentEntryClassCode"; - String QRY_DOCUMENT_ENTRY_TYPE_CODE = "$XDSDocumentEntryTypeCode"; - String QRY_DOCUMENT_ENTRY_PRACTICE_SETTING_CODE = "$XDSDocumentEntryPracticeSettingCode"; - String QRY_DOCUMENT_ENTRY_CREATION_TIME_FROM = "$XDSDocumentEntryCreationTimeFrom"; - String QRY_DOCUMENT_ENTRY_CREATION_TIME_TO = "$XDSDocumentEntryCreationTimeTo"; - String QRY_DOCUMENT_ENTRY_SERVICE_START_TIME_FROM = "$XDSDocumentEntryServiceStartTimeFrom"; - String QRY_DOCUMENT_ENTRY_SERVICE_START_TIME_TO = "$XDSDocumentEntryServiceStartTimeTo"; - String QRY_DOCUMENT_ENTRY_SERVICE_STOP_TIME_FROM = "$XDSDocumentEntryServiceStopTimeFrom"; - String QRY_DOCUMENT_ENTRY_SERVICE_STOP_TIME_TO = "$XDSDocumentEntryServiceStopTimeTo"; - String QRY_DOCUMENT_ENTRY_HEALTHCARE_FACILITY_TYPE_CODE = "$XDSDocumentEntryHealthcareFacilityTypeCode"; - String QRY_DOCUMENT_ENTRY_EVENT_CODE_LIST = "$XDSDocumentEntryEventCodeList"; - String QRY_DOCUMENT_ENTRY_CONFIDENTIALITY_CODE = "$XDSDocumentEntryConfidentialityCode"; - String QRY_DOCUMENT_ENTRY_AUTHOR_PERSON = "$XDSDocumentEntryAuthorPerson"; - String QRY_DOCUMENT_ENTRY_FORMAT_CODE = "$XDSDocumentEntryFormatCode"; - String QRY_DOCUMENT_ENTRY_STATUS = "$XDSDocumentEntryStatus"; - String QRY_DOCUMENT_ENTRY_REFERENCED_ID_LIST = "$XDSDocumentEntryReferenceIdList"; - String QRY_SUBMISSIONSET_PATIENT_ID = "$XDSSubmissionSetPatientId"; - String QRY_SUBMISSIONSET_SOURCE_ID = "$XDSSubmissionSetSourceId"; - String QRY_SUBMISSIONSET_SUBMISSION_TIME_FROM = "$XDSSubmissionSetSubmissionTimeFrom"; - String QRY_SUBMISSIONSET_SUBMISSION_TIME_TO = "$XDSSubmissionSetSubmissionTimeTo"; - String QRY_SUBMISSIONSET_AUTHOR_PERSON = "$XDSSubmissionSetAuthorPerson"; - String QRY_SUBMISSIONSET_CONTENT_TYPE = "$XDSSubmissionSetContentType"; - String QRY_SUBMISSIONSET_STATUS = "$XDSSubmissionSetStatus"; - String QRY_FOLDER_PATIENT_ID = "$XDSFolderPatientId"; - String QRY_FOLDER_LAST_UPDATE_TIME_FROM = "$XDSFolderLastUpdateTimeFrom"; - String QRY_FOLDER_LAST_UPDATE_TIME_TO = "$XDSFolderLastUpdateTimeTo"; - String QRY_FOLDER_CODE_LIST = "$XDSFolderCodeList"; - String QRY_FOLDER_STATUS = "$XDSFolderStatus"; - String QRY_SUBMISSIONSET_UNIQUE_ID = "$XDSSubmissionSetUniqueId"; - String QRY_SUBMISSIONSET_ENTRY_UUID = "$XDSSubmissionSetEntryUUID"; - String QRY_DOCUMENT_ENTRY_UUID = "$XDSDocumentEntryEntryUUID"; - String QRY_DOCUMENT_UNIQUE_ID = "$XDSDocumentEntryUniqueId"; - String QRY_FOLDER_ENTRY_UUID = "$XDSFolderEntryUUID"; - String QRY_FOLDER_UNIQUE_ID = "$XDSFolderUniqueId"; - String QRY_UUID = "$uuid"; - String QRY_PATIENT_ID = "$patientId"; - String QRY_ASSOCIATION_TYPES = "$AssociationTypes"; - String QRY_HOME_COMMUNITY_ID = "$homeCommunityId"; - String QUERY_RETURN_TYPE_LEAF = "LeafClass"; - String QUERY_RETURN_TYPE_OBJREF = "ObjectRef"; - String SLOT_NAME_AUTHOR_PERSON = "authorPerson"; - String SLOT_NAME_CREATION_TIME = "creationTime"; - String SLOT_NAME_SERVICE_START_TIME = "serviceStartTime"; - String SLOT_NAME_SERVICE_STOP_TIME = "serviceStopTime"; - String SLOT_NAME_SUBMISSION_TIME = "submissionTime"; - String SLOT_NAME_SUBMISSIONSET_STATUS = "SubmissionSetStatus"; - String SLOT_NAME_LAST_UPDATE_TIME = "lastUpdateTime"; - String SLOT_NAME_REPOSITORY_UNIQUE_ID = "repositoryUniqueId"; - String SLOT_NAME_SIZE = "size"; - String SLOT_NAME_HASH = "hash"; - String SLOT_NAME_SOURCE_PATIENT_ID = "sourcePatientId"; - String SLOT_NAME_SOURCE_PATIENT_INFO = "sourcePatientInfo"; - String SLOT_NAME_LANGUAGE_CODE = "languageCode"; - String SLOT_NAME_INTENDED_RECIPIENT = "intendedRecipient"; - String SLOT_NAME_LEGAL_AUTHENTICATOR = "legalAuthenticator"; - String SLOT_NAME_REFERENCE_ID_LIST = "urn:ihe:iti:xds:2013:referenceIdList"; - String WS_ADDRESSING_NS = "http://www.w3.org/2005/08/addressing"; - String WS_ADDRESSING_ANONYMOUS = "http://www.w3.org/2005/08/addressing/anonymous"; - String CXI_TYPE_UNIQUQ_ID = "urn:ihe:iti:xds:2013:uniqueId"; - String CXI_TYPE_ACCESSION = "urn:ihe:iti:xds:2013:accession"; - String CXI_TYPE_REFERRAL = "urn:ihe:iti:xds:2013:referral"; - String CXI_TYPE_ORDER = "urn:ihe:iti:xds:2013:order"; - String CXI_TYPE_WORKFLOW_INSTANCE_ID = "urn:ihe:iti:xdw:2013:workflowInstanceId"; - String CXI_TYPE_STUDY_INSTANCE_UID = "urn:ihe:iti:xds:2016:studyInstanceUID"; - String CXI_TYPE_ENCOUNTER_ID = "urn:ihe:iti:xds:2015:encounterId"; - -} - diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/AbstractService.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/AbstractService.java index 17a7702379..59406b2b13 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/AbstractService.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/AbstractService.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractService implements ImageService { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCEchoSCP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCEchoSCP.java index 23450ccea2..8795942e37 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCEchoSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCEchoSCP.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicCEchoSCP extends AbstractService { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCFindSCP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCFindSCP.java index e7c5b237c7..32b0e681b1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCFindSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCFindSCP.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicCFindSCP extends AbstractService { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCGetSCP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCGetSCP.java index 1912d8612a..5ee0aeedd9 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCGetSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCGetSCP.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicCGetSCP extends AbstractService { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCMoveSCP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCMoveSCP.java index ebc7adabf5..36c43f96cb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCMoveSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCMoveSCP.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicCMoveSCP extends AbstractService { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCStoreSCP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCStoreSCP.java index 7a9b442a4a..a5ef5385fa 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCStoreSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicCStoreSCP.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicCStoreSCP extends AbstractService { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicMPPSSCP.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicMPPSSCP.java index 7c8c9ff227..c18a7a6e51 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicMPPSSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicMPPSSCP.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicMPPSSCP extends AbstractService { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicQuery.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicQuery.java index a7885cfd32..b4738b4ef4 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicQuery.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicQuery.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicQuery implements Query { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicRetrieve.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicRetrieve.java index 42e8ec0d8f..15d02d6d6d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicRetrieve.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/BasicRetrieve.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BasicRetrieve implements Retrieve { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/ImageService.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/ImageService.java index 445804f096..7b98a7ccef 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/ImageService.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/ImageService.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ImageService extends DimseRQHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Instance.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Instance.java index 7e3ab83965..d161821970 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Instance.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Instance.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Instance implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Level.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Level.java index 44e1264bba..8f27fc7581 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Level.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Level.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Level { PATIENT { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Query.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Query.java index f2c722ad7f..2af90a05c4 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Query.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Query.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Query extends Runnable, CancelRQHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Retrieve.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Retrieve.java index 5401db3fa8..97a287e1a1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/Retrieve.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/Retrieve.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Retrieve extends Runnable, CancelRQHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/metric/service/ServiceHandler.java b/bus-image/src/main/java/org/aoju/bus/image/metric/service/ServiceHandler.java index 2dc5661001..761032b754 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/metric/service/ServiceHandler.java +++ b/bus-image/src/main/java/org/aoju/bus/image/metric/service/ServiceHandler.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ServiceHandler implements DimseRQHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/BufferedImages.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/BufferedImages.java index 5721b91b50..6f6814aff3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/BufferedImages.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/BufferedImages.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BufferedImages { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/ByteLookupTable.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/ByteLookupTable.java index 63ba99e376..f43bfc0757 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/ByteLookupTable.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/ByteLookupTable.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ByteLookupTable extends LookupTable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorModelFactory.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorModelFactory.java index b0f05b297f..8069293e1c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorModelFactory.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorModelFactory.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ColorModelFactory { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorSubsampling.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorSubsampling.java index 3aa7b51e37..8ba9dcfcf6 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorSubsampling.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/ColorSubsampling.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum ColorSubsampling { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/DicomMetaData.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/DicomMetaData.java index b7c7602147..1d22bd3428 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/DicomMetaData.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/DicomMetaData.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DicomMetaData extends IIOMetadata { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTable.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTable.java index ec8ead5173..a0be045441 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTable.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTable.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class LookupTable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTableFactory.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTableFactory.java index 06e4184d5f..8e11bcaa5b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTableFactory.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/LookupTableFactory.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LookupTableFactory { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/Overlays.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/Overlays.java index 214e55e5cf..e0cb6eb7f5 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/Overlays.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/Overlays.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Overlays { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/PaletteColorModel.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/PaletteColorModel.java index 74761f688a..3fb71cf22b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/PaletteColorModel.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/PaletteColorModel.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PaletteColorModel extends ColorModel { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/Photometric.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/Photometric.java index be06bce6b1..9f0aaafaf8 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/Photometric.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/Photometric.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Photometric { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/PixelAspectRatio.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/PixelAspectRatio.java index 537ad094ad..fed9d970b2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/PixelAspectRatio.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/PixelAspectRatio.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PixelAspectRatio { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledColorModel.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledColorModel.java index c83cf51786..a3020ff1d1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledColorModel.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledColorModel.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SampledColorModel extends ColorModel { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledSampleModel.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledSampleModel.java index 0abde60456..e4b9035d09 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledSampleModel.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/SampledSampleModel.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SampledSampleModel extends SampleModel { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/ShortLookupTable.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/ShortLookupTable.java index e563de92f6..45d289e137 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/ShortLookupTable.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/ShortLookupTable.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ShortLookupTable extends LookupTable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/StoredValue.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/StoredValue.java index dcdd49e570..090c2ccaed 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/StoredValue.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/StoredValue.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class StoredValue { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/YBR.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/YBR.java index d2d5c099bf..17f494f01e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/YBR.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/YBR.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum YBR { FULL { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/YBRColorSpace.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/YBRColorSpace.java index 2b3ecaa572..390cc391ec 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/YBRColorSpace.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/YBRColorSpace.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class YBRColorSpace extends ColorSpace { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/BytesWithImageDescriptor.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/BytesWithImageDescriptor.java index dd1ae00e59..66a3c79823 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/BytesWithImageDescriptor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/BytesWithImageDescriptor.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BytesWithImageDescriptor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRule.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRule.java index fe59bbcd38..9adf228f23 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRule.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRule.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompressionRule implements Comparable, Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRules.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRules.java index b717902656..cab2639bca 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRules.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/CompressionRules.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompressionRules implements Iterable, Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Compressor.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Compressor.java index 3df4e0821d..89f8cd9315 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Compressor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Compressor.java @@ -49,8 +49,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Compressor extends Decompressor implements Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Decompressor.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Decompressor.java index 56e385ed1b..70f9b0fa3a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Decompressor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Decompressor.java @@ -50,8 +50,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Decompressor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ExtMemoryOutputStream.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ExtMemoryOutputStream.java index 0b9a99be55..f387587ecb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ExtMemoryOutputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ExtMemoryOutputStream.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ final class ExtMemoryOutputStream extends MemoryCacheImageOutputStream implements BytesWithImageDescriptor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/FormatNameFilterIterator.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/FormatNameFilterIterator.java index 94eaa6fb7e..da3595a319 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/FormatNameFilterIterator.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/FormatNameFilterIterator.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ * @since Jul 2015 */ final class FormatNameFilterIterator implements Iterator { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageDescriptor.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageDescriptor.java index 051be7c716..47edfd20f7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageDescriptor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageDescriptor.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ImageDescriptor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageReaderFactory.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageReaderFactory.java index 361db626d7..d17d0a0792 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageReaderFactory.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageReaderFactory.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageReaderFactory implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageWriterFactory.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageWriterFactory.java index 27f0989700..bbbbdf79d7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageWriterFactory.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/ImageWriterFactory.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageWriterFactory implements Serializable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Transcoder.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Transcoder.java index 5ed00635be..8594953ad5 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Transcoder.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/Transcoder.java @@ -52,8 +52,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Transcoder implements Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/TransferSyntaxType.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/TransferSyntaxType.java index b18c10c83e..974413759a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/TransferSyntaxType.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/TransferSyntaxType.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum TransferSyntaxType { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEG.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEG.java index 92a0929618..88c5abae31 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEG.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEG.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JPEG { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGHeader.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGHeader.java index 605cfb09b1..a70d0008b3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGHeader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGHeader.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JPEGHeader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGLSCodingParam.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGLSCodingParam.java index fb10d0d8a6..7fa23d135c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGLSCodingParam.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/JPEGLSCodingParam.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JPEGLSCodingParam { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLS.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLS.java index 4b10ecbff5..01b7a1d5cd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLS.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLS.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum PatchJPEGLS { JAI2ISO, diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageInputStream.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageInputStream.java index 5341332eac..192cf85070 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageInputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageInputStream.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PatchJPEGLSImageInputStream extends ImageInputStreamImpl implements BytesWithImageDescriptor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageOutputStream.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageOutputStream.java index 4c5eff717a..85d5c6d358 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageOutputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/PatchJPEGLSImageOutputStream.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PatchJPEGLSImageOutputStream extends ImageOutputStreamImpl { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOFSegment.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOFSegment.java index a0ae882085..1b19fb2933 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOFSegment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOFSegment.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SOFSegment { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOSSegment.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOSSegment.java index bd9bf8bf4e..514b785590 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOSSegment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/jpeg/SOSSegment.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SOSSegment { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/mpeg/MPEGHeader.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/mpeg/MPEGHeader.java index 390a383423..ec60cfa34f 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/mpeg/MPEGHeader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/codec/mpeg/MPEGHeader.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MPEGHeader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ExtendInputImageStream.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ExtendInputImageStream.java index 1270577af0..98aa0f716c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ExtendInputImageStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ExtendInputImageStream.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExtendInputImageStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileRawImage.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileRawImage.java index a70733c97a..5049b3df9e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileRawImage.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileRawImage.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileRawImage { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileStreamSegment.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileStreamSegment.java index 587c5f5e26..b001416085 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileStreamSegment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/FileStreamSegment.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FileStreamSegment extends StreamSegment { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageCV.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageCV.java index b4560ba100..97b22f70f0 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageCV.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageCV.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageCV extends Mat implements PlanarImage { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageConversion.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageConversion.java index 626f523edf..69cd05dff5 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageConversion.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageConversion.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageConversion { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageParameters.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageParameters.java index 667f7c6689..d8a9c59747 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageParameters.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageParameters.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class ImageParameters { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageProcessor.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageProcessor.java index b242b0c146..304889c727 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageProcessor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageProcessor.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageProcessor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageSize.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageSize.java index f254380054..9e27ebc966 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageSize.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/ImageSize.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ImageSize { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/J2kImageWriteParam.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/J2kImageWriteParam.java index 5ba63fa6be..7bd4f2241b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/J2kImageWriteParam.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/J2kImageWriteParam.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class J2kImageWriteParam extends ImageWriteParam { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGImageWriteParam.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGImageWriteParam.java index 4bc13d1477..0bd067c571 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGImageWriteParam.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGImageWriteParam.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JPEGImageWriteParam extends ImageWriteParam { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGLSImageWriteParam.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGLSImageWriteParam.java index eabfc10e5a..75c07ef693 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGLSImageWriteParam.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/JPEGLSImageWriteParam.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JPEGLSImageWriteParam extends ImageWriteParam { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/LookupTableCV.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/LookupTableCV.java index 3026e9c7f0..1f143c545a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/LookupTableCV.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/LookupTableCV.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LookupTableCV { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/MemoryStreamSegment.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/MemoryStreamSegment.java index 59d932238e..ae2ba184be 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/MemoryStreamSegment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/MemoryStreamSegment.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MemoryStreamSegment extends StreamSegment { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeImageReader.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeImageReader.java index ee0a0fd135..e0c4eccbf2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeImageReader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeImageReader.java @@ -52,8 +52,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeImageReader extends ImageReader implements Closeable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageReaderSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageReaderSpi.java index f1c231af96..cb2478740c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageReaderSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageReaderSpi.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJ2kImageReaderSpi extends ImageReaderSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriter.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriter.java index 3e4fd017d5..707b71068c 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriter.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJ2kImageWriter extends ImageWriter { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriterSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriterSpi.java index fbcf7b7615..900a8bd9af 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriterSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJ2kImageWriterSpi.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJ2kImageWriterSpi extends ImageWriterSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageReaderSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageReaderSpi.java index a202b38e82..6a4ed9212d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageReaderSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageReaderSpi.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJLSImageReaderSpi extends ImageReaderSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriter.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriter.java index 89ed7181d0..ab2ceffdd2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriter.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJLSImageWriter extends ImageWriter { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriterSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriterSpi.java index fbb915cd6a..6c321058a9 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriterSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJLSImageWriterSpi.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJLSImageWriterSpi extends ImageWriterSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageReaderSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageReaderSpi.java index 30f24a718b..611f87d64a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageReaderSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageReaderSpi.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJPEGImageReaderSpi extends ImageReaderSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriter.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriter.java index f80098319a..70a8569021 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriter.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJPEGImageWriter extends ImageWriter { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriterSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriterSpi.java index 07e5539f0c..43249761e3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriterSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/NativeJPEGImageWriterSpi.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeJPEGImageWriterSpi extends ImageWriterSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/OpenCVNativeLoader.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/OpenCVNativeLoader.java index 99afe32206..9706fb3407 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/OpenCVNativeLoader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/OpenCVNativeLoader.java @@ -40,8 +40,8 @@ * 2. 加载失败会重试加载jar中的opencv动态库 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OpenCVNativeLoader extends org.opencv.osgi.OpenCVNativeLoader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/PlanarImage.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/PlanarImage.java index 11dac40ef1..d02c5a70f6 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/PlanarImage.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/PlanarImage.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface PlanarImage extends ImageSize, AutoCloseable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/SOFSegment.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/SOFSegment.java index 5c1e0de74a..19f93bb441 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/SOFSegment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/SOFSegment.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SOFSegment { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/StreamSegment.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/StreamSegment.java index 6b4f5978eb..f0f64129bd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/StreamSegment.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/StreamSegment.java @@ -46,8 +46,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class StreamSegment { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledAlgorithm.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledAlgorithm.java index 5f78068112..5df887630c 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledAlgorithm.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledAlgorithm.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TiledAlgorithm { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledProcessor.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledProcessor.java index fe9b3e2632..deb8a43cf9 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledProcessor.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/opencv/TiledProcessor.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TiledProcessor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReader.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReader.java index 796794b6e6..55cc7194ed 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReader.java @@ -62,8 +62,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeDCMImageReader extends ImageReader implements Closeable { @@ -862,8 +862,8 @@ public double getPixelValue(int frameIndex, int row, int column) throws IOExcept /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public static class NativeDCMImageReadParam extends ImageReadParam { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReaderSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReaderSpi.java index 57335263a3..7b643f3da7 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReaderSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeDCMImageReaderSpi.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeDCMImageReaderSpi extends ImageReaderSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReader.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReader.java index a3395fd3fe..659ed920ad 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReader.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReader.java @@ -42,8 +42,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeRLEImageReader extends javax.imageio.ImageReader { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReaderSpi.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReaderSpi.java index 385ad72888..b9d30b4ade 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReaderSpi.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/reader/NativeRLEImageReaderSpi.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeRLEImageReaderSpi extends javax.imageio.spi.ImageReaderSpi { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImageInputStreamAdapter.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImageInputStreamAdapter.java index 21ae54956e..a2057340d1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImageInputStreamAdapter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImageInputStreamAdapter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageInputStreamAdapter extends InputStream { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImagePixelInputStream.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImagePixelInputStream.java index 3833e4d910..259f7fe96a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImagePixelInputStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/ImagePixelInputStream.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImagePixelInputStream extends MemoryCacheImageInputStream implements BytesWithImageDescriptor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/OutputStreamAdapter.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/OutputStreamAdapter.java index edcd88f593..fc7d540323 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/OutputStreamAdapter.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/OutputStreamAdapter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OutputStreamAdapter extends ImageOutputStreamImpl { diff --git a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/SegmentedImageStream.java b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/SegmentedImageStream.java index 4b92e64ea1..d89e1131fd 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/SegmentedImageStream.java +++ b/bus-image/src/main/java/org/aoju/bus/image/nimble/stream/SegmentedImageStream.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SegmentedImageStream extends ImageInputStreamImpl { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/CFind.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/CFind.java index 3dd29c417b..3a2ff61e98 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/CFind.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/CFind.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CFind { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/CGet.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/CGet.java index e2173be8d9..f293a4bf3e 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/CGet.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/CGet.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CGet { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/CMove.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/CMove.java index 3d2bb8b493..1cb14b303e 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/CMove.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/CMove.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CMove { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/CStore.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/CStore.java index 467ce347d7..8f5e3c8723 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/CStore.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/CStore.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CStore { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Dcm.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Dcm.java index d5a85ac6dc..0534f6d6c8 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Dcm.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Dcm.java @@ -57,8 +57,8 @@ * DCM解压缩/转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Dcm2Dcm { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Jpg.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Jpg.java index 63007aa79c..374ff232ac 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Jpg.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Jpg.java @@ -49,8 +49,8 @@ * DCM-JPG转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Dcm2Jpg { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Str.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Str.java index 3f01ed31c7..bb287cfc8d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Str.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Str.java @@ -41,8 +41,8 @@ * DCM-JPG转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Dcm2Str extends SimpleFileVisitor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Xml.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Xml.java index da8c5c0af8..92f8443a59 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Xml.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Dcm2Xml.java @@ -48,8 +48,8 @@ * DCM-XML转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Dcm2Xml { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDir.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDir.java index dae0b37295..bcda459240 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDir.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDir.java @@ -51,8 +51,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DcmDir { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDump.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDump.java index d5a54bdf86..4ea2d4cc5b 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDump.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/DcmDump.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DcmDump implements ImageInputHandler { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Echo.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Echo.java index 380e4944f5..1579aa3766 100644 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Echo.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Echo.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Echo { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Emf2sf.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Emf2sf.java index d6c1a7aeb7..5e2d485ee3 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Emf2sf.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Emf2sf.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Emf2sf { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/FindSCU.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/FindSCU.java index ba5c97e26b..e72376769a 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/FindSCU.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/FindSCU.java @@ -61,8 +61,8 @@ * findscu只支持使用C-FIND消息的查询功能 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FindSCU extends Device implements AutoCloseable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/FixLO2UN.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/FixLO2UN.java index 309964a54b..c9d18bb3a1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/FixLO2UN.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/FixLO2UN.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FixLO2UN extends SimpleFileVisitor { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/GetSCU.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/GetSCU.java index 27b0ca8a2b..71c56112ec 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/GetSCU.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/GetSCU.java @@ -49,8 +49,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GetSCU implements AutoCloseable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL72Xml.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL72Xml.java index 1a1ddc4ae4..efc3d5a611 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL72Xml.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL72Xml.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL72Xml { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Pix.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Pix.java index 64ed487464..ddda3a47ec 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Pix.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Pix.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Pix extends Device { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Rcv.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Rcv.java index 12daefbd1d..76748bc38e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Rcv.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Rcv.java @@ -46,8 +46,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Rcv { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Snd.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Snd.java index 4b7f5d0206..9daa886c3f 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Snd.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/HL7Snd.java @@ -42,8 +42,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HL7Snd extends Device { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCP.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCP.java index e2548ef5f4..f2f07d5662 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCP.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IanSCP extends Device { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCU.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCU.java index 0655392732..682421ee5d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCU.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/IanSCU.java @@ -46,8 +46,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IanSCU { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Jpg2Dcm.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Jpg2Dcm.java index f6bc08fd10..38ce6ecb75 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Jpg2Dcm.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Jpg2Dcm.java @@ -26,7 +26,6 @@ package org.aoju.bus.image.plugin; import org.aoju.bus.core.lang.Normal; -import org.aoju.bus.core.lang.Symbol; import org.aoju.bus.core.toolkit.StreamKit; import org.aoju.bus.image.Tag; import org.aoju.bus.image.UID; @@ -38,7 +37,6 @@ import org.aoju.bus.image.nimble.codec.jpeg.JPEGHeader; import org.aoju.bus.image.nimble.codec.mpeg.MPEGHeader; -import javax.activation.FileTypeMap; import java.io.*; import java.text.MessageFormat; import java.util.Arrays; @@ -46,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Jpg2Dcm { @@ -122,7 +120,7 @@ private void setNoAPPn(boolean noAPPn) { private void toFileType(File infile) { try { - inFileType = FileType.valueOf(infile); + inFileType = FileType.valueOf(infile.getName()); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(MessageFormat.format("invalid-file-ext", infile)); } @@ -197,11 +195,6 @@ boolean parseHeader(Jpg2Dcm main) { this.tsuid = tsuid; } - static FileType valueOf(File file) { - String contentType = FileTypeMap.getDefaultFileTypeMap().getContentType(file); - return valueOf(contentType.substring(contentType.lastIndexOf(Symbol.SLASH) + 1)); - } - public String getSOPClassUID() { return cuid; } @@ -211,6 +204,7 @@ public String getTransferSyntaxUID() { } abstract boolean parseHeader(Jpg2Dcm main); + } } diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/MkKOS.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/MkKOS.java index 3177326eb8..f0e0595de1 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/MkKOS.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/MkKOS.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MkKOS { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Modality.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Modality.java index 4396dbbea0..3424d5a241 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Modality.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Modality.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Modality { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/MoveSCU.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/MoveSCU.java index 00d6e2d3a4..3f0a92c29e 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/MoveSCU.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/MoveSCU.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MoveSCU extends Device implements AutoCloseable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCP.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCP.java index 71120da85d..0c1b45892f 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCP.java @@ -50,8 +50,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MppsSCP { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCU.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCU.java index c622cbda1d..2e85173559 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCU.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/MppsSCU.java @@ -49,8 +49,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MppsSCU { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Pdf2Dcm.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Pdf2Dcm.java index e0b939c5d1..8539e59435 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Pdf2Dcm.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Pdf2Dcm.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Pdf2Dcm { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/StgSCU.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/StgSCU.java index 1931776d62..f965ad98f2 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/StgSCU.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/StgSCU.java @@ -52,8 +52,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StgSCU { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCP.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCP.java index 25de2f1454..e1c61a27cc 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCP.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCP.java @@ -50,8 +50,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StoreSCP extends BasicCStoreSCP { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCU.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCU.java index 2cb3008b92..a1de72764d 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCU.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/StoreSCU.java @@ -56,8 +56,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StoreSCU implements AutoCloseable { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2Dcm.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2Dcm.java index 281e3d67af..ad001f35eb 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2Dcm.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2Dcm.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Xml2Dcm { diff --git a/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2HL7.java b/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2HL7.java index 94f89fc607..8aac3e2e18 100755 --- a/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2HL7.java +++ b/bus-image/src/main/java/org/aoju/bus/image/plugin/Xml2HL7.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Xml2HL7 { diff --git a/bus-limiter/README.md b/bus-limiter/README.md index 3b8527754c..dececb7a4e 100755 --- a/bus-limiter/README.md +++ b/bus-limiter/README.md @@ -489,7 +489,7 @@ public class RedisBlacklistLimiter extends BlacklistLimiter { - 4线程1000连接压测120秒 - tomcat.max-threads=1000, - 业务代码执行时间均为1000ms -- JDK1.8 +- Java 17+ - Zoookeeper和Redis和应用处于同一主机 - Zookeeper为3节点 @@ -505,7 +505,7 @@ public class RedisBlacklistLimiter extends BlacklistLimiter { - 4线程1000连接压测120秒 - tomcat.max-threads=1000, - 业务代码执行时间均为1000ms -- JDK1.8 +- Java 17+ - Zoookeeper和Redis和应用处于同一主机 | | AVG RT | AVG-QPS | diff --git a/bus-limiter/pom.xml b/bus-limiter/pom.xml index b6d858a608..b427f65af8 100755 --- a/bus-limiter/pom.xml +++ b/bus-limiter/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-limiter - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.6.3 4.3.0 3.11.2 @@ -125,7 +125,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -134,7 +134,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -168,7 +168,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -181,7 +181,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -195,7 +195,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/Handler.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/Handler.java index 127d72b0d0..2c8e5f4642 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/Handler.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/Handler.java @@ -35,8 +35,8 @@ * limiter 降级策略应该由limiter本身实现,这里只是一个简单的替代方案 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Handler { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/Injector.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/Injector.java index e87358d8f5..3ecf46212a 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/Injector.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/Injector.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Injector { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/Limiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/Limiter.java index ac321ec347..7c8a90dd9b 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/Limiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/Limiter.java @@ -32,8 +32,8 @@ * 限制器件的定义 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Limiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/Parser.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/Parser.java index 2634f8b8a4..2a792a1be6 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/Parser.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/Parser.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Parser { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/Resolver.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/Resolver.java index 4d64cef8e1..bb90bcbf26 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/Resolver.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/Resolver.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Resolver { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/LimiterParameter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/LimiterParameter.java index 7fc6b75334..ac5de6f63f 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/LimiterParameter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/LimiterParameter.java @@ -34,8 +34,8 @@ * 限流参数 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Lock.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Lock.java index 6aeb683404..5585fbde7a 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Lock.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Lock.java @@ -33,8 +33,8 @@ * 锁 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Locks.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Locks.java index c612caf7f1..f8eee5d8e0 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Locks.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Locks.java @@ -34,8 +34,8 @@ * 锁 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Peak.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Peak.java index b66e5e4967..032bf8698e 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Peak.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/Peak.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/RateLimiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/RateLimiter.java index 107c05b093..4dcc817e62 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/RateLimiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/annotation/RateLimiter.java @@ -33,8 +33,8 @@ * 限流 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimitContextsValueWrapper.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimitContextsValueWrapper.java index 5350b88568..3c9bb2866d 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimitContextsValueWrapper.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimitContextsValueWrapper.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimitContextsValueWrapper { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimiterExecutionContext.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimiterExecutionContext.java index 82382c6989..2119ef51aa 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimiterExecutionContext.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/execute/LimiterExecutionContext.java @@ -46,8 +46,8 @@ * limiter 上下文信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimiterExecutionContext { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterExpressionRootObject.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterExpressionRootObject.java index 7bc7583c21..cf3498da54 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterExpressionRootObject.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterExpressionRootObject.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimiterExpressionRootObject { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterOperationExpressionEvaluator.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterOperationExpressionEvaluator.java index 15b3c8bfa6..b0717fbe7a 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterOperationExpressionEvaluator.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/expression/LimiterOperationExpressionEvaluator.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimiterOperationExpressionEvaluator { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/BeanFactoryLimitedResourceSourceAdvisor.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/BeanFactoryLimitedResourceSourceAdvisor.java index b8485647ec..57dd5949e8 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/BeanFactoryLimitedResourceSourceAdvisor.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/BeanFactoryLimitedResourceSourceAdvisor.java @@ -33,8 +33,8 @@ * 实际的切面 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BeanFactoryLimitedResourceSourceAdvisor extends AbstractBeanFactoryPointcutAdvisor { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimitedResourceSourcePointcut.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimitedResourceSourcePointcut.java index ee7f508978..393fec621c 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimitedResourceSourcePointcut.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimitedResourceSourcePointcut.java @@ -37,8 +37,8 @@ * 切点抽象定义 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ abstract class LimitedResourceSourcePointcut extends StaticMethodMatcherPointcut implements Serializable { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterAspectSupport.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterAspectSupport.java index 7579c11758..c6ec58fbb5 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterAspectSupport.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterAspectSupport.java @@ -49,8 +49,8 @@ * 使用beanfactory的一些基础设施 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class LimiterAspectSupport implements BeanFactoryAware, InitializingBean, SmartInitializingSingleton { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterInterceptor.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterInterceptor.java index 6036a0995c..77f9e9c8da 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterInterceptor.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/intercept/LimiterInterceptor.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimiterInterceptor extends LimiterAspectSupport implements MethodInterceptor, Serializable { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/AbstractLimitedResourceMetadata.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/AbstractLimitedResourceMetadata.java index 3cd7d05afa..db990903c6 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/AbstractLimitedResourceMetadata.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/AbstractLimitedResourceMetadata.java @@ -42,8 +42,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractLimitedResourceMetadata implements LimitedResourceMetadata, Observer { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceKey.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceKey.java index 5885f5b2bd..8718a3cb71 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceKey.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceKey.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimitedResourceKey implements Comparable { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadata.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadata.java index e12a5bc32c..c75a0190cf 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadata.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadata.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LimitedResourceMetadata { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadataCache.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadataCache.java index 8f23134063..89dd37d39f 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadataCache.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/metadata/LimitedResourceMetadataCache.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimitedResourceMetadataCache { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/AbstractLimitedResource.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/AbstractLimitedResource.java index 859018e9b1..38d2f63b09 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/AbstractLimitedResource.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/AbstractLimitedResource.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractLimitedResource extends Observable implements LimitedResource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/DefaultLimitedResourceSource.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/DefaultLimitedResourceSource.java index 61328e7a95..ab10e686eb 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/DefaultLimitedResourceSource.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/DefaultLimitedResourceSource.java @@ -42,8 +42,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultLimitedResourceSource implements LimitedResourceSource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResource.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResource.java index 1fe6194d6f..eb5d5533c7 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResource.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResource.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LimitedResource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceScanner.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceScanner.java index 0f4ddee1d0..91df8e8e6b 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceScanner.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceScanner.java @@ -47,8 +47,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimitedResourceScanner implements LimitedResourceSource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceSource.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceSource.java index a8f6cf826f..d13b6f2446 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceSource.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/resource/LimitedResourceSource.java @@ -32,8 +32,8 @@ * 获取限流规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LimitedResourceSource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/Lock.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/Lock.java index 2dbcc8ad42..c9eeaf1a0d 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/Lock.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/Lock.java @@ -33,8 +33,8 @@ * Lock * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Lock implements Limiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockAnnotationParser.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockAnnotationParser.java index 18d809d6f7..fae1cf40b4 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockAnnotationParser.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockAnnotationParser.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LockAnnotationParser extends AbstractParser { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResource.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResource.java index 210b416b71..b05f140f14 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResource.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResource.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LockResource extends AbstractLimitedResource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResourceMetadata.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResourceMetadata.java index 7f43e6a3f7..ccc669363c 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResourceMetadata.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/LockResourceMetadata.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LockResourceMetadata extends AbstractLimitedResourceMetadata { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/jdk/JdkLock.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/jdk/JdkLock.java index b4f4654ae8..2c752cc667 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/jdk/JdkLock.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/jdk/JdkLock.java @@ -35,8 +35,8 @@ * 基于ConcurrentHashMap和ReentrantLock实现的一个简单的锁组件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkLock extends org.aoju.bus.limiter.support.lock.Lock { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/redis/RedisLock.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/redis/RedisLock.java index 9d7917925e..c246eee810 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/redis/RedisLock.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/redis/RedisLock.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RedisLock extends Lock { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/zookeeper/ZookeeperLock.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/zookeeper/ZookeeperLock.java index cb763682dc..c856ac58f4 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/zookeeper/ZookeeperLock.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/lock/zookeeper/ZookeeperLock.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZookeeperLock extends Lock { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiter.java index b7c1aafe6a..ceae1ba653 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiter.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class PeakLimiter implements Limiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterAnnotationParser.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterAnnotationParser.java index c43648fd37..2dca187de5 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterAnnotationParser.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterAnnotationParser.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PeakLimiterAnnotationParser extends AbstractParser { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResource.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResource.java index 80f66a237a..c323b846e9 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResource.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResource.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PeakLimiterResource extends AbstractLimitedResource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResourceMetadata.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResourceMetadata.java index 6a00d9ac7e..77795e44af 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResourceMetadata.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/PeakLimiterResourceMetadata.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PeakLimiterResourceMetadata extends AbstractLimitedResourceMetadata { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/jdk/JdkPeakLimiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/jdk/JdkPeakLimiter.java index 5f78ce7944..ebc171e68f 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/jdk/JdkPeakLimiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/jdk/JdkPeakLimiter.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkPeakLimiter extends PeakLimiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/redis/RedisPeakLimiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/redis/RedisPeakLimiter.java index 371fa15e36..d8382815fb 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/redis/RedisPeakLimiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/peak/redis/RedisPeakLimiter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RedisPeakLimiter extends PeakLimiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/AbstractParser.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/AbstractParser.java index f5cffff071..28215f202e 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/AbstractParser.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/AbstractParser.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractParser, V extends Annotation> implements Parser { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiter.java index 432c3f458b..65b2e0a9be 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class RateLimiter implements Limiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterAnnotationParser.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterAnnotationParser.java index 7142e4b6db..20e6beb8e9 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterAnnotationParser.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterAnnotationParser.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RateLimiterAnnotationParser extends AbstractParser { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResource.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResource.java index ea244f88e6..65b836db8f 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResource.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResource.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RateLimiterResource extends AbstractLimitedResource { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResourceMetadata.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResourceMetadata.java index 5a4cfca386..7d77e4139c 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResourceMetadata.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/RateLimiterResourceMetadata.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RateLimiterResourceMetadata extends AbstractLimitedResourceMetadata { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/JdkRateLimiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/JdkRateLimiter.java index 601803ae36..5d64d73398 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/JdkRateLimiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/JdkRateLimiter.java @@ -38,8 +38,8 @@ * 一个RateLimiter组件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkRateLimiter extends RateLimiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/RateLimiterObject.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/RateLimiterObject.java index e10b0b0f02..46058350df 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/RateLimiterObject.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/jdk/RateLimiterObject.java @@ -29,8 +29,8 @@ * 基于令牌桶实现的速率限制器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RateLimiterObject { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiter.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiter.java index 9e18617ff5..a1419c1462 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiter.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiter.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RedisRatelimiter extends RateLimiter { diff --git a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiterObject.java b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiterObject.java index e657a87d7d..0acdbe0e49 100755 --- a/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiterObject.java +++ b/bus-limiter/src/main/java/org/aoju/bus/limiter/support/rate/redis/RedisRatelimiterObject.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RedisRatelimiterObject extends RedissonObject { diff --git a/bus-logger/pom.xml b/bus-logger/pom.xml index 97bb3abf67..e087ae18a9 100644 --- a/bus-logger/pom.xml +++ b/bus-logger/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-logger - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,11 +41,11 @@ UTF-8 UTF-8 - 1.8 - 1.7.31 + 17 + 1.7.36 1.2.3 1.2.17 - 2.17.1 + 2.17.2 1.2 2.4.1 3.4.3.Final @@ -112,7 +112,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -121,7 +121,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -155,7 +155,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -168,7 +168,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -182,7 +182,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/AbstractAware.java b/bus-logger/src/main/java/org/aoju/bus/logger/AbstractAware.java index f3b111a925..e1640a9277 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/AbstractAware.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/AbstractAware.java @@ -36,8 +36,8 @@ * 实现了一些通用的接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ public abstract class AbstractAware implements Log, Serializable { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/GlobalFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/GlobalFactory.java index 51f6b88bb1..1361142171 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/GlobalFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/GlobalFactory.java @@ -37,8 +37,8 @@ * 用于减少日志工厂创建,减少日志库探测 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GlobalFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/Log.java b/bus-logger/src/main/java/org/aoju/bus/logger/Log.java index 0010ff942c..45577848d0 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/Log.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/Log.java @@ -31,8 +31,8 @@ * 日志统一接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Log extends TraceLog, DebugLog, InfoLog, WarnLog, ErrorLog { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/LogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/LogFactory.java index 15e16b15b2..0bd3ab0d20 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/LogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/LogFactory.java @@ -40,8 +40,8 @@ * 日志工厂类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/Logger.java b/bus-logger/src/main/java/org/aoju/bus/logger/Logger.java index e5d32c8507..e697bbe5e5 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/Logger.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/Logger.java @@ -33,8 +33,8 @@ * 静态日志类,用于在不引入日志对象的情况下打印日志 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Logger { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog.java index 87be4f347b..c16a2ca0be 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog.java @@ -36,8 +36,8 @@ * Apache Commons Logging log. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ApacheCommonsLog extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog4JLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog4JLog.java index ce1388ad14..3480dd8996 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog4JLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLog4JLog.java @@ -33,8 +33,8 @@ * Apache Commons Logging for Log4j * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ApacheCommonsLog4JLog extends Log4jLog { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLogFactory.java index c010c8ce63..bca03560b6 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/ApacheCommonsLogFactory.java @@ -32,8 +32,8 @@ * Apache Commons Logging * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ApacheCommonsLogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/package-info.java index 181aaba275..0218765af1 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/commons/package-info.java @@ -2,7 +2,7 @@ * Apache-Commons-Logging日志库的实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.commons; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLog.java index 6e1158b64a..0358927890 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLog.java @@ -38,8 +38,8 @@ * 利用System.out.println()打印日志 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConsoleLog extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLogFactory.java index f979ddb4a4..2b6e2212cb 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/ConsoleLogFactory.java @@ -32,8 +32,8 @@ * 利用System.out.println()打印日志 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConsoleLogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/package-info.java index 463bd7db1f..a7ad733a5c 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/console/package-info.java @@ -2,7 +2,7 @@ * 控制台输出的实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.console; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLog.java index 318adb348d..7fc3d1bcbd 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLog.java @@ -35,8 +35,8 @@ * Jboss-Logging log. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JbossLog extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLogFactory.java index d0a12917e8..d5486f4d65 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/JbossLogFactory.java @@ -32,8 +32,8 @@ * Jboss-Logging * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JbossLogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/package-info.java index 767d1eb674..0dccb8238f 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jboss/package-info.java @@ -2,7 +2,7 @@ * jboss-logging实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.jboss; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLog.java index 5a6a4e455c..b5dc9ce8d1 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLog.java @@ -37,8 +37,8 @@ * java.util.logging log. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkLog extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLogFactory.java index 804ff5132b..0dfbb3299e 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/JdkLogFactory.java @@ -39,8 +39,8 @@ * java.util.logging * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkLogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/package-info.java index e701a9e769..58503eeee0 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/jdk/package-info.java @@ -2,7 +2,7 @@ * JDK-Logging的实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.jdk; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLog.java index ad88821e48..c31551ae54 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLog.java @@ -35,8 +35,8 @@ * Apache Log4J log. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Log4jLog extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLogFactory.java index 64f2bd03c9..4880514cc0 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/Log4jLogFactory.java @@ -32,8 +32,8 @@ * Apache Log4J * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Log4jLogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/package-info.java index 014f4da4ab..2105e04f2a 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j/package-info.java @@ -2,7 +2,7 @@ * Log4j的实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.log4j; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2Log.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2Log.java index b9d437b8a2..41c0441a89 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2Log.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2Log.java @@ -36,8 +36,8 @@ * Apache Log4J 2 log. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Log4j2Log extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2LogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2LogFactory.java index 3e6b0ace26..a40a040366 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2LogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/Log4j2LogFactory.java @@ -32,8 +32,8 @@ * Apache Log4J 2 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Log4j2LogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/package-info.java index 91ae399c47..6b15d10949 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/log4j2/package-info.java @@ -2,7 +2,7 @@ * Log4j2的实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.log4j2; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/package-info.java index 14f3440ff2..8992cb5d3d 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/package-info.java @@ -2,7 +2,7 @@ * 第三方日志库的实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLog.java index d36b54997e..076ba5c1c4 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLog.java @@ -38,8 +38,8 @@ * 无缝支持 LogBack * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Slf4jLog extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLogFactory.java index 5d0b7855d1..935bc394f6 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/Slf4jLogFactory.java @@ -40,8 +40,8 @@ * 无缝支持LogBack * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Slf4jLogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/package-info.java index 15e8a3e82c..1fa319ffd4 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/slf4j/package-info.java @@ -2,7 +2,7 @@ * Slf4j的实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.slf4j; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLog.java index c552c14635..db9478c77a 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLog.java @@ -40,8 +40,8 @@ * tinylog2 log. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TinyLog extends AbstractAware { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLogFactory.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLogFactory.java index 43b1a57ae9..d5492f55fa 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLogFactory.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/TinyLogFactory.java @@ -32,8 +32,8 @@ * TinyLog2 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TinyLogFactory extends LogFactory { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/package-info.java index 57357d8b42..ee57a65318 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/dialect/tinylog/package-info.java @@ -3,7 +3,7 @@ * 封装包括TinyLog和TinyLog2 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.dialect.tinylog; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/level/DebugLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/level/DebugLog.java index 826c4c6fcf..b458ee9c5a 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/level/DebugLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/level/DebugLog.java @@ -29,8 +29,8 @@ * DEBUG级别日志接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DebugLog { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/level/ErrorLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/level/ErrorLog.java index 002338a735..e82d6a7141 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/level/ErrorLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/level/ErrorLog.java @@ -29,8 +29,8 @@ * ERROR级别日志接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ErrorLog { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/level/InfoLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/level/InfoLog.java index e50c3c9b07..42a5cde1e2 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/level/InfoLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/level/InfoLog.java @@ -29,8 +29,8 @@ * INFO级别日志接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface InfoLog { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/level/Level.java b/bus-logger/src/main/java/org/aoju/bus/logger/level/Level.java index 0d73545d6b..2d729f8134 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/level/Level.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/level/Level.java @@ -29,8 +29,8 @@ * 日志等级 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Level { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/level/TraceLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/level/TraceLog.java index 051008359c..007246a88a 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/level/TraceLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/level/TraceLog.java @@ -29,8 +29,8 @@ * TRACE级别日志接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TraceLog { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/level/WarnLog.java b/bus-logger/src/main/java/org/aoju/bus/logger/level/WarnLog.java index 5ef87a4829..76431fdebe 100755 --- a/bus-logger/src/main/java/org/aoju/bus/logger/level/WarnLog.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/level/WarnLog.java @@ -29,8 +29,8 @@ * WARN级别日志接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface WarnLog { diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/level/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/level/package-info.java index 1fd0fe46e1..e435c627e8 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/level/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/level/package-info.java @@ -2,7 +2,7 @@ * 按照日志级别定义的日志打印接口定义 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger.level; \ No newline at end of file diff --git a/bus-logger/src/main/java/org/aoju/bus/logger/package-info.java b/bus-logger/src/main/java/org/aoju/bus/logger/package-info.java index a600b8fe9e..1ec573b22b 100644 --- a/bus-logger/src/main/java/org/aoju/bus/logger/package-info.java +++ b/bus-logger/src/main/java/org/aoju/bus/logger/package-info.java @@ -3,7 +3,7 @@ * 根据加入ClassPath中的jar包动态检测日志实现的方式,使日志使用个更加便利灵活 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ package org.aoju.bus.logger; \ No newline at end of file diff --git a/bus-mapper/pom.xml b/bus-mapper/pom.xml index a9c5516c96..36e9b16545 100755 --- a/bus-mapper/pom.xml +++ b/bus-mapper/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-mapper - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 3.5.7 2.0.6 @@ -85,7 +85,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -94,7 +94,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -128,7 +128,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -141,7 +141,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -155,7 +155,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/Mapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/Mapper.java index e923be8d61..89930cee64 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/Mapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/Mapper.java @@ -35,8 +35,8 @@ * 通用Mapper接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface Mapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/Marker.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/Marker.java index ebd8e70ac2..e98dfa4518 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/Marker.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/Marker.java @@ -29,8 +29,8 @@ * 标记接口,继承该接口的接口,在MapperScannerConfigurer#setMarkerInterface时,会自动注册到通用Mapper * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Marker { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateCondition.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateCondition.java index 61ad2984d6..f389c9c904 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateCondition.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateCondition.java @@ -37,8 +37,8 @@ * 聚合查询条件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AggregateCondition implements Serializable { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateType.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateType.java index 526d4ec5d4..7f0cc118d0 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateType.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregateType.java @@ -29,8 +29,8 @@ * 聚合查询函数 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum AggregateType { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationMapper.java index 3d8bf2ce3a..5dabdb86cd 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationMapper.java @@ -35,8 +35,8 @@ * 通用聚合查询接口,特殊方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface AggregationMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationProvider.java index 638d66a54f..2b7d3974f6 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/aggregation/AggregationProvider.java @@ -44,8 +44,8 @@ * 聚合实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AggregationProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeleteByPropertyMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeleteByPropertyMapper.java index 8bf9604d81..ad980bd74d 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeleteByPropertyMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeleteByPropertyMapper.java @@ -34,8 +34,8 @@ /** * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface DeleteByPropertyMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeletePropertyProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeletePropertyProvider.java index 4746cae413..0ba2125524 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeletePropertyProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/delete/DeletePropertyProvider.java @@ -41,8 +41,8 @@ * 删除属性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DeletePropertyProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/InsertListMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/InsertListMapper.java index d966c45489..af545965bb 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/InsertListMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/InsertListMapper.java @@ -37,8 +37,8 @@ * 因INSERT ALL语法不支持序列,可手工获取序列并设置至Entity或绑定触发器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertListMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleMapper.java index b2ef6fb224..8163b121a0 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleMapper.java @@ -31,8 +31,8 @@ * Oracle独有方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface OracleMapper extends InsertListMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleProvider.java index 87483dbd95..6a5ac77763 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/dialect/oracle/OracleProvider.java @@ -39,8 +39,8 @@ * Oracle实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OracleProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/DeleteByIdListMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/DeleteByIdListMapper.java index 66ebea4fe9..b775d59431 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/DeleteByIdListMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/DeleteByIdListMapper.java @@ -36,8 +36,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface DeleteByIdListMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListMapper.java index f16d65b883..1489ac6de8 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListMapper.java @@ -32,8 +32,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface IdListMapper extends SelectByIdListMapper, DeleteByIdListMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListProvider.java index ba1d1f30b2..2194644ee2 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/IdListProvider.java @@ -41,8 +41,8 @@ * ids 如 "1,2,3" * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IdListProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/SelectByIdListMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/SelectByIdListMapper.java index 1c56756766..94b52bc2c8 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/SelectByIdListMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/idlist/SelectByIdListMapper.java @@ -36,8 +36,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectByIdListMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListMapper.java index 340b7885d5..ad7d9487be 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListMapper.java @@ -35,8 +35,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertListMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListProvider.java index 1fb6d39835..0e99717330 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/insert/InsertListProvider.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InsertListProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectByPropertyMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectByPropertyMapper.java index 3d0a2463e1..e5a796a12f 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectByPropertyMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectByPropertyMapper.java @@ -37,8 +37,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectByPropertyMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectPropertyProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectPropertyProvider.java index 8144ce6250..a3d10a6150 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectPropertyProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/select/SelectPropertyProvider.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SelectPropertyProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferMapper.java index d0f097fb1b..90cc025456 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface UpdateByDifferMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferProvider.java index b2ef526cf2..324f81ce82 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/differ/UpdateByDifferProvider.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UpdateByDifferProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceMapper.java index 263d6f35a8..21ca7eb303 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceMapper.java @@ -35,8 +35,8 @@ * 通用Mapper接口, 非空字段强制更新 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface UpdateByPrimaryKeySelectiveForceMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceProvider.java index 2774c0aaa9..becef84744 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/additional/update/force/UpdateByPrimaryKeySelectiveForceProvider.java @@ -42,8 +42,8 @@ * 通用Mapper接口, 更新, 强制,实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UpdateByPrimaryKeySelectiveForceProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/ColumnType.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/ColumnType.java index e211bd7e02..3bdc34f990 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/ColumnType.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/ColumnType.java @@ -39,8 +39,8 @@ * 针对列的复杂属性配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/KeySql.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/KeySql.java index d53d22d027..a1adc99280 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/KeySql.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/KeySql.java @@ -40,8 +40,8 @@ * 主键策略,用于替换 JPA 中的复杂用法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/LogicDelete.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/LogicDelete.java index 5fe3df4e06..4b73330f16 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/LogicDelete.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/LogicDelete.java @@ -34,8 +34,8 @@ * 逻辑删除 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/NameStyle.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/NameStyle.java index d0e8b7334e..d74617d84a 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/NameStyle.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/NameStyle.java @@ -36,8 +36,8 @@ * 名字转换样式,注解的优先级高于全局配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Order.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Order.java index 7c0efb1733..111be014f0 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Order.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Order.java @@ -34,8 +34,8 @@ * 字段排序 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/RegisterMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/RegisterMapper.java index de2e6b4f05..102ff7423d 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/RegisterMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/RegisterMapper.java @@ -34,8 +34,8 @@ * 自动注册 Mapper 接口标记 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Version.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Version.java index c16446e8a8..aeb153479f 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Version.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/annotation/Version.java @@ -37,8 +37,8 @@ * 版本信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/EntityBuilder.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/EntityBuilder.java index d1f86449e0..9d0a59ee99 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/EntityBuilder.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/EntityBuilder.java @@ -42,8 +42,8 @@ * 实体类工具类 - 处理实体和数据库表以及字段关键的一个类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EntityBuilder { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/FieldBuilder.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/FieldBuilder.java index 24720b992e..04164d12da 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/FieldBuilder.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/FieldBuilder.java @@ -40,8 +40,8 @@ * 类字段工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FieldBuilder { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperBuilder.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperBuilder.java index 7f1bf2bdd6..dc4ab1ebd1 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperBuilder.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperBuilder.java @@ -50,8 +50,8 @@ * 处理主要逻辑,最关键的一个类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MapperBuilder { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperTemplate.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperTemplate.java index cd7a6ef927..88f85feaf8 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperTemplate.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/MapperTemplate.java @@ -55,8 +55,8 @@ * 通用Mapper模板类,扩展通用Mapper时需要继承该类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SelectKeyBuilder.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SelectKeyBuilder.java index f13d7e257a..ad3ad1f184 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SelectKeyBuilder.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SelectKeyBuilder.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SelectKeyBuilder implements KeyGenerator { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlBuilder.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlBuilder.java index 72b1c9a32a..514635f565 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlBuilder.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlBuilder.java @@ -40,8 +40,8 @@ * 拼常用SQL的工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlBuilder { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlCriteriaBuilder.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlCriteriaBuilder.java index c27c54a016..f8de3987ce 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlCriteriaBuilder.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/SqlCriteriaBuilder.java @@ -37,8 +37,8 @@ * sql 条件语句 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlCriteriaBuilder implements SqlsCriteria { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/DefaultEntityResolve.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/DefaultEntityResolve.java index 8075726332..16cddc53ad 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/DefaultEntityResolve.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/DefaultEntityResolve.java @@ -51,8 +51,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultEntityResolve implements EntityResolve { private final Log log = LogFactory.getLog(DefaultEntityResolve.class); diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/EntityResolve.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/EntityResolve.java index 5c5a10f4eb..c6ad0c52d5 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/EntityResolve.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/builder/resolve/EntityResolve.java @@ -32,8 +32,8 @@ * 解析实体类接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface EntityResolve { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/BasicMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/BasicMapper.java index 771d946db8..c1c25f04a6 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/BasicMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/BasicMapper.java @@ -35,8 +35,8 @@ * 通用Mapper接口,其他接口继承该接口即可 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface BasicMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ConditionMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ConditionMapper.java index e034a1c798..ff11009444 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ConditionMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ConditionMapper.java @@ -33,8 +33,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface ConditionMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/IdsMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/IdsMapper.java index c39384d210..bdf0e2acdd 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/IdsMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/IdsMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface IdsMapper extends SelectByIdsMapper, DeleteByIdsMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/MySqlMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/MySqlMapper.java index 3bea178d2d..fff84288b8 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/MySqlMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/MySqlMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface MySqlMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/RowBoundsMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/RowBoundsMapper.java index 00fa17ed20..75fd3d11a2 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/RowBoundsMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/RowBoundsMapper.java @@ -33,8 +33,8 @@ * 通用Mapper接口,带RowBounds参数的查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface RowBoundsMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/SqlServerMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/SqlServerMapper.java index ab3b41f162..113f45174c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/SqlServerMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/SqlServerMapper.java @@ -35,8 +35,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SqlServerMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseDeleteMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseDeleteMapper.java index 570d68d095..3da6538910 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseDeleteMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseDeleteMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface BaseDeleteMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseInsertMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseInsertMapper.java index 254c54de8e..fcf5d04484 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseInsertMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseInsertMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface BaseInsertMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseSelectMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseSelectMapper.java index e295a4e7b1..410f1deeaa 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseSelectMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseSelectMapper.java @@ -33,8 +33,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface BaseSelectMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseUpdateMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseUpdateMapper.java index 9788870227..6d41342e22 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseUpdateMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/BaseUpdateMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface BaseUpdateMapper extends diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteByPrimaryKeyMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteByPrimaryKeyMapper.java index e1337c2384..b8497c2be2 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteByPrimaryKeyMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteByPrimaryKeyMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface DeleteByPrimaryKeyMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteMapper.java index 29826ce94c..e43bd78f21 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/delete/DeleteMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface DeleteMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertMapper.java index 8fb0f29e5a..c87875b35e 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertSelectiveMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertSelectiveMapper.java index ff729538bf..1e5b3b81b8 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertSelectiveMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/insert/InsertSelectiveMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertSelectiveMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/ExistsWithPrimaryKeyMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/ExistsWithPrimaryKeyMapper.java index 7a86d22068..4f9713904c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/ExistsWithPrimaryKeyMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/ExistsWithPrimaryKeyMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface ExistsWithPrimaryKeyMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectAllMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectAllMapper.java index 13586c4dd2..93b360241f 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectAllMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectAllMapper.java @@ -35,8 +35,8 @@ * 查询所有记录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectAllMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectByPrimaryKeyMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectByPrimaryKeyMapper.java index ed42f76b67..5240a06563 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectByPrimaryKeyMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectByPrimaryKeyMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectByPrimaryKeyMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectCountMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectCountMapper.java index 2545c18122..5e7882fa5c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectCountMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectCountMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectCountMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectMapper.java index 565b6c9c66..87664159eb 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectMapper.java @@ -36,8 +36,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectOneMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectOneMapper.java index 43fee9124f..e5782b736c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectOneMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/select/SelectOneMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectOneMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeyMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeyMapper.java index b36a23cdeb..972546159c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeyMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeyMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface UpdateByPrimaryKeyMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeySelectiveMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeySelectiveMapper.java index 72b9a33c60..b687195c7e 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeySelectiveMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/base/update/UpdateByPrimaryKeySelectiveMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface UpdateByPrimaryKeySelectiveMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/DeleteByConditionMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/DeleteByConditionMapper.java index 4a33242b1b..b01995fdf0 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/DeleteByConditionMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/DeleteByConditionMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface DeleteByConditionMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectByConditionMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectByConditionMapper.java index d9b5ad490e..b82daa1ff4 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectByConditionMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectByConditionMapper.java @@ -36,8 +36,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectByConditionMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectCountByConditionMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectCountByConditionMapper.java index 3daec536bf..927e4ace19 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectCountByConditionMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectCountByConditionMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectCountByConditionMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectOneByConditionMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectOneByConditionMapper.java index bdd32aa711..63b9052c2e 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectOneByConditionMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/SelectOneByConditionMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectOneByConditionMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionMapper.java index 7790f83775..6a205db0aa 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionMapper.java @@ -35,8 +35,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface UpdateByConditionMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionSelectiveMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionSelectiveMapper.java index b360082e73..98f1f57142 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionSelectiveMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/condition/UpdateByConditionSelectiveMapper.java @@ -35,8 +35,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface UpdateByConditionSelectiveMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/DeleteByIdsMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/DeleteByIdsMapper.java index 9ccec97838..985b04b718 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/DeleteByIdsMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/DeleteByIdsMapper.java @@ -34,8 +34,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface DeleteByIdsMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/SelectByIdsMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/SelectByIdsMapper.java index 3641c9fdf1..07fc79d856 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/SelectByIdsMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/ids/SelectByIdsMapper.java @@ -36,8 +36,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectByIdsMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectByConditionRowBoundsMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectByConditionRowBoundsMapper.java index c10ffa2ec4..448d71f05c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectByConditionRowBoundsMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectByConditionRowBoundsMapper.java @@ -37,8 +37,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectByConditionRowBoundsMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectRowBoundsMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectRowBoundsMapper.java index bfa578972d..7992f357bd 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectRowBoundsMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/rowbounds/SelectRowBoundsMapper.java @@ -37,8 +37,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface SelectRowBoundsMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertListMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertListMapper.java index 1cca882aaa..191102a934 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertListMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertListMapper.java @@ -37,8 +37,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertListMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertUseGeneratedKeysMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertUseGeneratedKeysMapper.java index 7e82786316..e814253411 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertUseGeneratedKeysMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/special/InsertUseGeneratedKeysMapper.java @@ -35,8 +35,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertUseGeneratedKeysMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertMapper.java index f8343c6f2b..4c053f54e4 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertMapper.java @@ -35,8 +35,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertSelectiveMapper.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertSelectiveMapper.java index d827efc832..3728d50504 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertSelectiveMapper.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/common/sqlserver/InsertSelectiveMapper.java @@ -35,8 +35,8 @@ * * @param 不能为空 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @RegisterMapper public interface InsertSelectiveMapper { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Assert.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Assert.java index 186c0050ec..fad9089746 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Assert.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Assert.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Assert { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Identity.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Identity.java index 66444b5678..2fbc27cb4e 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Identity.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Identity.java @@ -29,8 +29,8 @@ * 主键处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Identity { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/OGNL.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/OGNL.java index 052d8c23ea..bbe6119501 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/OGNL.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/OGNL.java @@ -42,8 +42,8 @@ * OGNL静态方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class OGNL { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Order.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Order.java index 44dd8017b5..74f23f4d6f 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Order.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Order.java @@ -29,8 +29,8 @@ * 执行 SQL 的时机 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Order { /** diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SimpleType.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SimpleType.java index 36d2c23585..72b63a64dc 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SimpleType.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SimpleType.java @@ -40,8 +40,8 @@ * 参考 org.apache.ibatis.type.SimpleTypeRegistry * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleType { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SqlCriteria.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SqlCriteria.java index 2e8d26f426..a1891ef5ed 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SqlCriteria.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/SqlCriteria.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlCriteria { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Style.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Style.java index 1eb443b668..5be4941e04 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Style.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Style.java @@ -29,8 +29,8 @@ * 字段转换方式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Style { /** diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Weekend.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Weekend.java index 9923c24862..400ae03f62 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Weekend.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Weekend.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Weekend extends Condition { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendCriteria.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendCriteria.java index a716f56eae..db8814573a 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendCriteria.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendCriteria.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WeekendCriteria extends Criteria { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendSqlCriteria.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendSqlCriteria.java index 16fcbb849e..a2c3f5bf38 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendSqlCriteria.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/WeekendSqlCriteria.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WeekendSqlCriteria implements SqlsCriteria { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Words.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Words.java index f80ec19b61..80973213c5 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Words.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/criteria/Words.java @@ -32,8 +32,8 @@ * 关键字处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Words { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Condition.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Condition.java index 65ea5f7371..5a6fb6a22d 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Condition.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Condition.java @@ -38,8 +38,8 @@ * 通用的Condition查询对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Condition implements DynamicTableName { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Config.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Config.java index bdc5b21d82..b10b2d7126 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Config.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/Config.java @@ -41,8 +41,8 @@ * 通用Mapper属性配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Config { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/DynamicTableName.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/DynamicTableName.java index 1181bde5f5..37d43393bf 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/DynamicTableName.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/DynamicTableName.java @@ -29,8 +29,8 @@ * 实现动态表名时,实体类需要实现该接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DynamicTableName { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityColumn.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityColumn.java index 5339056905..c37cc41d3f 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityColumn.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityColumn.java @@ -36,8 +36,8 @@ * 数据库表对应的列 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EntityColumn { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityField.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityField.java index e6fc41bcdb..29eb77e456 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityField.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/EntityField.java @@ -35,8 +35,8 @@ * 封装字段和方法,统一调用某些方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EntityField { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/SqlsCriteria.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/SqlsCriteria.java index dd6a1a9ae5..25123bdf0c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/SqlsCriteria.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/entity/SqlsCriteria.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SqlsCriteria { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/genid/GenId.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/genid/GenId.java index 4904c1316c..14f4c899e6 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/genid/GenId.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/genid/GenId.java @@ -38,8 +38,8 @@ * 如果使用 vesta(https://gitee.com/robertleepeak/vesta-id-generator) 来生成 ID,假设已经提供了 vesta 的 idService * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface GenId { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/gensql/GenSql.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/gensql/GenSql.java index 2dffbf1c46..8cffe27162 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/gensql/GenSql.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/gensql/GenSql.java @@ -32,8 +32,8 @@ * 生成 SQL,初始化时执行 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface GenSql { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/AbstractSqlHandler.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/AbstractSqlHandler.java index 45ed0488f4..5ae361d17c 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/AbstractSqlHandler.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/AbstractSqlHandler.java @@ -38,8 +38,8 @@ * SQL 拦截处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractSqlHandler implements SQLHandler { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/SQLHandler.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/SQLHandler.java index aeb2b8bcfb..984374e96f 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/SQLHandler.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/handler/SQLHandler.java @@ -29,8 +29,8 @@ * SQL 拦截处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SQLHandler { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/ConditionProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/ConditionProvider.java index b26d5df71c..907b23acaf 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/ConditionProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/ConditionProvider.java @@ -36,8 +36,8 @@ * ConditionProvider实现类,基础方法实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConditionProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/EmptyProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/EmptyProvider.java index 6c1029d93e..1eac005517 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/EmptyProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/EmptyProvider.java @@ -33,8 +33,8 @@ * 如BaseSelectMapper,接口纯继承,不包含任何方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EmptyProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/IdsProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/IdsProvider.java index 0a23433f56..38d42bfc89 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/IdsProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/IdsProvider.java @@ -40,8 +40,8 @@ * ids 如 "1,2,3" * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IdsProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SpecialProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SpecialProvider.java index 518c793fa7..1fa5ee1736 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SpecialProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SpecialProvider.java @@ -39,8 +39,8 @@ * SpecialProvider实现类,特殊方法实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SpecialProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SqlServerProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SqlServerProvider.java index 45c36fa5a5..6abc597e6d 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SqlServerProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/SqlServerProvider.java @@ -35,8 +35,8 @@ * SqlServerProvider实现类,特殊方法实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlServerProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseDeleteProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseDeleteProvider.java index 986ff69084..638d93a571 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseDeleteProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseDeleteProvider.java @@ -37,8 +37,8 @@ * BaseDeleteMapper实现类,基础方法实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaseDeleteProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseInsertProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseInsertProvider.java index 0f0120ade8..ea8506be93 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseInsertProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseInsertProvider.java @@ -37,8 +37,8 @@ * BaseInsertProvider实现类,基础方法实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaseInsertProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseSelectProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseSelectProvider.java index 9890ff790f..8dfcc68021 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseSelectProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseSelectProvider.java @@ -34,8 +34,8 @@ * BaseSelectProvider实现类,基础方法实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaseSelectProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseUpdateProvider.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseUpdateProvider.java index 33fe955ede..f06fd86251 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseUpdateProvider.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/provider/base/BaseUpdateProvider.java @@ -34,8 +34,8 @@ * BaseUpdateProvider实现类,基础方法实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaseUpdateProvider extends MapperTemplate { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObject.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObject.java index a6f986a048..36d32830cd 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObject.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObject.java @@ -33,8 +33,8 @@ * 反射工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MetaObject { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObjectWithCache.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObjectWithCache.java index 2b2c7f3ebc..b62ca0c75c 100755 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObjectWithCache.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/MetaObjectWithCache.java @@ -38,8 +38,8 @@ * 反射带缓存,提高反射性能 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MetaObjectWithCache { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/Reflector.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/Reflector.java index 0dffcfa24e..884e34c8d8 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/Reflector.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/reflect/Reflector.java @@ -41,8 +41,8 @@ * 反射支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Reflector { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/session/Configuration.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/session/Configuration.java index caef50b26e..fcd2a2e3ed 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/session/Configuration.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/session/Configuration.java @@ -35,8 +35,8 @@ * 使用提供的 Configuration 可以在纯 Java 或者 Spring(mybatis-spring-1.3.0+) 模式中使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Configuration extends org.apache.ibatis.session.Configuration { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/version/DefaultNextVersion.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/version/DefaultNextVersion.java index 9d621f1e0e..97c18aa091 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/version/DefaultNextVersion.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/version/DefaultNextVersion.java @@ -36,8 +36,8 @@ * 默认版本实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultNextVersion implements NextVersion { diff --git a/bus-mapper/src/main/java/org/aoju/bus/mapper/version/NextVersion.java b/bus-mapper/src/main/java/org/aoju/bus/mapper/version/NextVersion.java index 950d6fb24e..0838b14f1a 100644 --- a/bus-mapper/src/main/java/org/aoju/bus/mapper/version/NextVersion.java +++ b/bus-mapper/src/main/java/org/aoju/bus/mapper/version/NextVersion.java @@ -31,8 +31,8 @@ * 版本信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface NextVersion { diff --git a/bus-notify/README.md b/bus-notify/README.md index bb1fb5b231..b2d236258f 100755 --- a/bus-notify/README.md +++ b/bus-notify/README.md @@ -11,7 +11,7 @@ org.aoju bus-notify - 6.3.5 + 6.5.0 ``` diff --git a/bus-notify/pom.xml b/bus-notify/pom.xml index df4f142ed9..c2400ecf75 100755 --- a/bus-notify/pom.xml +++ b/bus-notify/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-notify - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 1.6.2 @@ -81,7 +81,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -90,7 +90,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -124,7 +124,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -137,7 +137,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -151,7 +151,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/Builder.java b/bus-notify/src/main/java/org/aoju/bus/notify/Builder.java index 3f4960c520..278fce2543 100755 --- a/bus-notify/src/main/java/org/aoju/bus/notify/Builder.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/Builder.java @@ -35,8 +35,8 @@ * 构造信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Setter public class Builder { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/Context.java b/bus-notify/src/main/java/org/aoju/bus/notify/Context.java index c247f80072..2f31c60bb2 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/Context.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/Context.java @@ -32,8 +32,8 @@ * 配置信息 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/Provider.java b/bus-notify/src/main/java/org/aoju/bus/notify/Provider.java index dabc528e44..d7c2e5b4de 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/Provider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/Provider.java @@ -36,8 +36,8 @@ * 通知器,用于发送通知,如: 短信,邮件,语音,微信等s * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Provider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/Registry.java b/bus-notify/src/main/java/org/aoju/bus/notify/Registry.java index 312a18b3c3..69ef21a982 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/Registry.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/Registry.java @@ -29,8 +29,8 @@ * 通知注册器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Registry { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/magic/Message.java b/bus-notify/src/main/java/org/aoju/bus/notify/magic/Message.java index 955b1db8f1..a3b61c8036 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/magic/Message.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/magic/Message.java @@ -32,8 +32,8 @@ * 返回消息 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/magic/Property.java b/bus-notify/src/main/java/org/aoju/bus/notify/magic/Property.java index 6bd14a0e9f..2777741e2d 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/magic/Property.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/magic/Property.java @@ -33,8 +33,8 @@ * 消息模版 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/magic/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/magic/package-info.java index feafdd8c84..76a8f6ba14 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/magic/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/magic/package-info.java @@ -2,7 +2,7 @@ * 基本信息支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.magic; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/metric/NotifyCache.java b/bus-notify/src/main/java/org/aoju/bus/notify/metric/NotifyCache.java index 194440a7fa..dc67073ac4 100755 --- a/bus-notify/src/main/java/org/aoju/bus/notify/metric/NotifyCache.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/metric/NotifyCache.java @@ -33,8 +33,8 @@ * 默认缓存实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum NotifyCache implements ExtendCache { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/metric/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/metric/package-info.java index 159d3b1706..2ac718f791 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/metric/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/metric/package-info.java @@ -2,7 +2,7 @@ * 缓存支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.metric; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/package-info.java index 423d5a11e3..ae9a1bbea8 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/package-info.java @@ -2,7 +2,7 @@ * 通知服务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/AbstractProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/AbstractProvider.java index 4f0faffc5b..3dd9738d81 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/AbstractProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/AbstractProvider.java @@ -37,8 +37,8 @@ * 抽象类 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @AllArgsConstructor public abstract class AbstractProvider implements Provider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProperty.java index 10a4b59e0d..acef20f77c 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProperty.java @@ -34,8 +34,8 @@ * 阿里云邮件模版 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProvider.java index bc24b06b54..c8452284c1 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunEmailProvider.java @@ -41,8 +41,8 @@ * 阿里云邮件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AliyunEmailProvider extends AliyunProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunProvider.java index a8b08e1b79..691b8e3b2c 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunProvider.java @@ -52,8 +52,8 @@ * 阿里云抽象类提供者 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AliyunProvider extends AbstractProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProperty.java index 48a91e3a2f..0f8c48f79b 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProperty.java @@ -34,8 +34,8 @@ * 阿里云短信模版 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProvider.java index 791e6f559e..54b470050f 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunSmsProvider.java @@ -38,8 +38,8 @@ * 阿里云短信 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AliyunSmsProvider extends AliyunProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProperty.java index 2d4542942d..f8b002bc30 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProperty.java @@ -34,8 +34,8 @@ * 阿里云语音通知模版 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProvider.java index efa5e1d5d8..c14d34155c 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/AliyunVmsProvider.java @@ -38,8 +38,8 @@ * 阿里云语音通知 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AliyunVmsProvider extends AliyunProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/package-info.java index 02fd6895b1..915ace9deb 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/aliyun/package-info.java @@ -2,7 +2,7 @@ * 阿里云短信、邮、件语音等支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.aliyun; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProperty.java index bcf12b1a3d..2ea9f89214 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProperty.java @@ -34,8 +34,8 @@ * 七牛云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProvider.java index f623bbd4df..c8daa38cb7 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/BaiduSmsProvider.java @@ -8,8 +8,8 @@ * 七牛云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaiduSmsProvider extends NeteaseProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/package-info.java index 08010ec6bf..7f2c61f60c 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/baidu/package-info.java @@ -2,7 +2,7 @@ * 百度短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.baidu; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProperty.java index ac20bb1b9a..b512491c63 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProperty.java @@ -34,8 +34,8 @@ * 钉钉通知模版 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProvider.java index 66c37da4c0..6214cf4c51 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/DingTalkProvider.java @@ -44,8 +44,8 @@ * 钉钉通知 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Setter public class DingTalkProvider extends AbstractProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/package-info.java index 73adcb36bf..6136fee061 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/dingtalk/package-info.java @@ -2,7 +2,7 @@ * 钉钉消息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.dingtalk; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProperty.java index 7ba4ffbe2e..b43db23cbc 100755 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProperty.java @@ -38,8 +38,8 @@ * 电子邮件消息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProvider.java index 08085d9740..cdc2382d96 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/NativeEmailProvider.java @@ -52,8 +52,8 @@ * 电子邮件消息 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NativeEmailProvider extends AbstractProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/package-info.java index 81357381b3..41454bf9c1 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/generic/package-info.java @@ -2,7 +2,7 @@ * 通用邮件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.generic; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProperty.java index 8ef3060532..e0bbc1792f 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProperty.java @@ -34,8 +34,8 @@ * 七牛云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProvider.java index ed9d2b4c87..08d83ecb84 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/HuaweiSmsProvider.java @@ -8,8 +8,8 @@ * 七牛云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HuaweiSmsProvider extends NeteaseProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/package-info.java index f4bcada5cc..4ee2c0dce8 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/huawei/package-info.java @@ -2,7 +2,7 @@ * 华为短息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.huawei; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProperty.java index 2d47e85fd4..67af16d2fa 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProperty.java @@ -34,8 +34,8 @@ * 京东云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProvider.java index 346116ea99..ad20ca83ef 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/JdcloudSmsProvider.java @@ -8,8 +8,8 @@ * 京东云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdcloudSmsProvider extends NeteaseProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/package-info.java index 832b48c444..fd22396e73 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/jdcloud/package-info.java @@ -2,7 +2,7 @@ * 京东云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.jdcloud; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseProvider.java index 0895cec363..e165c54393 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseProvider.java @@ -43,8 +43,8 @@ * 网易云抽象类 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class NeteaseProvider extends AbstractProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProperty.java index 8f3cb43981..b35b2faadb 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProperty.java @@ -34,8 +34,8 @@ * 网易云短信模版 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProvider.java index b10676c60f..d5fc158ebf 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/NeteaseSmsProvider.java @@ -11,8 +11,8 @@ * 网易云短信消息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NeteaseSmsProvider extends NeteaseProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/package-info.java index fbe54060d9..01d1d0fb23 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/netease/package-info.java @@ -2,7 +2,7 @@ * 网易云短信消息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.netease; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/package-info.java index 6e15f12560..848a8f40c9 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/package-info.java @@ -2,7 +2,7 @@ * 消息实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProperty.java index 2238bc2337..0cb0bf4af5 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProperty.java @@ -34,8 +34,8 @@ * 七牛云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProvider.java index 6087f4fe94..460ad1ce6d 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/QiniuSmsProvider.java @@ -8,8 +8,8 @@ * 七牛云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QiniuSmsProvider extends NeteaseProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/package-info.java index c37832234a..f26a8b4bd2 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/qiniu/package-info.java @@ -2,7 +2,7 @@ * 七牛云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.qiniu; \ No newline at end of file diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProperty.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProperty.java index 4c9ef0f257..609519e821 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProperty.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProperty.java @@ -34,8 +34,8 @@ * 腾讯云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProvider.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProvider.java index 9ec4bcb7bb..db22997f34 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProvider.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/QCloudSmsProvider.java @@ -8,8 +8,8 @@ * 腾讯云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QCloudSmsProvider extends NeteaseProvider { diff --git a/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/package-info.java b/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/package-info.java index ec551b5d76..2a307865d1 100644 --- a/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/package-info.java +++ b/bus-notify/src/main/java/org/aoju/bus/notify/provider/tencent/package-info.java @@ -2,7 +2,7 @@ * 腾讯云短信 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.notify.provider.tencent; \ No newline at end of file diff --git a/bus-oauth/README.md b/bus-oauth/README.md index e6ceec66b9..6eb5776ca8 100755 --- a/bus-oauth/README.md +++ b/bus-oauth/README.md @@ -16,7 +16,7 @@ org.aoju bus-oauth - 6.3.5 + 6.5.0 ``` diff --git a/bus-oauth/pom.xml b/bus-oauth/pom.xml index 3b4b538997..953ffcd4ad 100755 --- a/bus-oauth/pom.xml +++ b/bus-oauth/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-oauth - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 3.7.4.ALL 1.18.22 1.2.76 @@ -83,7 +83,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -92,7 +92,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -126,7 +126,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -139,7 +139,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -153,7 +153,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/Builder.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/Builder.java index 3dec984176..88c07db990 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/Builder.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/Builder.java @@ -45,8 +45,8 @@ * 构造URL * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Setter public class Builder { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/Complex.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/Complex.java index d977d0c260..3e78cca1da 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/Complex.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/Complex.java @@ -42,8 +42,8 @@ * ③、如果扩展了对应枚举类时,在{@link Provider#login(Callback)}中可以通过{@code xx.toString()}获取对应的source * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Complex { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/Context.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/Context.java index 298e8c3dd1..c1536ef66c 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/Context.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/Context.java @@ -38,8 +38,8 @@ * 上下文配置类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/Provider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/Provider.java index 3eb9448ed1..593790f317 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/Provider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/Provider.java @@ -38,8 +38,8 @@ * {@link Provider#refresh(AccToken)} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Provider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/Registry.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/Registry.java index 19d026a006..b9aa08c40f 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/Registry.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/Registry.java @@ -31,8 +31,8 @@ * 内置的各api需要的url, 用枚举类分平台类型管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Registry implements Complex { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/AccToken.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/AccToken.java index 3a4794c51d..d486b5eb06 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/AccToken.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/AccToken.java @@ -31,8 +31,8 @@ * 授权所需的token * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ @Getter @Setter diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Callback.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Callback.java index e36be3d756..2ff0409acb 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Callback.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Callback.java @@ -32,8 +32,8 @@ * 授权回调时的参数类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Message.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Message.java index 91b6fc88d2..da7ba24f13 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Message.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Message.java @@ -34,8 +34,8 @@ * 统一授权响应类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Property.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Property.java index ae1f40b604..6664b804d9 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Property.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/Property.java @@ -33,8 +33,8 @@ * 授权成功后的用户信息,根据授权平台的不同,获取的数据完整性也不同 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Setter diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/package-info.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/package-info.java index 5d268b81b1..3c67b50d82 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/package-info.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/magic/package-info.java @@ -2,7 +2,7 @@ * 基本信息支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.oauth.magic; \ No newline at end of file diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthCache.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthCache.java index 5c4915a2a1..889480b7de 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthCache.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthCache.java @@ -33,8 +33,8 @@ * 默认缓存实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum OauthCache implements ExtendCache { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthScope.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthScope.java index 9c12d9476a..7471a5fbab 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthScope.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/OauthScope.java @@ -36,8 +36,8 @@ * 各个平台 scope 类的统一接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OauthScope { /** diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/package-info.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/package-info.java index 59d01cf819..e9b4989903 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/package-info.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/metric/package-info.java @@ -2,7 +2,7 @@ * 授权缓存 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.oauth.metric; \ No newline at end of file diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/package-info.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/package-info.java index 50835da111..6b524a7847 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/package-info.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/package-info.java @@ -2,7 +2,7 @@ * 第三方授权登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.oauth; \ No newline at end of file diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AbstractProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AbstractProvider.java index 38a0137b95..42013bf3ce 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AbstractProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AbstractProvider.java @@ -57,8 +57,8 @@ * 默认的request处理类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProvider implements Provider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AlipayProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AlipayProvider.java index 3c3548a91c..1d4987a6fd 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AlipayProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AlipayProvider.java @@ -51,8 +51,8 @@ * 支付宝登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AlipayProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AliyunProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AliyunProvider.java index 45525dfc7c..10bf3b9a14 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AliyunProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AliyunProvider.java @@ -38,8 +38,8 @@ * 阿里云登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AliyunProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AmazonProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AmazonProvider.java index 653fdda7d1..e02923e219 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AmazonProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/AmazonProvider.java @@ -54,7 +54,7 @@ public static String generateCodeChallenge(String codeChallengeMethod, String co if ("S256".equalsIgnoreCase(codeChallengeMethod)) { // https://tools.ietf.org/html/rfc7636#section-4.2 // code_challenge = BASE64URL-ENCODE(SHA256(ASCII(code_verifier)) - return new String(Base64.encodeUrlSafe(digest(codeVerifier), true), StandardCharsets.US_ASCII); + return new String(Base64.encode(digest(codeVerifier), true, true), StandardCharsets.US_ASCII); } else { return codeVerifier; } diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/BaiduProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/BaiduProvider.java index cf46491b73..2a8e4fabbd 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/BaiduProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/BaiduProvider.java @@ -45,8 +45,8 @@ * 百度账号登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaiduProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/CodingProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/CodingProvider.java index 5355874a9f..2a9e30e5e0 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/CodingProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/CodingProvider.java @@ -42,8 +42,8 @@ * Coding登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CodingProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DingTalkProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DingTalkProvider.java index 74bd85c1ac..9c0254f766 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DingTalkProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DingTalkProvider.java @@ -48,8 +48,8 @@ * 钉钉登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DingTalkProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DouyinProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DouyinProvider.java index ac3ede01e6..e2be159894 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DouyinProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/DouyinProvider.java @@ -44,8 +44,8 @@ * 抖音登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DouyinProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ElemeProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ElemeProvider.java index e6a1e50583..d067990fa3 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ElemeProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ElemeProvider.java @@ -53,8 +53,8 @@ * 注:集成的是正式环境,非沙箱环境 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ElemeProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FacebookProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FacebookProvider.java index 16f379d668..5d7ad2daeb 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FacebookProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FacebookProvider.java @@ -42,8 +42,8 @@ * Facebook登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FacebookProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FeishuProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FeishuProvider.java index 600fb976ed..46243b34de 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FeishuProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/FeishuProvider.java @@ -49,8 +49,8 @@ * 飞书登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FeishuProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GiteeProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GiteeProvider.java index 1cabcd6fe7..8d3fce1029 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GiteeProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GiteeProvider.java @@ -42,8 +42,8 @@ * Gitee登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GiteeProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GithubProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GithubProvider.java index 412a2f0626..ec8b51380e 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GithubProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GithubProvider.java @@ -49,8 +49,8 @@ * Github登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GithubProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GitlabProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GitlabProvider.java index be72f4ddd2..7ca9a193e3 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GitlabProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GitlabProvider.java @@ -42,8 +42,8 @@ * Gitlab登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GitlabProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GoogleProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GoogleProvider.java index 17616cfbae..fd8c094897 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GoogleProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/GoogleProvider.java @@ -47,8 +47,8 @@ * Google登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GoogleProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/HuaweiProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/HuaweiProvider.java index 49be58b7e7..c09d3f9bf9 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/HuaweiProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/HuaweiProvider.java @@ -47,8 +47,8 @@ * 华为授权登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HuaweiProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/JdProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/JdProvider.java index f87265b01d..bc2d780edc 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/JdProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/JdProvider.java @@ -55,8 +55,8 @@ * 京东账号登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/KujialeProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/KujialeProvider.java index f553538a5d..e22c303766 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/KujialeProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/KujialeProvider.java @@ -43,8 +43,8 @@ * 酷家乐授权登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class KujialeProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/LinkedinProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/LinkedinProvider.java index 3ed97c4095..e742cb2e26 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/LinkedinProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/LinkedinProvider.java @@ -49,8 +49,8 @@ * 领英登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LinkedinProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MeituanProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MeituanProvider.java index eaff64d18d..036cba5c6b 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MeituanProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MeituanProvider.java @@ -45,8 +45,8 @@ * 美团登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MeituanProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MicrosoftProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MicrosoftProvider.java index ae0a2dc2cd..5b8e333dd3 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MicrosoftProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/MicrosoftProvider.java @@ -50,8 +50,8 @@ * 微软登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MicrosoftProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/OschinaProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/OschinaProvider.java index 1d8efd8c8e..400bdc855c 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/OschinaProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/OschinaProvider.java @@ -40,8 +40,8 @@ * oschina登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OschinaProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/PinterestProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/PinterestProvider.java index 3c24470827..336a60ef76 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/PinterestProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/PinterestProvider.java @@ -45,8 +45,8 @@ * Pinterest登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PinterestProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/QqProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/QqProvider.java index ab3acd9af3..ce39c468a1 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/QqProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/QqProvider.java @@ -49,8 +49,8 @@ * qq登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QqProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/StackOverflowProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/StackOverflowProvider.java index 34d48b26a7..e95c889cfb 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/StackOverflowProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/StackOverflowProvider.java @@ -48,8 +48,8 @@ * Stack Overflow登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StackOverflowProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TaobaoProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TaobaoProvider.java index 3bdfd3aa09..02a5443329 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TaobaoProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TaobaoProvider.java @@ -44,8 +44,8 @@ * 淘宝登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TaobaoProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TeambitionProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TeambitionProvider.java index 2dd238478a..620d1c0dc2 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TeambitionProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TeambitionProvider.java @@ -46,8 +46,8 @@ * Teambition授权登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TeambitionProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TencentProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TencentProvider.java index b4d1562c7e..3e780b92a6 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TencentProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TencentProvider.java @@ -40,8 +40,8 @@ * 腾讯云登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TencentProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ToutiaoProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ToutiaoProvider.java index cd788b1cf4..af974a85d5 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ToutiaoProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/ToutiaoProvider.java @@ -43,8 +43,8 @@ * 今日头条登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ToutiaoProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TwitterProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TwitterProvider.java index 83dcb83ccf..44a939b88d 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TwitterProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/TwitterProvider.java @@ -49,8 +49,8 @@ * 今日头条登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TwitterProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatEEProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatEEProvider.java index ce81e080f3..d4db5f1e7e 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatEEProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatEEProvider.java @@ -42,8 +42,8 @@ * 企业微信登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WeChatEEProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMaProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMaProvider.java index 970afc6600..5371f4ae44 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMaProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMaProvider.java @@ -14,7 +14,6 @@ /** * @author Justubborn - * @since 2021/12/24 */ public class WeChatMaProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMpProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMpProvider.java index 110fa66338..ee521701c0 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMpProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatMpProvider.java @@ -45,8 +45,8 @@ * 微信公众平台登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WeChatMpProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatOPProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatOPProvider.java index b09f0507d2..bd4e5c776f 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatOPProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeChatOPProvider.java @@ -43,8 +43,8 @@ * 微信登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WeChatOPProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeiboProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeiboProvider.java index fb00672e93..17cc68adb6 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeiboProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/WeiboProvider.java @@ -51,8 +51,8 @@ * 微博登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WeiboProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XiaomiProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XiaomiProvider.java index 290d5e5d27..e482093b7b 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XiaomiProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XiaomiProvider.java @@ -47,8 +47,8 @@ * 小米登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class XiaomiProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XmlyProvider.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XmlyProvider.java index 87781ee38c..2ebadf8637 100755 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XmlyProvider.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/XmlyProvider.java @@ -50,8 +50,8 @@ * 喜马拉雅登录 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class XmlyProvider extends AbstractProvider { diff --git a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/package-info.java b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/package-info.java index af586e0672..b0ac82dfa6 100644 --- a/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/package-info.java +++ b/bus-oauth/src/main/java/org/aoju/bus/oauth/provider/package-info.java @@ -2,7 +2,7 @@ * 授权登录实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.oauth.provider; \ No newline at end of file diff --git a/bus-office/pom.xml b/bus-office/pom.xml index 697f952b7a..b1a8a353ec 100755 --- a/bus-office/pom.xml +++ b/bus-office/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-office - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 4.1.2 2.12.2 4.1.2 @@ -112,7 +112,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -121,7 +121,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -155,7 +155,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -168,7 +168,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -182,7 +182,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-office/src/main/java/org/aoju/bus/office/Builder.java b/bus-office/src/main/java/org/aoju/bus/office/Builder.java index 48a92f41d6..c701059a26 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/Builder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/Builder.java @@ -50,8 +50,8 @@ * 为office提供辅助功能. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Builder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/Context.java b/bus-office/src/main/java/org/aoju/bus/office/Context.java index 40f24c7e85..005de28827 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/Context.java +++ b/bus-office/src/main/java/org/aoju/bus/office/Context.java @@ -29,8 +29,8 @@ * 所有office上下文接口的基本接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Context { diff --git a/bus-office/src/main/java/org/aoju/bus/office/Expense.java b/bus-office/src/main/java/org/aoju/bus/office/Expense.java index 0e11492b5f..f66292b15a 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/Expense.java +++ b/bus-office/src/main/java/org/aoju/bus/office/Expense.java @@ -35,8 +35,8 @@ * 重定向输出和错误流的进程的包装器类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Expense { diff --git a/bus-office/src/main/java/org/aoju/bus/office/Protocol.java b/bus-office/src/main/java/org/aoju/bus/office/Protocol.java index fcf82a2160..d03d833f03 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/Protocol.java +++ b/bus-office/src/main/java/org/aoju/bus/office/Protocol.java @@ -29,8 +29,8 @@ * 表示可用于与正在运行的office实例通信的协议. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Protocol { diff --git a/bus-office/src/main/java/org/aoju/bus/office/Provider.java b/bus-office/src/main/java/org/aoju/bus/office/Provider.java index e0b2cf72d9..666060d327 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/Provider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/Provider.java @@ -37,8 +37,8 @@ * 负责使用office管理器执行文档的转换. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Provider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/Registry.java b/bus-office/src/main/java/org/aoju/bus/office/Registry.java index e812ffa799..c498a281a2 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/Registry.java +++ b/bus-office/src/main/java/org/aoju/bus/office/Registry.java @@ -35,8 +35,8 @@ * 支持类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Registry { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeBridgeFactory.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeBridgeFactory.java index d354355168..293c3b3a87 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeBridgeFactory.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeBridgeFactory.java @@ -56,8 +56,8 @@ * 负责使用给定的UnoUrl管理到office进程的连接. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LocalOfficeBridgeFactory implements LocalOfficeContextAware, XEventListener { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeContextAware.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeContextAware.java index 719719716b..39c4388556 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeContextAware.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficeContextAware.java @@ -34,8 +34,8 @@ * 表示用于本地转换的office上下文 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface LocalOfficeContextAware extends Context { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficePoolManager.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficePoolManager.java index c38a83ca20..f851fd216b 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficePoolManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/LocalOfficePoolManager.java @@ -42,8 +42,8 @@ * 默认的{@link OfficeManager}实现,它使用一个office进程池来执行转换任务. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class LocalOfficePoolManager extends AbstractOfficePoolManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeBridgeFactory.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeBridgeFactory.java index 22d55e5252..a3d6642e15 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeBridgeFactory.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeBridgeFactory.java @@ -31,8 +31,8 @@ * 保存与LibreOffice在线服务器通信的请求配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OnlineOfficeBridgeFactory implements OnlineOfficeContextAware { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeContextAware.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeContextAware.java index 7fb9f2bec8..a774b14ccc 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeContextAware.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeContextAware.java @@ -32,8 +32,8 @@ * 表示用于在线转换的office环境. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OnlineOfficeContextAware extends Context { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryBuilder.java index 9482c92841..6c79d41b38 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryBuilder.java @@ -32,8 +32,8 @@ * 当不需要office实例来执行转换时,该类保存{@link OnlineOfficeEntryManager}的配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OnlineOfficeEntryBuilder implements OfficeManagerEntryBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryManager.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryManager.java index b98c2562da..91d5a19926 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficeEntryManager.java @@ -47,8 +47,8 @@ * 它将向LibreOffice在线服务器发送转换请求,并等待任务完成或达到配置的任务执行超时. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OnlineOfficeEntryManager extends AbstractOfficeEntryManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolBuilder.java index ee364748ae..0259ea26a4 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolBuilder.java @@ -36,8 +36,8 @@ * 该类提供{@link AbstractOfficePoolManager}的配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OnlineOfficePoolBuilder extends OnlineOfficeEntryBuilder implements OfficeManagerPoolBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolManager.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolManager.java index cf16d87632..c03fabb0e7 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/OnlineOfficePoolManager.java @@ -37,8 +37,8 @@ * {@link OfficeManager}池实现,不依赖于office安装来处理转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class OnlineOfficePoolManager extends AbstractOfficePoolManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/bridge/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/bridge/package-info.java index d8fcd040b5..c3eb4cd6dd 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/bridge/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/bridge/package-info.java @@ -2,7 +2,7 @@ * Office访问桥接等类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.bridge; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractJob.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractJob.java index e229c34419..96cf46b6e9 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractJob.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractJob.java @@ -35,8 +35,8 @@ * 所有转换作业实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractJob implements OptionalTarget { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractLocalOffice.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractLocalOffice.java index ea8dd1cdcf..d0e39e6492 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractLocalOffice.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractLocalOffice.java @@ -48,8 +48,8 @@ * 所有本地office任务实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractLocalOffice extends AbstractOffice { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractNorm.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractNorm.java index e170538b96..f9f446a5f1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractNorm.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractNorm.java @@ -42,8 +42,8 @@ * 使用尚未应用于转换器的源格式的所有转换作业实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractNorm implements OptionalSource { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOffice.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOffice.java index 58b16a2d9f..b315a49dbc 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOffice.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOffice.java @@ -31,8 +31,8 @@ * 所有office任务实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractOffice implements MadeInOffice { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOnlineOffice.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOnlineOffice.java index 89634e42b2..15e29a9731 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOnlineOffice.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/AbstractOnlineOffice.java @@ -31,8 +31,8 @@ * 所有在线office任务实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractOnlineOffice extends AbstractOffice { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/ConvertJob.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/ConvertJob.java index dce11224bd..2e564007b8 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/ConvertJob.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/ConvertJob.java @@ -31,8 +31,8 @@ * 尚未应用到转换器的完整指定转换. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ConvertJob { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/JobWithSource.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/JobWithSource.java index 44920377b8..1ec3acf9f5 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/JobWithSource.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/JobWithSource.java @@ -32,8 +32,8 @@ * 具有指定转换源的转换作业. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface JobWithSource { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/LocalMadeInOffice.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/LocalMadeInOffice.java index 9ea4743631..37196998c1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/LocalMadeInOffice.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/LocalMadeInOffice.java @@ -49,8 +49,8 @@ * 表示本地转换任务的默认行为. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LocalMadeInOffice extends AbstractLocalOffice { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/MadeInOffice.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/MadeInOffice.java index c714a37775..1cf38da3ad 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/MadeInOffice.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/MadeInOffice.java @@ -33,8 +33,8 @@ * 表示由{@link OfficeManager}执行的任务. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface MadeInOffice { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/OnlineMadeInOffice.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/OnlineMadeInOffice.java index a3adc6177a..36601a8a78 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/OnlineMadeInOffice.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/OnlineMadeInOffice.java @@ -47,8 +47,8 @@ * 表示在线转换任务的默认行为. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OnlineMadeInOffice extends AbstractOnlineOffice { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalSource.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalSource.java index c3d2bffc3a..18b07e9746 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalSource.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalSource.java @@ -31,8 +31,8 @@ * 具有尚未应用于转换器的可选源格式的转换作业. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OptionalSource extends JobWithSource { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalTarget.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalTarget.java index 6e11d3aa6e..e59705bd53 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalTarget.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/OptionalTarget.java @@ -29,8 +29,8 @@ * 具有尚未应用到转换器的可选目标格式的转换作业. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OptionalTarget extends RequiredTarget, ConvertJob { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/RequiredTarget.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/RequiredTarget.java index c451bea3cb..5e7da247d4 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/RequiredTarget.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/RequiredTarget.java @@ -30,8 +30,8 @@ * 具有所需目标格式但尚未应用到转换器的转换作业. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface RequiredTarget { diff --git a/bus-office/src/main/java/org/aoju/bus/office/builtin/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/builtin/package-info.java index 99f5f3c4f7..481327dab2 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/builtin/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/builtin/package-info.java @@ -2,7 +2,7 @@ * Office启动任务实体类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.builtin; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/Calc.java b/bus-office/src/main/java/org/aoju/bus/office/magic/Calc.java index 5905b9c226..27c8054b19 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/Calc.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/Calc.java @@ -33,8 +33,8 @@ * 使Office Calc文档(电子表格)更容易使用的实用函数集合. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Calc { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/Draw.java b/bus-office/src/main/java/org/aoju/bus/office/magic/Draw.java index a9160f9db9..192714bc16 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/Draw.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/Draw.java @@ -32,8 +32,8 @@ * 使office draw文档(Drawing)更容易使用的实用函数集合 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Draw { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/Info.java b/bus-office/src/main/java/org/aoju/bus/office/magic/Info.java index 8c21cba582..cded7a5962 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/Info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/Info.java @@ -47,8 +47,8 @@ * 实用程序函数,使office信息更容易获取. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Info { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/Lo.java b/bus-office/src/main/java/org/aoju/bus/office/magic/Lo.java index e2e7164a69..bb1541c8dd 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/Lo.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/Lo.java @@ -38,8 +38,8 @@ * 实用程序函数,使Office更易于使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Lo { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/Props.java b/bus-office/src/main/java/org/aoju/bus/office/magic/Props.java index 40b0eacc1a..0b17eb4ed7 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/Props.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/Props.java @@ -37,8 +37,8 @@ * 实用程序函数,使office属性更易于使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Props { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/UnoUrl.java b/bus-office/src/main/java/org/aoju/bus/office/magic/UnoUrl.java index 03e4f1d71f..3c9341c7fb 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/UnoUrl.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/UnoUrl.java @@ -34,8 +34,8 @@ * 这意味着设置java.library.path启动Java时路径 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnoUrl { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/Write.java b/bus-office/src/main/java/org/aoju/bus/office/magic/Write.java index 9fb65f1e69..b2168b5db0 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/Write.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/Write.java @@ -33,8 +33,8 @@ * 实用程序函数,使office文本文档(Writer)更容易使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Write { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/DefaultFormatRegistry.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/DefaultFormatRegistry.java index 71c792da93..51cca96dd6 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/DefaultFormatRegistry.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/DefaultFormatRegistry.java @@ -32,8 +32,8 @@ * 应该足以满足我们的大部分需求. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class DefaultFormatRegistry { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/DocumentFormat.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/DocumentFormat.java index d99595f7de..27f16a14fa 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/DocumentFormat.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/DocumentFormat.java @@ -36,8 +36,8 @@ * 包含处理特定文档格式所需的信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DocumentFormat { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/FamilyType.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/FamilyType.java index 3379cd7fc6..28a2a72226 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/FamilyType.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/FamilyType.java @@ -29,8 +29,8 @@ * 表示office支持的文档类型. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum FamilyType { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatProperties.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatProperties.java index 6e33e6eac8..4771f4e56c 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatProperties.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatProperties.java @@ -32,8 +32,8 @@ * 包含将在为特定的{@link DocumentFormat}加载(打开)和存储(保存)文档时应用的属性. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FormatProperties { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatRegistry.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatRegistry.java index 0e43684966..7fea66066a 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatRegistry.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/FormatRegistry.java @@ -31,8 +31,8 @@ * 实现此接口的类应该保留office支持的文档格式集合. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface FormatRegistry { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/JsonFormatRegistry.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/JsonFormatRegistry.java index a5908d9e04..9c5c4ab5f3 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/JsonFormatRegistry.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/JsonFormatRegistry.java @@ -40,8 +40,8 @@ * 包含office支持的{@code DocumentFormat}集合,该集合已从JSON源加载. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JsonFormatRegistry extends SimpleFormatRegistry { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/RegistryInstanceHolder.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/RegistryInstanceHolder.java index a2d44abbb1..691824e52f 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/RegistryInstanceHolder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/RegistryInstanceHolder.java @@ -31,8 +31,8 @@ * 保存默认的{@link FormatRegistry}实例. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class RegistryInstanceHolder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/family/SimpleFormatRegistry.java b/bus-office/src/main/java/org/aoju/bus/office/magic/family/SimpleFormatRegistry.java index f01e5c0d24..b28da3b84b 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/family/SimpleFormatRegistry.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/family/SimpleFormatRegistry.java @@ -34,8 +34,8 @@ * SimpleDocumentFormatRegistry包含office支持的文档格式集合. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleFormatRegistry implements FormatRegistry { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/AbstractFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/AbstractFilter.java index b15c81ee2c..64df65871c 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/AbstractFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/AbstractFilter.java @@ -40,8 +40,8 @@ * 过滤器链的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractFilter implements FilterChain { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/DefaultFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/DefaultFilter.java index 832fd796a4..a0dc35d487 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/DefaultFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/DefaultFilter.java @@ -33,8 +33,8 @@ * FilterChain的默认实现. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultFilter extends AbstractFilter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/Filter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/Filter.java index 3047afb596..b565dbc723 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/Filter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/Filter.java @@ -32,8 +32,8 @@ * 表示转换文档的步骤. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/FilterChain.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/FilterChain.java index 5471f35ff3..25ab2e80d1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/FilterChain.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/FilterChain.java @@ -35,8 +35,8 @@ * 或者如果调用过滤器是链中的最后一个过滤器,则结束调用链。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface FilterChain { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/NoopFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/NoopFilter.java index bb3ddb7a5b..6c87dee240 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/NoopFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/NoopFilter.java @@ -33,8 +33,8 @@ * 这个过滤器除了调用链中的下一个过滤器外什么也不做. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NoopFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/PageCounterFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/PageCounterFilter.java index 0861615dd1..775b88e4f0 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/PageCounterFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/PageCounterFilter.java @@ -36,8 +36,8 @@ * 此筛选器用于计算文档的页数. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageCounterFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/RefreshFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/RefreshFilter.java index 0d0d8a2b47..965d6405d8 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/RefreshFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/RefreshFilter.java @@ -35,8 +35,8 @@ * 此筛选器用于刷新文档. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RefreshFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/UnmodifiableFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/UnmodifiableFilter.java index 2555a9ff71..c9fb245f15 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/UnmodifiableFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/UnmodifiableFilter.java @@ -29,8 +29,8 @@ * FilterChain的不可修改的实现. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnmodifiableFilter extends AbstractFilter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/draw/PageSelectorFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/draw/PageSelectorFilter.java index 641f810aec..6797824917 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/draw/PageSelectorFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/draw/PageSelectorFilter.java @@ -40,8 +40,8 @@ * 此筛选器用于从文档中选择特定页面,以便仅转换所选页面 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageSelectorFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/AbstractTextContentInserterFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/AbstractTextContentInserterFilter.java index 742f674354..1ea3f27cd0 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/AbstractTextContentInserterFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/AbstractTextContentInserterFilter.java @@ -39,8 +39,8 @@ * 用于将文本内容插入文档的所有筛选器的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractTextContentInserterFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/DocumentInserterFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/DocumentInserterFilter.java index 21c8d0b2d7..bd80ac9305 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/DocumentInserterFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/DocumentInserterFilter.java @@ -43,8 +43,8 @@ * 此筛选器用于在转换的文档末尾插入文档. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DocumentInserterFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/GraphicInserterFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/GraphicInserterFilter.java index d211c09348..69587ab988 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/GraphicInserterFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/GraphicInserterFilter.java @@ -60,8 +60,8 @@ * 此筛选器用于将图形插入到文档中. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GraphicInserterFilter extends AbstractTextContentInserterFilter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/LinkedImagesEmbedderFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/LinkedImagesEmbedderFilter.java index 2b882e3e55..b87bb51fe1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/LinkedImagesEmbedderFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/LinkedImagesEmbedderFilter.java @@ -50,8 +50,8 @@ * 此筛选器用于将图形插入到文档中. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LinkedImagesEmbedderFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageMarginsFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageMarginsFilter.java index d4552daa1c..cb83c1a9a1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageMarginsFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageMarginsFilter.java @@ -44,8 +44,8 @@ * 此筛选器用于设置要转换的文档的页边距. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageMarginsFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageSelectorFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageSelectorFilter.java index c6abb53cc3..477608aa73 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageSelectorFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/PageSelectorFilter.java @@ -41,8 +41,8 @@ * 此筛选器用于从文档中选择特定页面,以便仅转换所选页面. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageSelectorFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TableOfContentUpdaterFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TableOfContentUpdaterFilter.java index 8aa8d7bdb7..580d5b9e48 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TableOfContentUpdaterFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TableOfContentUpdaterFilter.java @@ -41,8 +41,8 @@ * 此筛选器更新文档中的所有索引. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TableOfContentUpdaterFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextInserterFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextInserterFilter.java index c3de8b20cd..2a6ad02d56 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextInserterFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextInserterFilter.java @@ -46,8 +46,8 @@ * 筛选器用于将文本插入文档. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextInserterFilter extends AbstractTextContentInserterFilter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextReplacerFilter.java b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextReplacerFilter.java index dea511e6ce..c51b86b383 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextReplacerFilter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/filter/text/TextReplacerFilter.java @@ -41,8 +41,8 @@ * 此筛选器用于替换文档中的文本. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TextReplacerFilter implements Filter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/magic/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/magic/package-info.java index 286c5e6ed9..f4b2c13a8c 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/magic/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/magic/package-info.java @@ -2,7 +2,7 @@ * Office相关实体类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.magic; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeEntryManager.java b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeEntryManager.java index 0ab944727f..1b31cc1280 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeEntryManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeEntryManager.java @@ -38,8 +38,8 @@ * 这个抽象类从未将可用性设置为true 只有当管理器停止时,可用性才设置为false. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractOfficeEntryManager implements OfficeManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeManager.java b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeManager.java index 97b558effa..64bbde004b 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficeManager.java @@ -39,8 +39,8 @@ * 所有{@link OfficeManager}的基类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractOfficeManager implements OfficeManager, TemporaryFileMaker { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficePoolManager.java b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficePoolManager.java index 7bdb62eff1..8b4cb0bd86 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficePoolManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractOfficePoolManager.java @@ -41,8 +41,8 @@ * 当调用{@link #execute(MadeInOffice)}函数时,池将使用第一个{@link OfficeProcessEntryManager}来执行给定的任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractOfficePoolManager extends AbstractOfficeManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractRetryable.java b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractRetryable.java index 0bc8ab0f23..08fa0f55a1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractRetryable.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/AbstractRetryable.java @@ -31,8 +31,8 @@ * 该对象将尝试执行任务,直到任务成功或达到特定超时为止. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractRetryable { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/ConnectRetryable.java b/bus-office/src/main/java/org/aoju/bus/office/metric/ConnectRetryable.java index 69571bc0b3..ca41ecefd9 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/ConnectRetryable.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/ConnectRetryable.java @@ -34,8 +34,8 @@ * 执行到office进程的连接. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConnectRetryable extends AbstractRetryable { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/ExitCodeRetryable.java b/bus-office/src/main/java/org/aoju/bus/office/metric/ExitCodeRetryable.java index b36f1ab703..5ef6091df9 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/ExitCodeRetryable.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/ExitCodeRetryable.java @@ -32,8 +32,8 @@ * 获取office进程的退出码值. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExitCodeRetryable extends AbstractRetryable { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeBuilder.java index df8b9eae98..5457e7898c 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeBuilder.java @@ -33,8 +33,8 @@ * 这个类包含{@link ExternalOfficeManager}的配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExternalOfficeBuilder implements OfficeManagerBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeManager.java b/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeManager.java index 7094fc0eb6..11766d8c14 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/ExternalOfficeManager.java @@ -40,8 +40,8 @@ * 但是,如果外部进程是手动重新启动的,那么它将自动重新连接到外部进程 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ExternalOfficeManager extends AbstractOfficeManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/InstalledOfficeHolder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/InstalledOfficeHolder.java index 50774394d9..20b3f04743 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/InstalledOfficeHolder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/InstalledOfficeHolder.java @@ -33,8 +33,8 @@ * 创建的{@link Provider}将使用该实例. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class InstalledOfficeHolder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEvent.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEvent.java index 12e16e8f18..0d5fd34b2d 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEvent.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEvent.java @@ -33,8 +33,8 @@ * office连接打开或关闭时引发的事件. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeConnectEvent extends EventObject { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEventListener.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEventListener.java index 22170a76b2..c95353a64d 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEventListener.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeConnectEventListener.java @@ -31,8 +31,8 @@ * office连接事件侦听器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OfficeConnectEventListener extends EventListener { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManager.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManager.java index fcebca29bf..7e8b6a1ba3 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManager.java @@ -33,8 +33,8 @@ * 并且在不再需要它时必须停止它。停止后就无法重新启动office管理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OfficeManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerBuilder.java index 2dc0a200fb..aa8c81449d 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerBuilder.java @@ -31,8 +31,8 @@ * 这个类提供了{@link AbstractOfficeManager}的配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OfficeManagerBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerEntryBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerEntryBuilder.java index 061fc3e119..3226ca78f2 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerEntryBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerEntryBuilder.java @@ -29,8 +29,8 @@ * 这个接口提供了{@link OfficeProcessEntryManager}的配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OfficeManagerEntryBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerPoolBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerPoolBuilder.java index 34bb67a5ad..47576650f2 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerPoolBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeManagerPoolBuilder.java @@ -29,8 +29,8 @@ * 这个类提供了{@link AbstractOfficePoolManager}的配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface OfficeManagerPoolBuilder extends OfficeManagerBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeOption.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeOption.java index ec3ac35132..6d38f6ec13 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeOption.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeOption.java @@ -34,8 +34,8 @@ * 包含有关正在使用的office的基本信息. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class OfficeOption { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcess.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcess.java index 8fff715a0a..5d4961f451 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcess.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcess.java @@ -49,8 +49,8 @@ * 表示正在执行的office程序的实例. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeProcess { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessBuilder.java index d216f2385e..ce29950a36 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessBuilder.java @@ -35,8 +35,8 @@ * 这个类包含{@link OfficeProcess}的配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeProcessBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessEntryManager.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessEntryManager.java index df7ee2627c..60cd2e0c28 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessEntryManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessEntryManager.java @@ -49,8 +49,8 @@ * OfficeProcessManagerPoolEntry还负责在达到每个进程的最大任务数时重新启动office进程. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeProcessEntryManager extends AbstractOfficeEntryManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManager.java index 2cf6fe3a38..c60caa51f7 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManager.java @@ -39,8 +39,8 @@ * OfficeProcessManager负责管理一个office流程以及到这个office流程的连接(桥接). * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerBuilder.java index 1ab8794422..ec527441c5 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerBuilder.java @@ -34,8 +34,8 @@ * 这个类包含{@link OfficeProcessManager}的配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeProcessManagerBuilder extends OfficeProcessBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerEntryBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerEntryBuilder.java index cc050f7d57..c8b1182c35 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerEntryBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerEntryBuilder.java @@ -34,8 +34,8 @@ * 当需要office实例来执行转换时,该类保存{@link OfficeProcessEntryManager}的配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeProcessManagerEntryBuilder extends OfficeProcessManagerBuilder implements OfficeManagerEntryBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerPoolBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerPoolBuilder.java index 10f8f04b38..fb7ffcc0f3 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerPoolBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/OfficeProcessManagerPoolBuilder.java @@ -34,8 +34,8 @@ * 当需要某个office实例执行转换时,该类提供{@link AbstractOfficePoolManager}的配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OfficeProcessManagerPoolBuilder extends OfficeProcessManagerEntryBuilder implements OfficeManagerPoolBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/RequestBuilder.java b/bus-office/src/main/java/org/aoju/bus/office/metric/RequestBuilder.java index 70ceeda1ff..f68579d01d 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/RequestBuilder.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/RequestBuilder.java @@ -29,8 +29,8 @@ * LibreOffice联机通信的请求配置. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RequestBuilder { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/SuspendableThread.java b/bus-office/src/main/java/org/aoju/bus/office/metric/SuspendableThread.java index bf2e5a3084..4c2d3851cd 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/SuspendableThread.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/SuspendableThread.java @@ -36,8 +36,8 @@ * 可以挂起的线程池执行程序,池中只允许有一个线程 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SuspendableThread extends ThreadPoolExecutor { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/TemporaryFileMaker.java b/bus-office/src/main/java/org/aoju/bus/office/metric/TemporaryFileMaker.java index c94a3c69ad..ec9ad475f8 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/TemporaryFileMaker.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/TemporaryFileMaker.java @@ -31,8 +31,8 @@ * 提供创建临时文件的服务. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TemporaryFileMaker { diff --git a/bus-office/src/main/java/org/aoju/bus/office/metric/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/metric/package-info.java index f2cd52cc56..070fdc23c9 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/metric/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/metric/package-info.java @@ -2,7 +2,7 @@ * Office启动管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.metric; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/package-info.java index 8cd6e42c37..bf0234ae2f 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/package-info.java @@ -4,7 +4,7 @@ * 这个库异常强大,但是使用起来也并不容易 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/AbstractProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/process/AbstractProcessManager.java index 8bfdf61ff1..f8262d5cac 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/AbstractProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/AbstractProcessManager.java @@ -41,8 +41,8 @@ * 包含的所有流程管理器实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProcessManager implements ProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/FreeBSDProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/process/FreeBSDProcessManager.java index a211b5e86a..ef44579a42 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/FreeBSDProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/FreeBSDProcessManager.java @@ -29,8 +29,8 @@ * 用于FreeBSD的{@link ProcessManager}实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FreeBSDProcessManager extends UnixProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/LinesPumpStreamHandler.java b/bus-office/src/main/java/org/aoju/bus/office/process/LinesPumpStreamHandler.java index 2ffb0f9265..6effeadbb9 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/LinesPumpStreamHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/LinesPumpStreamHandler.java @@ -31,8 +31,8 @@ * 将子进程的标准输出和错误复制到行列表中. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LinesPumpStreamHandler extends PumpStreamHandler { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/LinesStreamPumper.java b/bus-office/src/main/java/org/aoju/bus/office/process/LinesStreamPumper.java index e86a7f7883..6887eb2cc8 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/LinesStreamPumper.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/LinesStreamPumper.java @@ -33,8 +33,8 @@ * 从输入流中读取所有行. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LinesStreamPumper extends StreamPumper { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/MacProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/process/MacProcessManager.java index 1417494ebe..c64252336b 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/MacProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/MacProcessManager.java @@ -29,8 +29,8 @@ * 用于MAC的{@link ProcessManager}实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MacProcessManager extends UnixProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/ProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/process/ProcessManager.java index daf5ee013e..e3249b87b9 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/ProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/ProcessManager.java @@ -31,8 +31,8 @@ * 提供管理正在运行的流程所需的服务. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/ProcessQuery.java b/bus-office/src/main/java/org/aoju/bus/office/process/ProcessQuery.java index c38493cbaa..6049a04403 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/ProcessQuery.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/ProcessQuery.java @@ -29,8 +29,8 @@ * 包含用于查询正在运行的进程所需的信息. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ProcessQuery { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/PumpStreamHandler.java b/bus-office/src/main/java/org/aoju/bus/office/process/PumpStreamHandler.java index f5b274dd18..c2343362ad 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/PumpStreamHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/PumpStreamHandler.java @@ -29,8 +29,8 @@ * 将子过程的标准输出和错误复制到给定的pumpers. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PumpStreamHandler { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/PureJavaProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/process/PureJavaProcessManager.java index 7066268911..626594bd10 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/PureJavaProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/PureJavaProcessManager.java @@ -31,8 +31,8 @@ * PureJava 系统流程管理器实现类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PureJavaProcessManager implements ProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/StreamPumper.java b/bus-office/src/main/java/org/aoju/bus/office/process/StreamPumper.java index b00a17890c..bdee632a45 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/StreamPumper.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/StreamPumper.java @@ -37,8 +37,8 @@ * 从输入流中读取所有行. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StreamPumper extends Thread { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/UnixProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/process/UnixProcessManager.java index b5ac999062..cba3b8a741 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/UnixProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/UnixProcessManager.java @@ -38,8 +38,8 @@ * 这也适用于Solaris,这将影响{@link #find(ProcessQuery)} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnixProcessManager extends AbstractProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/WindowsProcessManager.java b/bus-office/src/main/java/org/aoju/bus/office/process/WindowsProcessManager.java index f10a25c443..04cfed37ac 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/WindowsProcessManager.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/WindowsProcessManager.java @@ -33,8 +33,8 @@ * 需要wmic.exe和taskkill.exe,至少在Windows XP、Windows Vista和Windows 7上可用(家庭版除外) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WindowsProcessManager extends AbstractProcessManager { diff --git a/bus-office/src/main/java/org/aoju/bus/office/process/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/process/package-info.java index 28033cb866..ed974cec25 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/process/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/process/package-info.java @@ -2,7 +2,7 @@ * Office进程管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.process; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractDocumentProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractDocumentProvider.java index 0ecfc5fc05..b7e0cd24b1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractDocumentProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractDocumentProvider.java @@ -34,8 +34,8 @@ * 所有文档规范实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractDocumentProvider implements DocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractProvider.java index 2187c5a0d9..8af1d8cf3a 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractProvider.java @@ -44,8 +44,8 @@ * 所有文档转换器实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProvider implements Provider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractSourceProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractSourceProvider.java index ed4f381751..3b8359e5e3 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractSourceProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractSourceProvider.java @@ -31,8 +31,8 @@ * 所有源文档规范实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractSourceProvider extends AbstractDocumentProvider implements SourceDocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractTargetProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractTargetProvider.java index 8e0fd7a891..3356ac7371 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractTargetProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/AbstractTargetProvider.java @@ -31,8 +31,8 @@ * 所有目标文档规范实现的基类. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractTargetProvider extends AbstractDocumentProvider implements TargetDocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/DocumentProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/DocumentProvider.java index dbead49177..e00c8c3f13 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/DocumentProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/DocumentProvider.java @@ -33,8 +33,8 @@ * 为文档提供转换过程所需的物理文件和格式的接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/LocalOfficeProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/LocalOfficeProvider.java index f26ad54e45..47cdd07c22 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/LocalOfficeProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/LocalOfficeProvider.java @@ -46,8 +46,8 @@ * 必须启动所提供的office管理器才能被此转换器使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LocalOfficeProvider extends AbstractProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/OnlineOfficeProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/OnlineOfficeProvider.java index 5891eda964..9539b31882 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/OnlineOfficeProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/OnlineOfficeProvider.java @@ -38,8 +38,8 @@ * 按预期工作,它必须与在线office管理器一起使用. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OnlineOfficeProvider extends AbstractProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/SourceDocumentProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/SourceDocumentProvider.java index a9f1bf6d24..69ce878726 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/SourceDocumentProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/SourceDocumentProvider.java @@ -31,8 +31,8 @@ * 当转换过程不再需要源文件时,提供应用行为的接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SourceDocumentProvider extends DocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromFileProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromFileProvider.java index 4a77aa6e1c..458c29039e 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromFileProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromFileProvider.java @@ -31,8 +31,8 @@ * 当转换过程不再需要源文件时,提供应用行为的接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SourceFromFileProvider extends AbstractSourceProvider implements SourceDocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromInputStreamProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromInputStreamProvider.java index 2e8eb81fd1..91ead93db8 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromInputStreamProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/SourceFromInputStreamProvider.java @@ -40,8 +40,8 @@ * 当转换过程不再需要源文件时,提供应用行为的接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SourceFromInputStreamProvider extends AbstractSourceProvider implements SourceDocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/TargetDocumentProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/TargetDocumentProvider.java index edf6ac0f18..7be59dd4f2 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/TargetDocumentProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/TargetDocumentProvider.java @@ -31,8 +31,8 @@ * 当转换过程不再需要目标文件时,提供应用行为的接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TargetDocumentProvider extends DocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromFileProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromFileProvider.java index 9addd3289e..27814a299f 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromFileProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromFileProvider.java @@ -34,8 +34,8 @@ * 当转换过程不再需要目标文件时,提供应用行为的接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TargetFromFileProvider extends AbstractTargetProvider implements TargetDocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromOutputStreamProvider.java b/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromOutputStreamProvider.java index 9619237e5e..032e0fd2a8 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromOutputStreamProvider.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/TargetFromOutputStreamProvider.java @@ -39,8 +39,8 @@ * 当转换过程不再需要目标文件时,提供应用行为的接口. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TargetFromOutputStreamProvider extends AbstractTargetProvider implements TargetDocumentProvider { diff --git a/bus-office/src/main/java/org/aoju/bus/office/provider/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/provider/package-info.java index a79bc425c3..3d8ba32472 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/provider/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/provider/package-info.java @@ -2,7 +2,7 @@ * Office相关封装实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.provider; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/PoiChecker.java b/bus-office/src/main/java/org/aoju/bus/office/support/PoiChecker.java index 10249daa28..b367d221f2 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/PoiChecker.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/PoiChecker.java @@ -32,8 +32,8 @@ * POI引入检查器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PoiChecker { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/BigExcelWriter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/BigExcelWriter.java index e72f5fa4ff..d2c062f890 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/BigExcelWriter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/BigExcelWriter.java @@ -37,8 +37,8 @@ * 大数据量Excel写出 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BigExcelWriter extends ExcelWriter { @@ -142,6 +142,20 @@ public BigExcelWriter(Sheet sheet) { super(sheet); } + /** + * 构造
    + * 此构造不传入写出的Excel文件路径,只能调用{@link #flush(java.io.OutputStream)}方法写出到流
    + * 若写出到文件,需要调用{@link #flush(File)} 写出到文件 + * + * @param rowAccessWindowSize 在内存中的行数,-1表示不限制,此时需要手动刷出 + * @param compressTmpFiles 是否使用Gzip压缩临时文件 + * @param useSharedStringsTable 是否使用共享字符串表,一般大量重复字符串时开启可节省内存 + * @param sheetName 写出的sheet名称 + */ + public BigExcelWriter(int rowAccessWindowSize, boolean compressTmpFiles, boolean useSharedStringsTable, String sheetName) { + this(WorksKit.createSXSSFBook(rowAccessWindowSize, compressTmpFiles, useSharedStringsTable), sheetName); + } + @Override public BigExcelWriter autoSizeColumn(int columnIndex) { final SXSSFSheet sheet = (SXSSFSheet) this.sheet; diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/CellKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/CellKit.java index a13c79617d..702c581bbb 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/CellKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/CellKit.java @@ -45,8 +45,8 @@ * Excel表格中单元格工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CellKit { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelBase.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelBase.java index b455933f13..a9238f589f 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelBase.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelBase.java @@ -33,16 +33,19 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.Closeable; +import java.io.File; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; /** * Excel基础类,用于抽象ExcelWriter和ExcelReader中共用部分的对象和方法 * * @param 子类类型,用于返回this * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExcelBase> implements Closeable { @@ -50,6 +53,10 @@ public class ExcelBase> implements Closeable { * 是否被关闭 */ protected boolean isClosed; + /** + * 目标文件,如果用户读取为流或自行创建的Workbook或Sheet,此参数为{@code null} + */ + protected File destFile; /** * 工作簿 */ @@ -58,6 +65,10 @@ public class ExcelBase> implements Closeable { * Excel中对应的Sheet */ protected Sheet sheet; + /** + * 标题行别名 + */ + protected Map headerAlias; /** * 构造 @@ -461,6 +472,64 @@ public int getColumnCount(int rowNum) { return this.sheet.getRow(rowNum).getLastCellNum(); } + /** + * 获得标题行的别名Map + * + * @return 别名Map + */ + public Map getHeaderAlias() { + return headerAlias; + } + + /** + * 设置标题行的别名Map + * + * @param headerAlias 别名Map + * @return this + */ + public T setHeaderAlias(Map headerAlias) { + this.headerAlias = headerAlias; + return (T) this; + } + + /** + * 增加标题别名 + * + * @param header 标题 + * @param alias 别名 + * @return this + */ + public T addHeaderAlias(String header, String alias) { + Map headerAlias = this.headerAlias; + if (null == headerAlias) { + headerAlias = new LinkedHashMap<>(); + } + this.headerAlias = headerAlias; + this.headerAlias.put(header, alias); + return (T) this; + } + + /** + * 去除标题别名 + * + * @param header 标题 + * @return this + */ + public T removeHeaderAlias(String header) { + this.headerAlias.remove(header); + return (T) this; + } + + /** + * 清空标题别名,key为Map中的key,value为别名 + * + * @return this + */ + public T clearHeaderAlias() { + this.headerAlias = null; + return (T) this; + } + /** * 关闭工作簿 * 如果用户设定了目标文件,先写出目标文件后给关闭工作簿 diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelFileKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelFileKit.java index 86a8b24ecf..2438743c52 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelFileKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelFileKit.java @@ -36,8 +36,8 @@ * Excel文件工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExcelFileKit { @@ -86,15 +86,15 @@ public static boolean isXlsx(File file) { * 如果强转成PushbackInputStream在调用FileMagic.valueOf(inputStream)时会报错 * {@link FileMagic} * 报错内容:getFileMagic() only operates on streams which support mark(int) - * 此处修改成 final InputStream inputStream = FileMagic.prepareToCheckMagic(in) + * 此处修改成 final InputStream in = FileMagic.prepareToCheckMagic(in) * * @param in {@link InputStream} */ private static FileMagic getFileMagic(InputStream in) { FileMagic magic; - final InputStream inputStream = FileMagic.prepareToCheckMagic(in); + in = FileMagic.prepareToCheckMagic(in); try { - magic = FileMagic.valueOf(inputStream); + magic = FileMagic.valueOf(in); } catch (IOException e) { throw new InstrumentException(e); } diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelKit.java index b3f42314ab..eeab057967 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelKit.java @@ -43,8 +43,8 @@ * Excel工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExcelKit { @@ -326,7 +326,7 @@ public static ExcelWriter getWriter(File destFile, String sheetName) { * * @return {@link BigExcelWriter} */ - public static ExcelWriter getBigWriter() { + public static BigExcelWriter getBigWriter() { try { return new BigExcelWriter(); } catch (NoClassDefFoundError e) { @@ -342,7 +342,7 @@ public static ExcelWriter getBigWriter() { * @param rowAccessWindowSize 在内存中的行数 * @return {@link BigExcelWriter} */ - public static ExcelWriter getBigWriter(int rowAccessWindowSize) { + public static BigExcelWriter getBigWriter(int rowAccessWindowSize) { try { return new BigExcelWriter(rowAccessWindowSize); } catch (NoClassDefFoundError e) { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelPicKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelPicKit.java index 80191fe7d2..a5056aa826 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelPicKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelPicKit.java @@ -43,8 +43,8 @@ * Excel图片工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExcelPicKit { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelReader.java index dc02765740..fb7bc47967 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelReader.java @@ -43,7 +43,6 @@ import java.io.File; import java.io.InputStream; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -52,8 +51,8 @@ * 读取Excel工作簿 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExcelReader extends ExcelBase { @@ -65,10 +64,6 @@ public class ExcelReader extends ExcelBase { * 单元格值处理接口 */ private CellEditor cellEditor; - /** - * 标题别名 - */ - private Map headerAlias = new HashMap<>(); /** * 构造 @@ -82,7 +77,7 @@ public ExcelReader(Sheet sheet) { /** * 构造 * - * @param excelFilePath Excel文件路径,绝对路径或相对于ClassPath路径 + * @param excelFilePath Excel文件路径,绝对路径或相对于ClassPath路径 * @param sheetIndex sheet序号,0表示第一个sheet */ public ExcelReader(String excelFilePath, int sheetIndex) { @@ -96,7 +91,8 @@ public ExcelReader(String excelFilePath, int sheetIndex) { * @param sheetIndex sheet序号,0表示第一个sheet */ public ExcelReader(File bookFile, int sheetIndex) { - this(WorksKit.createBook(bookFile), sheetIndex); + this(WorksKit.createBook(bookFile, true), sheetIndex); + this.destFile = bookFile; } /** @@ -106,7 +102,8 @@ public ExcelReader(File bookFile, int sheetIndex) { * @param sheetName sheet名,第一个默认是sheet1 */ public ExcelReader(File bookFile, String sheetName) { - this(WorksKit.createBook(bookFile), sheetName); + this(WorksKit.createBook(bookFile, true), sheetName); + this.destFile = bookFile; } /** @@ -182,49 +179,6 @@ public ExcelReader setCellEditor(CellEditor cellEditor) { return this; } - /** - * 获得标题行的别名Map - * - * @return 别名Map - */ - public Map getHeaderAlias() { - return headerAlias; - } - - /** - * 设置标题行的别名Map - * - * @param headerAlias 别名Map - * @return this - */ - public ExcelReader setHeaderAlias(Map headerAlias) { - this.headerAlias = headerAlias; - return this; - } - - /** - * 增加标题别名 - * - * @param header 标题 - * @param alias 别名 - * @return this - */ - public ExcelReader addHeaderAlias(String header, String alias) { - this.headerAlias.put(header, alias); - return this; - } - - /** - * 去除标题别名 - * - * @param header 标题 - * @return this - */ - public ExcelReader removeHeaderAlias(String header) { - this.headerAlias.remove(header); - return this; - } - /** * 读取工作簿中指定的Sheet的所有行列数据 * @@ -390,7 +344,7 @@ public List> read(int headerRowIndex, int startRowIndex, int * 读取Excel为Bean的列表 * * @param Bean类型 - * @param headerRowIndex 标题所在行,如果标题行在读取的内容行中间,这行做为数据将忽略,,从0开始计数 + * @param headerRowIndex 标题所在行,如果标题行在读取的内容行中间,这行做为数据将忽略,从0开始计数 * @param startRowIndex 起始行(包含,从0开始计数) * @param beanType 每行对应Bean的类型 * @return Map的列表 @@ -502,7 +456,7 @@ public Object readCellValue(int x, int y) { * @return {@link ExcelWriter} */ public ExcelWriter getWriter() { - return new ExcelWriter(this.sheet); + return ExcelKit.getWriter(this.destFile, this.sheet.getSheetName()); } /** diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelSaxKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelSaxKit.java index cdd9ed9c0a..3d626e90ca 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelSaxKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelSaxKit.java @@ -41,7 +41,7 @@ import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.usermodel.ExcelNumberFormat; import org.apache.poi.util.XMLHelper; -import org.apache.poi.xssf.model.SharedStringsTable; +import org.apache.poi.xssf.model.SharedStrings; import org.apache.poi.xssf.usermodel.XSSFRichTextString; import org.xml.sax.ContentHandler; import org.xml.sax.InputSource; @@ -56,8 +56,8 @@ * Sax方式读取Excel相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExcelSaxKit { @@ -82,13 +82,13 @@ public static ExcelSaxReader createSaxReader(boolean isXlsx, RowHandler rowHa /** * 根据数据类型获取数据 * - * @param cellDataType 数据类型枚举 - * @param value 数据值 - * @param sharedStringsTable {@link SharedStringsTable} - * @param numFmtString 数字格式名 + * @param cellDataType 数据类型枚举 + * @param value 数据值 + * @param sharedStrings {@link SharedStrings} + * @param numFmtString 数字格式名 * @return 数据值 */ - public static Object getDataValue(CellDataType cellDataType, String value, SharedStringsTable sharedStringsTable, String numFmtString) { + public static Object getDataValue(CellDataType cellDataType, String value, SharedStrings sharedStrings, String numFmtString) { if (null == value) { return null; } @@ -114,7 +114,7 @@ public static Object getDataValue(CellDataType cellDataType, String value, Share case SSTINDEX: try { final int index = Integer.parseInt(value); - result = sharedStringsTable.getItemAt(index).getString(); + result = sharedStrings.getItemAt(index).getString(); } catch (NumberFormatException e) { result = value; } diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelWriter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelWriter.java index 674ad45e43..7bb0e7bcc1 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelWriter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/ExcelWriter.java @@ -58,23 +58,15 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExcelWriter extends ExcelBase { - /** - * 目标文件 - */ - protected File destFile; /** * 当前行 */ private AtomicInteger currentRow = new AtomicInteger(0); - /** - * 标题行别名 - */ - private Map headerAlias; /** * 是否只保留别名对应的字段 */ @@ -392,25 +384,22 @@ public ExcelWriter setDestFile(File destFile) { return this; } - /** - * 设置标题别名,key为Map中的key,value为别名 - * - * @param headerAlias 标题别名 - * @return this - */ + @Override public ExcelWriter setHeaderAlias(Map headerAlias) { - this.headerAlias = headerAlias; - return this; + this.aliasComparator = null; + return super.setHeaderAlias(headerAlias); } - /** - * 清空标题别名,key为Map中的key,value为别名 - * - * @return this - */ + @Override public ExcelWriter clearHeaderAlias() { - this.headerAlias = null; - return this; + this.aliasComparator = null; + return super.clearHeaderAlias(); + } + + @Override + public ExcelWriter addHeaderAlias(String name, String alias) { + this.aliasComparator = null; + return super.addHeaderAlias(name, alias); } /** @@ -424,23 +413,6 @@ public ExcelWriter setOnlyAlias(boolean isOnlyAlias) { return this; } - /** - * 增加标题别名 - * - * @param name 原标题 - * @param alias 别名 - * @return this - */ - public ExcelWriter addHeaderAlias(String name, String alias) { - Map headerAlias = this.headerAlias; - if (null == headerAlias) { - headerAlias = new LinkedHashMap<>(); - } - this.headerAlias = headerAlias; - headerAlias.put(name, alias); - return this; - } - /** * 设置窗口冻结,之前冻结的窗口会被覆盖,如果rowSplit为0表示取消冻结 * diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/RowKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/RowKit.java index e9babaa003..7578c0bf8e 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/RowKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/RowKit.java @@ -44,8 +44,8 @@ * Excel中的行{@link Row}封装工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RowKit { /** diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleKit.java index 3741c35a15..7517635424 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleKit.java @@ -32,8 +32,8 @@ * Excel样式工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StyleKit { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleSet.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleSet.java index 5676f93d0a..06aa8ddbda 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleSet.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/StyleSet.java @@ -38,37 +38,36 @@ * 样式集合,此样式集合汇集了整个工作簿的样式,用于减少样式的创建和冗余 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StyleSet implements Serializable { private static final long serialVersionUID = 1L; - - /** - * 工作簿引用 - */ - private final Workbook workbook; /** * 标题样式 */ - protected CellStyle headCellStyle; + protected final CellStyle headCellStyle; /** * 默认样式 */ - protected CellStyle cellStyle; + protected final CellStyle cellStyle; /** * 默认数字样式 */ - protected CellStyle cellStyleForNumber; + protected final CellStyle cellStyleForNumber; /** * 默认日期样式 */ - protected CellStyle cellStyleForDate; + protected final CellStyle cellStyleForDate; /** * 默认链接样式 */ - protected CellStyle cellStyleForHyperlink; + protected final CellStyle cellStyleForHyperlink; + /** + * 工作簿引用 + */ + private final Workbook workbook; /** * 构造 diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/WorksKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/WorksKit.java index a59b1a7f88..a0ade64bfb 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/WorksKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/WorksKit.java @@ -44,8 +44,8 @@ * Excel工作簿{@link Workbook}相关工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WorksKit { @@ -56,7 +56,18 @@ public class WorksKit { * @return {@link Workbook} */ public static Workbook createBook(String excelFilePath) { - return createBook(FileKit.file(excelFilePath), null); + return createBook(excelFilePath, false); + } + + /** + * 创建或加载工作簿 + * + * @param excelFilePath Excel文件路径,绝对路径或相对于ClassPath路径 + * @param readOnly 是否只读模式打开,true:是(不可编辑),false:否(可编辑) + * @return {@link Workbook} + */ + public static Workbook createBook(String excelFilePath, boolean readOnly) { + return createBook(FileKit.file(excelFilePath), null, readOnly); } /** @@ -66,7 +77,18 @@ public static Workbook createBook(String excelFilePath) { * @return {@link Workbook} */ public static Workbook createBook(File excelFile) { - return createBook(excelFile, null); + return createBook(excelFile, false); + } + + /** + * 创建或加载工作簿 + * + * @param excelFile Excel文件 + * @param readOnly 是否只读模式打开,true:是(不可编辑),false:否(可编辑) + * @return {@link Workbook} + */ + public static Workbook createBook(File excelFile, boolean readOnly) { + return createBook(excelFile, null, readOnly); } /** @@ -101,8 +123,20 @@ public static Workbook createBookForWriter(File excelFile) { * @return {@link Workbook} */ public static Workbook createBook(File excelFile, String password) { + return createBook(excelFile, password, false); + } + + /** + * 创建或加载工作簿 + * + * @param excelFile Excel文件 + * @param password Excel工作簿密码,如果无密码传{@code null} + * @param readOnly 是否只读模式打开,true:是(不可编辑),false:否(可编辑) + * @return {@link Workbook} + */ + public static Workbook createBook(File excelFile, String password, boolean readOnly) { try { - return WorkbookFactory.create(excelFile, password); + return WorkbookFactory.create(excelFile, password, readOnly); } catch (Exception e) { throw new InstrumentException(e); } @@ -158,7 +192,18 @@ public static Workbook createBook(boolean isXlsx) { * @return {@link SXSSFWorkbook} */ public static SXSSFWorkbook createSXSSFBook(String excelFilePath) { - return createSXSSFBook(FileKit.file(excelFilePath), null); + return createSXSSFBook(excelFilePath, false); + } + + /** + * 创建或加载SXSSFWorkbook工作簿 + * + * @param excelFilePath Excel文件路径,绝对路径或相对于ClassPath路径 + * @param readOnly 是否只读模式打开,true:是(不可编辑),false:否(可编辑) + * @return {@link SXSSFWorkbook} + */ + public static SXSSFWorkbook createSXSSFBook(String excelFilePath, boolean readOnly) { + return createSXSSFBook(FileKit.file(excelFilePath), null, readOnly); } /** @@ -168,7 +213,18 @@ public static SXSSFWorkbook createSXSSFBook(String excelFilePath) { * @return {@link SXSSFWorkbook} */ public static SXSSFWorkbook createSXSSFBook(File excelFile) { - return createSXSSFBook(excelFile, null); + return createSXSSFBook(excelFile, false); + } + + /** + * 创建或加载SXSSFWorkbook工作簿 + * + * @param excelFile Excel文件 + * @param readOnly 是否只读模式打开,true:是(不可编辑),false:否(可编辑) + * @return {@link SXSSFWorkbook} + */ + public static SXSSFWorkbook createSXSSFBook(File excelFile, boolean readOnly) { + return createSXSSFBook(excelFile, null, readOnly); } /** @@ -179,7 +235,20 @@ public static SXSSFWorkbook createSXSSFBook(File excelFile) { * @return {@link SXSSFWorkbook} */ public static SXSSFWorkbook createSXSSFBook(File excelFile, String password) { - return toSXSSFBook(createBook(excelFile, password)); + return createSXSSFBook(excelFile, password, false); + } + + + /** + * 创建或加载SXSSFWorkbook工作簿 + * + * @param excelFile Excel文件 + * @param password Excel工作簿密码,如果无密码传{@code null} + * @param readOnly 是否只读模式打开,true:是(不可编辑),false:否(可编辑) + * @return {@link SXSSFWorkbook} + */ + public static SXSSFWorkbook createSXSSFBook(File excelFile, String password, boolean readOnly) { + return toSXSSFBook(createBook(excelFile, password, readOnly)); } /** @@ -222,6 +291,18 @@ public static SXSSFWorkbook createSXSSFBook(int rowAccessWindowSize) { return new SXSSFWorkbook(rowAccessWindowSize); } + /** + * 创建空的{@link SXSSFWorkbook},用于大批量数据写出 + * + * @param rowAccessWindowSize 在内存中的行数,-1表示不限制,此时需要手动刷出 + * @param compressTmpFiles 是否使用Gzip压缩临时文件 + * @param useSharedStringsTable 是否使用共享字符串表,一般大量重复字符串时开启可节省内存 + * @return {@link SXSSFWorkbook} + */ + public static SXSSFWorkbook createSXSSFBook(int rowAccessWindowSize, boolean compressTmpFiles, boolean useSharedStringsTable) { + return new SXSSFWorkbook(null, rowAccessWindowSize, compressTmpFiles, useSharedStringsTable); + } + /** * 将Excel Workbook刷出到输出流,不关闭流 * @@ -280,7 +361,6 @@ public static Sheet getOrCreateSheet(Workbook book, int sheetIndex) { } /** - * * sheet是否为空 * * @param sheet {@link Sheet} @@ -295,7 +375,6 @@ public static boolean isEmpty(Sheet sheet) { * * @param book 工作簿 * @return SXSSFWorkbook - */ private static SXSSFWorkbook toSXSSFBook(Workbook book) { if (book instanceof SXSSFWorkbook) { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellEditor.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellEditor.java index 616dd52b3f..3d5ca9b093 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellEditor.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellEditor.java @@ -33,8 +33,8 @@ * 实现接口并调用reader.setCellEditor()设置编辑器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface CellEditor { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellHandler.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellHandler.java index 76f790fa2d..58e6b3aebb 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellHandler.java @@ -34,8 +34,8 @@ * 获取单元格样式、坐标等信息,或根据单元格信息,装饰转换结果值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface CellHandler { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellLocation.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellLocation.java index 53c9e44b24..b96050b58c 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellLocation.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellLocation.java @@ -32,8 +32,8 @@ * 单元格位置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CellLocation implements Serializable { private static final long serialVersionUID = 1L; diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellSetter.java index 0a6709d764..319815391f 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellSetter.java @@ -31,8 +31,8 @@ * 单元格值自定义设置器,主要用于Excel数据导出,用户通过自定义此接口,实现可定制化的单元格值设定 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellValue.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellValue.java index df0c2c900a..48e7fbd9ad 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellValue.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/CellValue.java @@ -29,8 +29,8 @@ * 抽象的单元格值接口,用于判断不同类型的单元格值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface CellValue { /** diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/FormulaCellValue.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/FormulaCellValue.java index be689dd8ad..ed1ec6de94 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/FormulaCellValue.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/FormulaCellValue.java @@ -36,19 +36,19 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FormulaCellValue implements CellValue, CellSetter { /** * 公式 */ - String formula; + private final String formula; /** * 结果,使用ExcelWriter时可以不用 */ - Object result; + private final Object result; /** * 构造 diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/NullCell.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/NullCell.java index c5da1c6341..74f0c1e4c5 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/NullCell.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/NullCell.java @@ -39,8 +39,8 @@ * 此对象只用于标注单元格所在位置信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullCell implements Cell { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/package-info.java index 9c6c892b8d..722bcb7ce6 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/package-info.java @@ -2,7 +2,7 @@ * Excel中单元格相关类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.excel.cell; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/BooleanCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/BooleanCellSetter.java index 4075b27052..d9e7cc6b60 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/BooleanCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/BooleanCellSetter.java @@ -32,8 +32,8 @@ * {@link Boolean} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BooleanCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CalendarCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CalendarCellSetter.java index 54a4dabca4..6f14922b44 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CalendarCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CalendarCellSetter.java @@ -34,8 +34,8 @@ * {@link Calendar} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CalendarCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CellSetterFactory.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CellSetterFactory.java index 5d1f8cc580..e78eefdeb5 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CellSetterFactory.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CellSetterFactory.java @@ -37,8 +37,8 @@ * {@link CellSetter} 简单静态工厂类,用于根据值类型创建对应的{@link CellSetter} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CellSetterFactory { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CharSequenceCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CharSequenceCellSetter.java index 434d36625f..d558e0a85f 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CharSequenceCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/CharSequenceCellSetter.java @@ -32,8 +32,8 @@ * {@link CharSequence} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CharSequenceCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/DateCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/DateCellSetter.java index d416ffb019..0ea0eee312 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/DateCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/DateCellSetter.java @@ -34,8 +34,8 @@ * {@link Date} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DateCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/EscapeStringCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/EscapeStringCellSetter.java index f1205d7b42..d94856ed67 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/EscapeStringCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/EscapeStringCellSetter.java @@ -36,8 +36,8 @@ * 如用户传入'_x5116_'会导致乱码,使用此设置器转义为'_x005F_x5116_' * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EscapeStringCellSetter extends CharSequenceCellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/HyperlinkCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/HyperlinkCellSetter.java index 84deb07370..a75e16b335 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/HyperlinkCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/HyperlinkCellSetter.java @@ -33,8 +33,8 @@ * {@link Hyperlink} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HyperlinkCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NullCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NullCellSetter.java index 9485d537be..938f86333a 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NullCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NullCellSetter.java @@ -33,8 +33,8 @@ * {@link Number} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NumberCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NumberCellSetter.java index 11375e9ad4..a34c013ee1 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NumberCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/NumberCellSetter.java @@ -33,8 +33,8 @@ * {@link Number} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NumberCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/RichTextCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/RichTextCellSetter.java index 545bd43a42..b55e5449fe 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/RichTextCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/RichTextCellSetter.java @@ -33,8 +33,8 @@ * {@link RichTextString} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RichTextCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/TemporalAccessorCellSetter.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/TemporalAccessorCellSetter.java index 4c6acb4b81..07650c1e87 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/TemporalAccessorCellSetter.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/TemporalAccessorCellSetter.java @@ -38,8 +38,8 @@ * {@link TemporalAccessor} 值单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TemporalAccessorCellSetter implements CellSetter { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/package-info.java index cbf244a327..9e4f8f69d1 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/setters/package-info.java @@ -2,7 +2,7 @@ * Excel中单元格设置器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.excel.cell.setters; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/ErrorCellValue.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/ErrorCellValue.java index dc7d1f4c82..215b9ceddc 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/ErrorCellValue.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/ErrorCellValue.java @@ -34,8 +34,8 @@ * ERROR类型单元格值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ErrorCellValue implements CellValue { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/NumericCellValue.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/NumericCellValue.java index efa9bd415f..3b45270388 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/NumericCellValue.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/NumericCellValue.java @@ -41,8 +41,8 @@ * 单元格值可能为Long、Double、Date * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NumericCellValue implements CellValue { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/package-info.java index 70e6ff8936..a9f08ca884 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/cell/values/package-info.java @@ -2,7 +2,7 @@ * Excel中单元格值相关类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.excel.cell.values; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/NumericToIntEditor.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/NumericToIntEditor.java index 586cc7d32d..e2cee85429 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/NumericToIntEditor.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/NumericToIntEditor.java @@ -32,8 +32,8 @@ * POI中NUMRIC类型的值默认返回的是Double类型,此编辑器用于转换其为int型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NumericToIntEditor implements CellEditor { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/TrimEditor.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/TrimEditor.java index 02b822866b..7d94811339 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/TrimEditor.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/TrimEditor.java @@ -33,8 +33,8 @@ * 去除String类型的单元格值两边的空格 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TrimEditor implements CellEditor { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/package-info.java index db4763f2a0..45b443ebc0 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/editors/package-info.java @@ -2,7 +2,7 @@ * 单元格值编辑器,内部使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.excel.editors; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/package-info.java index 8badd9e50c..7774f44f26 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/package-info.java @@ -2,7 +2,7 @@ * POI中对Excel读写的封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.excel; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/AbstractSheetReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/AbstractSheetReader.java index 1418cb575d..b7c967d645 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/AbstractSheetReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/AbstractSheetReader.java @@ -33,7 +33,7 @@ import org.apache.poi.ss.usermodel.Sheet; import java.util.ArrayList; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -42,8 +42,8 @@ * * @param 读取类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractSheetReader implements SheetReader { @@ -66,7 +66,7 @@ public abstract class AbstractSheetReader implements SheetReader { /** * 标题别名 */ - private Map headerAlias = new HashMap<>(); + private Map headerAlias; /** * 构造 @@ -114,6 +114,11 @@ public void setHeaderAlias(Map headerAlias) { * @param alias 别名 */ public void addHeaderAlias(String header, String alias) { + Map headerAlias = this.headerAlias; + if (null == headerAlias) { + headerAlias = new LinkedHashMap<>(); + } + this.headerAlias = headerAlias; this.headerAlias.put(header, alias); } @@ -149,7 +154,10 @@ protected String aliasHeader(Object headerObj, int index) { } final String header = headerObj.toString(); - return ObjectKit.defaultIfNull(this.headerAlias.get(header), header); + if (null != this.headerAlias) { + return ObjectKit.defaultIfNull(this.headerAlias.get(header), header); + } + return header; } /** diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/BeanSheetReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/BeanSheetReader.java index 4536fab5ed..32c7d4a908 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/BeanSheetReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/BeanSheetReader.java @@ -38,8 +38,8 @@ * 读取{@link Sheet}为bean的List列表形式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BeanSheetReader implements SheetReader> { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ColumnSheetReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ColumnSheetReader.java index 0daaba34f1..ed6b6c48c2 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ColumnSheetReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ColumnSheetReader.java @@ -35,8 +35,8 @@ * 读取单独一列 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ColumnSheetReader extends AbstractSheetReader> { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ListSheetReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ListSheetReader.java index 97204bf382..fb0f8c5f1e 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ListSheetReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/ListSheetReader.java @@ -36,8 +36,8 @@ * 读取{@link Sheet}为List列表形式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ListSheetReader extends AbstractSheetReader>> { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/MapSheetReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/MapSheetReader.java index f5535ccda1..24571761c2 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/MapSheetReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/MapSheetReader.java @@ -39,8 +39,8 @@ * 读取{@link Sheet}为Map的List列表形式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MapSheetReader extends AbstractSheetReader>> { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/SheetReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/SheetReader.java index b4213931c7..cf9aaa0500 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/SheetReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/SheetReader.java @@ -32,8 +32,8 @@ * * @param 读取的数据类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface SheetReader { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/package-info.java index a9ac58918a..1c395f8261 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/reader/package-info.java @@ -2,7 +2,7 @@ * 数据读取接口及实现,此包中定义了SheetReader,通过实现此接口,实现sheet中的数据读取为不同类型。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.excel.reader; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AbstractRowHandler.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AbstractRowHandler.java index 44397b32f0..afd6b8b7ba 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AbstractRowHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AbstractRowHandler.java @@ -36,8 +36,8 @@ * * @param 转换后的数据类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractRowHandler implements RowHandler { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AttributeName.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AttributeName.java index 7abdf27812..5a6787e25e 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AttributeName.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/AttributeName.java @@ -31,8 +31,8 @@ * Excel的XML中属性名枚举 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum AttributeName { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/BeanRowHandler.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/BeanRowHandler.java index fe9ac2b1b4..bb3c3c0560 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/BeanRowHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/BeanRowHandler.java @@ -38,8 +38,8 @@ * 将一行数据转换为Map,key为指定行,value为当前行对应位置的值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class BeanRowHandler extends AbstractRowHandler { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/CellDataType.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/CellDataType.java index 5767b15162..b85cb48737 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/CellDataType.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/CellDataType.java @@ -31,8 +31,8 @@ * 单元格数据类型枚举 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum CellDataType { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ElementName.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ElementName.java index 0859500089..b1b27fa342 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ElementName.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ElementName.java @@ -29,8 +29,8 @@ * 标签名枚举 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum ElementName { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel03SaxReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel03SaxReader.java index 8182340945..4b1f852a64 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel03SaxReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel03SaxReader.java @@ -37,6 +37,7 @@ import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord; import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord; import org.apache.poi.hssf.model.HSSFFormulaParser; +import org.apache.poi.hssf.record.Record; import org.apache.poi.hssf.record.*; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; @@ -51,8 +52,8 @@ * Excel2003格式的事件-用户模型方式读取器,统一将此归类为Sax读取 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Excel03SaxReader implements HSSFListener, ExcelSaxReader { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel07SaxReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel07SaxReader.java index 79aca9ea1c..eec7682551 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel07SaxReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/Excel07SaxReader.java @@ -28,6 +28,7 @@ import org.aoju.bus.core.lang.exception.InstrumentException; import org.aoju.bus.core.toolkit.IoKit; import org.aoju.bus.core.toolkit.ObjectKit; +import org.aoju.bus.core.toolkit.ReflectKit; import org.aoju.bus.core.toolkit.StringKit; import org.aoju.bus.office.support.excel.ExcelSaxKit; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; @@ -46,8 +47,8 @@ * Excel2007格式说明见:http://www.cnblogs.com/wangmingshun/p/6654143.html * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Excel07SaxReader implements ExcelSaxReader { @@ -150,13 +151,8 @@ public Excel07SaxReader read(XSSFReader xssfReader, String idOrRidOrSheetName) t } // 获取共享字符串表 - try { - this.handler.sharedStringsTable = xssfReader.getSharedStringsTable(); - } catch (IOException e) { - throw new InstrumentException(e); - } catch (InvalidFormatException e) { - throw new InstrumentException(e); - } + // POI-5.2.0开始返回值有所变更,导致实际使用时提示方法未找到,此处使用反射调用,解决不同版本返回值变更问题 + this.handler.sharedStrings = ReflectKit.invoke(xssfReader, "getSharedStringsTable"); return readSheets(xssfReader, idOrRidOrSheetName); } diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ExcelSaxReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ExcelSaxReader.java index 88b492259b..35a39736f3 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ExcelSaxReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/ExcelSaxReader.java @@ -36,8 +36,8 @@ * * @param 子对象类型,用于标记返回值this * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ExcelSaxReader { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/MapRowHandler.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/MapRowHandler.java index bc1d8227f0..fef2169743 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/MapRowHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/MapRowHandler.java @@ -37,8 +37,8 @@ * 将一行数据转换为Map,key为指定行,value为当前行对应位置的值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class MapRowHandler extends AbstractRowHandler> { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/RowHandler.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/RowHandler.java index 1ac2625428..6a9f0198bc 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/RowHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/RowHandler.java @@ -33,8 +33,8 @@ * Sax方式读取Excel行处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface RowHandler { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetRidReader.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetRidReader.java index 1402f13715..f2500aab15 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetRidReader.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetRidReader.java @@ -45,8 +45,8 @@ * 在Sax方式读取Excel时,读取sheet标签中sheetId和rid的对应关系 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SheetRidReader extends DefaultHandler { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetSaxHandler.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetSaxHandler.java index 6ecaa8a771..fe00c3fa02 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetSaxHandler.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/SheetSaxHandler.java @@ -32,7 +32,7 @@ import org.aoju.bus.office.support.excel.ExcelSaxKit; import org.aoju.bus.office.support.excel.cell.FormulaCellValue; import org.apache.poi.ss.usermodel.BuiltinFormats; -import org.apache.poi.xssf.model.SharedStringsTable; +import org.apache.poi.xssf.model.SharedStrings; import org.apache.poi.xssf.model.StylesTable; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.xml.sax.Attributes; @@ -45,8 +45,8 @@ * sheetData标签内容读取处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SheetSaxHandler extends DefaultHandler { @@ -65,7 +65,7 @@ public class SheetSaxHandler extends DefaultHandler { /** * excel 2007 的共享字符串表,对应sharedString.xml */ - protected SharedStringsTable sharedStringsTable; + protected SharedStrings sharedStrings; /** * sheet的索引,从0开始 */ @@ -291,7 +291,7 @@ private void endCell() { fillBlankCell(preCoordinate, curCoordinate, false); final String contentStr = StringKit.trim(lastContent); - Object value = ExcelSaxKit.getDataValue(this.cellDataType, contentStr, this.sharedStringsTable, this.numFmtString); + Object value = ExcelSaxKit.getDataValue(this.cellDataType, contentStr, this.sharedStrings, this.numFmtString); if (false == this.lastFormula.isEmpty()) { value = new FormulaCellValue(StringKit.trim(lastFormula), value); } diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/package-info.java index a93b97a9a0..8e90867f6b 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/excel/sax/package-info.java @@ -2,7 +2,7 @@ * Sax方式操作Excel方式的封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.excel.sax; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/package-info.java index e9e4342e02..e8ac4d75da 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/package-info.java @@ -4,7 +4,7 @@ * 这个库异常强大,但是使用起来也并不容易 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support; \ No newline at end of file diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/word/PicType.java b/bus-office/src/main/java/org/aoju/bus/office/support/word/PicType.java index 0c5a3c9fcb..5b065b8229 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/word/PicType.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/word/PicType.java @@ -31,8 +31,8 @@ * Word中的图片类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum PicType { EMF(Document.PICTURE_TYPE_EMF), diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/word/TableKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/word/TableKit.java index 05287f335d..a96297c0e6 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/word/TableKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/word/TableKit.java @@ -43,8 +43,8 @@ * Word中表格相关工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TableKit { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/word/Word07Writer.java b/bus-office/src/main/java/org/aoju/bus/office/support/word/Word07Writer.java index e97befa92b..902f0ffc12 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/word/Word07Writer.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/word/Word07Writer.java @@ -44,8 +44,8 @@ * Word生成器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Word07Writer implements Closeable { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/word/WordKit.java b/bus-office/src/main/java/org/aoju/bus/office/support/word/WordKit.java index c0680e7b8e..136bf0f115 100755 --- a/bus-office/src/main/java/org/aoju/bus/office/support/word/WordKit.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/word/WordKit.java @@ -38,8 +38,8 @@ * Word工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WordKit { diff --git a/bus-office/src/main/java/org/aoju/bus/office/support/word/package-info.java b/bus-office/src/main/java/org/aoju/bus/office/support/word/package-info.java index 281007d09f..9a1f717e6d 100644 --- a/bus-office/src/main/java/org/aoju/bus/office/support/word/package-info.java +++ b/bus-office/src/main/java/org/aoju/bus/office/support/word/package-info.java @@ -2,7 +2,7 @@ * POI中对Word操作封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.office.support.word; \ No newline at end of file diff --git a/bus-opencv/pom.xml b/bus-opencv/pom.xml index 9ccac6b5ea..28909471a9 100755 --- a/bus-opencv/pom.xml +++ b/bus-opencv/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-opencv - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 @@ -49,7 +49,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -58,7 +58,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 -Xdoclint:none -Xdoclint:none @@ -96,7 +96,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -109,7 +109,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -123,7 +123,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-pager/README.md b/bus-pager/README.md index c901b7ac56..64ef058724 100755 --- a/bus-pager/README.md +++ b/bus-pager/README.md @@ -42,7 +42,7 @@ org.aoju bus-pager - 6.3.5 + 6.5.0 ``` diff --git a/bus-pager/pom.xml b/bus-pager/pom.xml index a6c822dc61..59cfe07aeb 100755 --- a/bus-pager/pom.xml +++ b/bus-pager/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-pager - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 3.5.7 30.1.1-jre 4.2 @@ -106,7 +106,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -115,7 +115,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -149,7 +149,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -162,7 +162,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -176,7 +176,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/AutoDialect.java b/bus-pager/src/main/java/org/aoju/bus/pager/AutoDialect.java index 20551347b6..70210afd2c 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/AutoDialect.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/AutoDialect.java @@ -36,8 +36,8 @@ * * @param 缓存key类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface AutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/Dialect.java b/bus-pager/src/main/java/org/aoju/bus/pager/Dialect.java index 32e63b9e97..e57d50a0cf 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/Dialect.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/Dialect.java @@ -37,8 +37,8 @@ * 数据库方言,针对不同数据库进行实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Dialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/Page.java b/bus-pager/src/main/java/org/aoju/bus/pager/Page.java index eff4cc79c5..823159019c 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/Page.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/Page.java @@ -36,8 +36,8 @@ * Mybatis - 分页对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Page extends ArrayList implements Closeable { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/PageContext.java b/bus-pager/src/main/java/org/aoju/bus/pager/PageContext.java index 41486eccc0..75ebdb4da5 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/PageContext.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/PageContext.java @@ -48,8 +48,8 @@ * Mybatis - 通用分页拦截器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageContext extends PageMethod implements Dialect, BoundSqlHandler.Chain { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/Paginating.java b/bus-pager/src/main/java/org/aoju/bus/pager/Paginating.java index 5b0df99b96..63f5b3a921 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/Paginating.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/Paginating.java @@ -34,8 +34,8 @@ * 新增分页的多项属性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Paginating extends Serialize { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/Paging.java b/bus-pager/src/main/java/org/aoju/bus/pager/Paging.java index 3b4657caf2..b3e2ad719e 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/Paging.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/Paging.java @@ -29,8 +29,8 @@ * 分页接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Paging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/Querying.java b/bus-pager/src/main/java/org/aoju/bus/pager/Querying.java index 8b5107df77..b339d7f8fc 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/Querying.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/Querying.java @@ -29,8 +29,8 @@ * 分页查询接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Querying { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/RowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/RowBounds.java index 8771b9027f..09e9750e38 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/RowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/RowBounds.java @@ -29,8 +29,8 @@ * 分页结果信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RowBounds extends org.apache.ibatis.session.RowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/Serialize.java b/bus-pager/src/main/java/org/aoju/bus/pager/Serialize.java index 1780563cda..b38317cdc0 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/Serialize.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/Serialize.java @@ -32,8 +32,8 @@ * 分页信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Serialize implements Serializable { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/cache/Cache.java b/bus-pager/src/main/java/org/aoju/bus/pager/cache/Cache.java index 424d838f7c..f529254a45 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/cache/Cache.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/cache/Cache.java @@ -29,8 +29,8 @@ * Simple cache interface * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Cache { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/cache/CacheFactory.java b/bus-pager/src/main/java/org/aoju/bus/pager/cache/CacheFactory.java index 442e251a7c..06e351ea3b 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/cache/CacheFactory.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/cache/CacheFactory.java @@ -35,8 +35,8 @@ * CacheFactory * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class CacheFactory { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/cache/GuavaCache.java b/bus-pager/src/main/java/org/aoju/bus/pager/cache/GuavaCache.java index 1f36403ed0..1f0d06aadc 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/cache/GuavaCache.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/cache/GuavaCache.java @@ -35,8 +35,8 @@ * Simple Guava Cache * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GuavaCache implements Cache { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/cache/SimpleCache.java b/bus-pager/src/main/java/org/aoju/bus/pager/cache/SimpleCache.java index c9d83644e5..5fb5e42013 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/cache/SimpleCache.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/cache/SimpleCache.java @@ -36,8 +36,8 @@ * Simple MyBatis Cache * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleCache implements Cache { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/cache/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/cache/package-info.java index 1fbc4d64bd..cc8ccf579c 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/cache/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/cache/package-info.java @@ -2,7 +2,7 @@ * 分页缓存 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.cache; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractAutoDialect.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractAutoDialect.java index eb270c0ed4..ec4afbe186 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractAutoDialect.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractAutoDialect.java @@ -38,8 +38,8 @@ * 默认实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractAutoDialect implements AutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractDialect.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractDialect.java index 2720bc1379..5491817c27 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractDialect.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractDialect.java @@ -36,8 +36,8 @@ * 基于 CountSqlParser 的智能 Count 查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractDialect implements Dialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractPaging.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractPaging.java index 77f7591977..1a7d808045 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractPaging.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractPaging.java @@ -44,8 +44,8 @@ * 针对 PageContext 的实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractPaging extends AbstractDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractRowBounds.java index a5f6e016fc..c48d19486f 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/AbstractRowBounds.java @@ -37,8 +37,8 @@ * 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractRowBounds extends AbstractDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/ReplaceSql.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/ReplaceSql.java index 8d8659973e..f943372c5f 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/ReplaceSql.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/ReplaceSql.java @@ -29,8 +29,8 @@ * 替换和还原 SQL * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ReplaceSql { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/C3P0.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/C3P0.java index 9bd71635ea..68d485c68a 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/C3P0.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/C3P0.java @@ -32,8 +32,8 @@ * c3p0 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class C3P0 extends AbstractAutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Dbcp.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Dbcp.java index 0911173d55..7cb86d21d0 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Dbcp.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Dbcp.java @@ -32,8 +32,8 @@ * commons-dbcp * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Dbcp extends AbstractAutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Defalut.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Defalut.java index 1a1c0155bb..6260d07828 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Defalut.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Defalut.java @@ -41,8 +41,8 @@ * 遍历所有实现,找到匹配的实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Defalut implements AutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Druid.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Druid.java index ae30c63de6..c125144efc 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Druid.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Druid.java @@ -32,8 +32,8 @@ * Druid * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Druid extends AbstractAutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Early.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Early.java index 3c9116aaeb..d572630c21 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Early.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Early.java @@ -41,8 +41,8 @@ * 早期版本默认实现,获取连接再获取 url,这种方式通用性强,但是性能低,处理不好关闭连接时容易出问题 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Early implements AutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Hikari.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Hikari.java index 894a4af154..c1d53d5cd0 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Hikari.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/auto/Hikari.java @@ -32,8 +32,8 @@ * Hikari * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Hikari extends AbstractAutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Db2.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Db2.java index 4d73880c8f..7eaec8d0f8 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Db2.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Db2.java @@ -37,8 +37,8 @@ * 数据库方言 db2 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Db2 extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/HerdDB.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/HerdDB.java index e9390b3053..bb2b2d8856 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/HerdDB.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/HerdDB.java @@ -41,8 +41,8 @@ * 数据库方言 herddb * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HerdDB extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Hsqldb.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Hsqldb.java index 201013406b..9c59b9a3d4 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Hsqldb.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Hsqldb.java @@ -41,8 +41,8 @@ * 数据库方言 hsqldb * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Hsqldb extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Informix.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Informix.java index fa7de2fbc9..d6bfa4623d 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Informix.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Informix.java @@ -41,8 +41,8 @@ * 数据库方言 informix * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Informix extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/MySql.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/MySql.java index aa7f2d1718..10b1e86bcd 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/MySql.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/MySql.java @@ -41,8 +41,8 @@ * 数据库方言 mysql * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MySql extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle.java index 11b036859e..c38f24c6c6 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle.java @@ -37,8 +37,8 @@ * 数据库方言 oracle * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Oracle extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle9i.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle9i.java index dca3efb444..f573a754ce 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle9i.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oracle9i.java @@ -37,8 +37,8 @@ * 数据库方言 oracle9i * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Oracle9i extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oscar.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oscar.java index ca2df4178e..0e872b1b46 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oscar.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/Oscar.java @@ -41,8 +41,8 @@ * 数据库方言 oscar * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Oscar extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/PostgreSql.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/PostgreSql.java index 333172d72d..d9a118461a 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/PostgreSql.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/PostgreSql.java @@ -32,8 +32,8 @@ * 数据库方言 postgresql * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PostgreSql extends MySql { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer.java index cef4582563..8785bef3ce 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer.java @@ -47,8 +47,8 @@ * 数据库方言 sqlserver * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlServer extends AbstractPaging { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer2012.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer2012.java index 96efd06935..9abb6fef03 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer2012.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/SqlServer2012.java @@ -37,8 +37,8 @@ * 数据库方言 sqlserver2012 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlServer2012 extends SqlServer { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/package-info.java index 4f6c491dd3..d0a59289a4 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/base/package-info.java @@ -2,7 +2,7 @@ * 分页方言实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.dialect.base; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/package-info.java index 93b55fd5c5..cd242d420a 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/package-info.java @@ -2,7 +2,7 @@ * 数据库分页方言 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.dialect; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/RegexWithNolock.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/RegexWithNolock.java index e483b3bdde..efdf71b933 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/RegexWithNolock.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/RegexWithNolock.java @@ -31,8 +31,8 @@ * 正则处理 with(nolock),转换为一个 table_PAGEWITHNOLOCK * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RegexWithNolock implements ReplaceSql { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/SimpleWithNolock.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/SimpleWithNolock.java index 1e4e3603b9..10afdcc53e 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/SimpleWithNolock.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/SimpleWithNolock.java @@ -31,8 +31,8 @@ * 简单处理 with(nolock) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleWithNolock implements ReplaceSql { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/package-info.java index 35496855cd..e664492f05 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/replace/package-info.java @@ -2,7 +2,7 @@ * 正则处理with(nolock) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.dialect.replace; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HerdDBRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HerdDBRowBounds.java index d4df48daf8..e0ebc3bd5c 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HerdDBRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HerdDBRowBounds.java @@ -34,8 +34,8 @@ * HerdDB 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HerdDBRowBounds extends AbstractRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HsqldbRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HsqldbRowBounds.java index 4cd88872f9..6348cb0c31 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HsqldbRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/HsqldbRowBounds.java @@ -33,8 +33,8 @@ * hsqldb 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HsqldbRowBounds extends AbstractRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/InformixRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/InformixRowBounds.java index 58ade041a0..5a3528183e 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/InformixRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/InformixRowBounds.java @@ -33,8 +33,8 @@ * informix 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InformixRowBounds extends AbstractRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/MySqlRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/MySqlRowBounds.java index a498e238cb..f4ba7b5809 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/MySqlRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/MySqlRowBounds.java @@ -34,8 +34,8 @@ * mysql 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MySqlRowBounds extends AbstractRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/OracleRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/OracleRowBounds.java index b93fcbd15f..6560f29d77 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/OracleRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/OracleRowBounds.java @@ -33,8 +33,8 @@ * oracle 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OracleRowBounds extends AbstractRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/PostgreSqlRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/PostgreSqlRowBounds.java index c4b7d1890a..4448e2e743 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/PostgreSqlRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/PostgreSqlRowBounds.java @@ -33,8 +33,8 @@ * PostgreSQL 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PostgreSqlRowBounds extends AbstractRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServer2012RowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServer2012RowBounds.java index 6ede823f3e..b55d389935 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServer2012RowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServer2012RowBounds.java @@ -32,8 +32,8 @@ * sqlserver2012 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlServer2012RowBounds extends SqlServerRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServerRowBounds.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServerRowBounds.java index 70ed69032e..fc85c57248 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServerRowBounds.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/SqlServerRowBounds.java @@ -42,8 +42,8 @@ * sqlserver 基于 RowBounds 的分页 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlServerRowBounds extends AbstractRowBounds { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/package-info.java index 4b051dfefc..f4292c5537 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/dialect/rowbounds/package-info.java @@ -2,7 +2,7 @@ * RowBounds处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.dialect.rowbounds; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/package-info.java index 9e05746136..bf297a5094 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/package-info.java @@ -2,7 +2,7 @@ * MyBatis 分页插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/parser/CountSqlParser.java b/bus-pager/src/main/java/org/aoju/bus/pager/parser/CountSqlParser.java index 83d1201594..5b19883401 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/parser/CountSqlParser.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/parser/CountSqlParser.java @@ -42,8 +42,8 @@ * sql解析类,提供更智能的count查询sql * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CountSqlParser { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/parser/OrderByParser.java b/bus-pager/src/main/java/org/aoju/bus/pager/parser/OrderByParser.java index 2d5561a014..92f3bd649c 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/parser/OrderByParser.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/parser/OrderByParser.java @@ -37,8 +37,8 @@ * 处理 Order by * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OrderByParser { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/parser/SqlServerParser.java b/bus-pager/src/main/java/org/aoju/bus/pager/parser/SqlServerParser.java index d3efb3c2e4..a654dd3d02 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/parser/SqlServerParser.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/parser/SqlServerParser.java @@ -52,8 +52,8 @@ * 该类设计为一个独立的工具类,依赖jsqlparser,可以独立使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlServerParser { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/parser/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/parser/package-info.java index 99d61b87cf..55d315882c 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/parser/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/parser/package-info.java @@ -2,7 +2,7 @@ * 分页插件sql转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.parser; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlChain.java b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlChain.java index 993b4870cd..cedc8af6c1 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlChain.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlChain.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BoundSqlChain implements BoundSqlHandler.Chain { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlHandler.java b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlHandler.java index 5357688d68..9631344d08 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlHandler.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/BoundSqlHandler.java @@ -32,8 +32,8 @@ * BoundSql 处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BoundSqlHandler { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageBoundSqlHandler.java b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageBoundSqlHandler.java index afa26a8b72..fe27bbb5fe 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageBoundSqlHandler.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageBoundSqlHandler.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageBoundSqlHandler { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageSqlHandler.java b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageSqlHandler.java index 969f716c54..de450d8af6 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageSqlHandler.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/PageSqlHandler.java @@ -49,8 +49,8 @@ * 通用分页拦截器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Intercepts( { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/QuerySqlHandler.java b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/QuerySqlHandler.java index 66a69895ba..d8cd0d7c91 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/QuerySqlHandler.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/QuerySqlHandler.java @@ -37,8 +37,8 @@ * QuerySQLHandler 规范 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Intercepts( { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/package-info.java index fc4cd22a01..1fed1d1395 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/plugins/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/plugins/package-info.java @@ -2,7 +2,7 @@ * 分页插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.plugins; \ No newline at end of file diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountExecutor.java b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountExecutor.java index 00f0b744a3..f9edb314cf 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountExecutor.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountExecutor.java @@ -46,8 +46,8 @@ * count 查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class CountExecutor { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountMappedStatement.java b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountMappedStatement.java index bb74d3c179..ef425ac77e 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountMappedStatement.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/CountMappedStatement.java @@ -37,8 +37,8 @@ * 创建新的MappedStatement,主要是Count返回值int * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CountMappedStatement { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageAutoDialect.java b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageAutoDialect.java index 755066cc22..af7da9f132 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageAutoDialect.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageAutoDialect.java @@ -46,8 +46,8 @@ * 基础方言信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageAutoDialect { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageMethod.java b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageMethod.java index 41b9510ac4..e8802a495e 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageMethod.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageMethod.java @@ -34,8 +34,8 @@ * 基础分页方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class PageMethod { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageObject.java b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageObject.java index f9969e36b3..9e98c243e2 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageObject.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageObject.java @@ -39,8 +39,8 @@ * 分页参数对象工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class PageObject { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageParams.java b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageParams.java index 4dea35949d..8ad961f696 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageParams.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/PageParams.java @@ -38,8 +38,8 @@ * Page 参数信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageParams { diff --git a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/package-info.java b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/package-info.java index 696bfb056e..d2a3a172f0 100644 --- a/bus-pager/src/main/java/org/aoju/bus/pager/proxy/package-info.java +++ b/bus-pager/src/main/java/org/aoju/bus/pager/proxy/package-info.java @@ -2,7 +2,7 @@ * 分页执行代理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.pager.proxy; \ No newline at end of file diff --git a/bus-proxy/pom.xml b/bus-proxy/pom.xml index 5e14068214..b976e4bd0d 100755 --- a/bus-proxy/pom.xml +++ b/bus-proxy/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-proxy - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 3.27.0-GA 4.0.63 3.3.0 @@ -78,6 +78,11 @@ ${hession.version} true + + org.glassfish.corba + glassfish-corba-orb + 4.2.0 + @@ -85,7 +90,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -94,7 +99,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -128,7 +133,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -141,7 +146,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -155,7 +160,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/Builder.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/Builder.java index 9bc2035916..06617afa75 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/Builder.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/Builder.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Builder { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/Factory.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/Factory.java index dcf9d0cff7..40b25ecdd9 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/Factory.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/Factory.java @@ -38,8 +38,8 @@ * {@link CglibFactory}或 {@link JavassistFactory}代替 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Factory { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/Interceptor.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/Interceptor.java index fd15e5cf97..651ab59caa 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/Interceptor.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/Interceptor.java @@ -29,8 +29,8 @@ * "拦截"方法调用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Interceptor { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/Invocation.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/Invocation.java index 30dd7b6e8d..cfcf9b9038 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/Invocation.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/Invocation.java @@ -31,8 +31,8 @@ * 调用者方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Invocation { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/Invoker.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/Invoker.java index ccf8c75ab2..895a72f9a6 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/Invoker.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/Invoker.java @@ -31,8 +31,8 @@ * 调用程序负责处理方法调用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Invoker { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/Provider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/Provider.java index b7f3543df3..395b222284 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/Provider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/Provider.java @@ -29,8 +29,8 @@ * 为委托代理提供对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/Aspectj.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/Aspectj.java index 240cdd083d..efd462351a 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/Aspectj.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/Aspectj.java @@ -31,8 +31,8 @@ * 切面接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Aspectj { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjSimple.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjSimple.java index 7a12a1f1e9..e657ed8c29 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjSimple.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjSimple.java @@ -33,8 +33,8 @@ * 可以继承此类实现自己需要的方法即可 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AspectjSimple implements Aspectj, Serializable { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjTimes.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjTimes.java index 78712c9bb3..a8e63d5382 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjTimes.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/AspectjTimes.java @@ -34,8 +34,8 @@ * 通过日志打印方法的执行时间的切面 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AspectjTimes extends AspectjSimple { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/package-info.java index 63338d377a..3cd75443cc 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/aspects/package-info.java @@ -2,7 +2,7 @@ * 切面信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.aspects; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractFactory.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractFactory.java index 76b9b6a310..d4e1712c27 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractFactory.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractFactory.java @@ -45,8 +45,8 @@ * 超类为{@link Factory},它支持子类化而不仅仅是实现接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractFactory extends Factory { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractProxyClass.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractProxyClass.java index 9e951dfa33..b2761ef36e 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractProxyClass.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/AbstractProxyClass.java @@ -33,8 +33,8 @@ * 用于{@link ProxyClass}实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProxyClass implements ProxyClass { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/MethodSignature.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/MethodSignature.java index 72cc67cb67..bbe6f01d24 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/MethodSignature.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/MethodSignature.java @@ -33,8 +33,8 @@ * 用于捕获方法签名的类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MethodSignature { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClass.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClass.java index f2708ac406..5159a26758 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClass.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClass.java @@ -29,8 +29,8 @@ * 代理类生成器生成特定类型的代理(拦截器、调用程序等) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ProxyClass { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClassCache.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClassCache.java index c10258514a..2044ba2c28 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClassCache.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/ProxyClassCache.java @@ -37,8 +37,8 @@ * 代理类缓存确保每个{@link AbstractProxyClass}/{@link ClassLoader}/代理类数组组合只有一个类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ProxyClassCache { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/CglibFactory.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/CglibFactory.java index 723f89c222..2559af7376 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/CglibFactory.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/CglibFactory.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CglibFactory extends AbstractFactory { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/package-info.java index 864c5751af..961912b062 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/cglib/package-info.java @@ -2,7 +2,7 @@ * 基于cglib的ProxyFactory实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.factory.cglib; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistFactory.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistFactory.java index 0eb293170f..124bc3db8a 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistFactory.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistFactory.java @@ -45,8 +45,8 @@ * Javassist 3.0或更高版本 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavassistFactory extends AbstractFactory { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistInvocation.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistInvocation.java index 8c47378833..cf0ba39745 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistInvocation.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistInvocation.java @@ -45,8 +45,8 @@ * 动态创建子类来处理特定的接口方法(它们是硬连接的) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class JavassistInvocation implements Invocation { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistKit.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistKit.java index 4d97c341c4..dc4063fa51 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistKit.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/JavassistKit.java @@ -37,8 +37,8 @@ * 处理Javassist的实用方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ class JavassistKit { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/package-info.java index 5f6850e371..f46e95f0cd 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/javassist/package-info.java @@ -2,7 +2,7 @@ * 基于javassist的ProxyFactory实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.factory.javassist; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/package-info.java index 02abafbc8d..16dbc32c5a 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/factory/package-info.java @@ -2,7 +2,7 @@ * 基于cglib、javassist等的ProxyFactory实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.factory; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/CglibInterceptor.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/CglibInterceptor.java index c1ed3676e4..52b7100a98 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/CglibInterceptor.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/CglibInterceptor.java @@ -36,8 +36,8 @@ * Cglib实现的动态代理切面 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CglibInterceptor implements MethodInterceptor { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/FilteredInterceptor.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/FilteredInterceptor.java index da09e9c558..6bd40e9ae3 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/FilteredInterceptor.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/FilteredInterceptor.java @@ -33,8 +33,8 @@ * 只在方法被提供的MethodFilter接受的情况下调用它 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FilteredInterceptor implements Interceptor { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/InterceptorChain.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/InterceptorChain.java index 2d0d06e2d6..d9bbe5d5a3 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/InterceptorChain.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/InterceptorChain.java @@ -35,8 +35,8 @@ * {@link Interceptor interceptors}的代理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InterceptorChain { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/JavassistInterceptor.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/JavassistInterceptor.java index 0ef8a8e2f2..2e1cc23af1 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/JavassistInterceptor.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/JavassistInterceptor.java @@ -38,8 +38,8 @@ * JDK实现的动态代理切面 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JavassistInterceptor implements InvocationHandler, Serializable { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/LoggingInterceptor.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/LoggingInterceptor.java index ebcd79b3c4..d5b1069091 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/LoggingInterceptor.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/LoggingInterceptor.java @@ -36,8 +36,8 @@ * 注意:这个类的实现是从HiveMind的日志拦截器中借来的 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LoggingInterceptor implements Interceptor { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodAdapter.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodAdapter.java index 0c2642a969..be744b0d72 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodAdapter.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodAdapter.java @@ -38,8 +38,8 @@ * 接口适应于Proxy的{@link Interceptor}接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MethodAdapter implements Interceptor { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodFilter.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodFilter.java index ba56be8c86..f3c06f63ee 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodFilter.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/MethodFilter.java @@ -31,8 +31,8 @@ * 一个MethodFilter决定一个方法是否被接受 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface MethodFilter { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/SerializingInterceptor.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/SerializingInterceptor.java index 1a41e41fc9..5591384cee 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/SerializingInterceptor.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/SerializingInterceptor.java @@ -35,8 +35,8 @@ * 这在测试远程服务以确保所有参数/返回类型实际上都是可序列化/反序列化的时候非常有用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SerializingInterceptor implements Interceptor { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/PatternFilter.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/PatternFilter.java index 866dcf4705..15b50ccd52 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/PatternFilter.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/PatternFilter.java @@ -33,8 +33,8 @@ * 如果方法的名称与提供的正则表达式(JDK regex)模式字符串匹配,则方法筛选器实现返回true * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PatternFilter implements MethodFilter { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/ReturnTypeFilter.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/ReturnTypeFilter.java index 24d65db6b1..220f6bfdc6 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/ReturnTypeFilter.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/ReturnTypeFilter.java @@ -37,8 +37,8 @@ * 基于返回类型的筛选器方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReturnTypeFilter implements MethodFilter { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/SimpleFilter.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/SimpleFilter.java index 324f3fbd3f..9c16d1dde4 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/SimpleFilter.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/SimpleFilter.java @@ -36,8 +36,8 @@ * 一个简单的方法筛选器实现,如果方法的名称在一组可接受的名称中,则该实现仅返回true * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SimpleFilter implements MethodFilter { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/package-info.java index de42f1ce67..1f23e61cbb 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/filter/package-info.java @@ -2,7 +2,7 @@ * MethodFilter实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.intercept.filter; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/package-info.java index 8737ff17bc..7b3fb8437c 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/intercept/package-info.java @@ -2,7 +2,7 @@ * 拦截等相关实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.intercept; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/DuckInvoker.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/DuckInvoker.java index 8bc050955e..72730d81b4 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/DuckInvoker.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/DuckInvoker.java @@ -36,8 +36,8 @@ * 该类有助于将现有类调整为它没有实现的接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DuckInvoker implements Invoker { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/HandlerInvoker.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/HandlerInvoker.java index 6e670f7835..4c571f30aa 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/HandlerInvoker.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/HandlerInvoker.java @@ -34,8 +34,8 @@ * 适配器类,将JDK的{@link InvocationHandler}接口调整为Commons Proxy的{@link Invoker}接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HandlerInvoker implements Invoker { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/InvocationInvoker.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/InvocationInvoker.java index 02f53e1f5e..1bbfd41fc4 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/InvocationInvoker.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/InvocationInvoker.java @@ -36,8 +36,8 @@ * 切面实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InvocationInvoker implements ProxyChain { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/JoinPointInvoker.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/JoinPointInvoker.java index 8b08494ff4..f66b2f9606 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/JoinPointInvoker.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/JoinPointInvoker.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JoinPointInvoker implements ProxyChain { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/NullInvoker.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/NullInvoker.java index 2ad17d9d97..7af7a87e0d 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/NullInvoker.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/NullInvoker.java @@ -36,8 +36,8 @@ * 这个类对于需要“空对象”设计模式的场景非常有用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullInvoker implements Invoker { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/ProxyChain.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/ProxyChain.java index da8aaf7301..f23ba61b9c 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/ProxyChain.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/ProxyChain.java @@ -31,8 +31,8 @@ * 拦截层 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ProxyChain extends Invocation { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/package-info.java index 8cd16faf85..ae33c4c48c 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/invoker/package-info.java @@ -2,7 +2,7 @@ * Invoker实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.invoker; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/package-info.java index 6b39ce2288..b5d6063135 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/package-info.java @@ -3,7 +3,7 @@ * 简化动态代理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/AlwaysProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/AlwaysProvider.java index c1aa6805ca..4342da0bd3 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/AlwaysProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/AlwaysProvider.java @@ -31,8 +31,8 @@ * 总是返回相同的对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AlwaysProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BeanProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BeanProvider.java index 22cc7e0a82..44015671f7 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BeanProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BeanProvider.java @@ -32,8 +32,8 @@ * 使用Class.newInstance()来实例化一个对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BeanProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BurlapProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BurlapProvider.java index 087b1c2d67..6ec7b551b2 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BurlapProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/BurlapProvider.java @@ -35,8 +35,8 @@ * burlap 服务提供 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BurlapProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/CloningProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/CloningProvider.java index 7beffa4b79..fec3d808d0 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/CloningProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/CloningProvider.java @@ -36,8 +36,8 @@ * 仅对给定的{@link Cloneable}对象调用clone()(反射性地) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CloningProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/DecoratorProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/DecoratorProvider.java index d0b264fb1c..07fcc0d1f2 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/DecoratorProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/DecoratorProvider.java @@ -34,8 +34,8 @@ * 例如,通过{@link SingletonProvider 高速缓存它} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DecoratorProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/HessianProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/HessianProvider.java index 9b8288dc77..c285c4f925 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/HessianProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/HessianProvider.java @@ -35,8 +35,8 @@ * Hessian 服务提供 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HessianProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/NullProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/NullProvider.java index 762992bcad..70c821f506 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/NullProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/NullProvider.java @@ -29,8 +29,8 @@ * 总是返回null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullProvider extends AlwaysProvider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/RmiProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/RmiProvider.java index 64b7c93954..5aa7823d76 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/RmiProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/RmiProvider.java @@ -40,8 +40,8 @@ * 通过在RMI注册表中查找来提供对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RmiProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SessionBeanProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SessionBeanProvider.java index 55ffbe6ef9..d96175714c 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SessionBeanProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SessionBeanProvider.java @@ -42,8 +42,8 @@ * 这对本地和远程会话bean都有效 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SessionBeanProvider implements Provider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SingletonProvider.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SingletonProvider.java index 7e4f23dcbe..9fee45ff9d 100755 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SingletonProvider.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/SingletonProvider.java @@ -32,8 +32,8 @@ * 在所有后续调用时返回包装提供程序返回的值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SingletonProvider extends DecoratorProvider { diff --git a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/package-info.java b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/package-info.java index 9371938257..467aca9eed 100644 --- a/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/package-info.java +++ b/bus-proxy/src/main/java/org/aoju/bus/proxy/provider/package-info.java @@ -2,7 +2,7 @@ * 通用的ObjectProvider实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.proxy.provider; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aopalliance/aop/package-info.java b/bus-proxy/src/main/java/org/aopalliance/aop/package-info.java index e3ca68d1d5..8e95576feb 100644 --- a/bus-proxy/src/main/java/org/aopalliance/aop/package-info.java +++ b/bus-proxy/src/main/java/org/aopalliance/aop/package-info.java @@ -2,7 +2,7 @@ * 这个包为AOP提供了最通用和最通用的接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aopalliance.aop; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aopalliance/intercept/package-info.java b/bus-proxy/src/main/java/org/aopalliance/intercept/package-info.java index 69ff1d894e..2e47918e8e 100644 --- a/bus-proxy/src/main/java/org/aopalliance/intercept/package-info.java +++ b/bus-proxy/src/main/java/org/aopalliance/intercept/package-info.java @@ -2,7 +2,7 @@ * 提供了一组用于拦截的接口机制 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aopalliance.intercept; \ No newline at end of file diff --git a/bus-proxy/src/main/java/org/aopalliance/package-info.java b/bus-proxy/src/main/java/org/aopalliance/package-info.java index e316dc6db0..afd495f8e3 100644 --- a/bus-proxy/src/main/java/org/aopalliance/package-info.java +++ b/bus-proxy/src/main/java/org/aopalliance/package-info.java @@ -2,7 +2,7 @@ * AOP相关处理类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aopalliance; \ No newline at end of file diff --git a/bus-sensitive/pom.xml b/bus-sensitive/pom.xml index ebba8c1544..5360216efa 100755 --- a/bus-sensitive/pom.xml +++ b/bus-sensitive/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-sensitive - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 1.2.76 @@ -76,7 +76,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -85,7 +85,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -119,7 +119,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -132,7 +132,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -146,7 +146,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Builder.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Builder.java index 14d309686c..303b062b09 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Builder.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Builder.java @@ -42,8 +42,8 @@ * 2.主要供单独的字符串处理使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Builder { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Condition.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Condition.java index 2aa19bb4b9..5b9a0b53f9 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Condition.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Condition.java @@ -31,8 +31,8 @@ * 返回真条件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Condition implements ConditionProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Context.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Context.java index 9874f7c1f6..935e63cbdf 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Context.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Context.java @@ -37,8 +37,8 @@ * 脱敏的执行上下文 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Context { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Filter.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Filter.java index 2daa30fa4a..10da69ba9e 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Filter.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Filter.java @@ -49,8 +49,8 @@ * 因为 FastJSON 本身的转换问题,如果对象中存储的是集合对象列表,会导致显示不是信息本身 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Filter implements com.alibaba.fastjson.serializer.ContextValueFilter { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Provider.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Provider.java index 3c18ea99a1..e3aca50b33 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Provider.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Provider.java @@ -48,8 +48,8 @@ * * @param 参数类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Provider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Registry.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Registry.java index 8b9a542a09..d352d212ab 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Registry.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/Registry.java @@ -41,8 +41,8 @@ * 注解和实现之间映射 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Registry { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/StopChar.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/StopChar.java index b0fa62fef9..9a2f1db9ad 100644 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/StopChar.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/StopChar.java @@ -33,8 +33,8 @@ * 过滤词及一些简单处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StopChar { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/WordTree.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/WordTree.java index a91f14c1b9..cbf9232e7c 100644 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/WordTree.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/WordTree.java @@ -38,8 +38,8 @@ * 单词树使用树状结构表示一组单词 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class WordTree extends HashMap { @@ -96,8 +96,7 @@ public WordTree addWords(Collection words) { * @return this */ public WordTree addWords(String... words) { - HashSet wordsSet = CollKit.newHashSet(words); - for (String word : wordsSet) { + for (String word : CollKit.newHashSet(words)) { addWord(word); } return this; diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Condition.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Condition.java index 9133aeda6f..e957083d53 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Condition.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Condition.java @@ -33,8 +33,8 @@ * 用于自定义策略生效条件的注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(ElementType.ANNOTATION_TYPE) diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Entry.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Entry.java index ea53811bf3..05340ad9b9 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Entry.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Entry.java @@ -34,8 +34,8 @@ * 3. 如果是普通字段/MAP,则不做处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(ElementType.FIELD) diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/NShield.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/NShield.java index a133b054c8..e4bae6d4a5 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/NShield.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/NShield.java @@ -33,8 +33,8 @@ * 对json内的key_value进行脱敏/过滤 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target({ElementType.FIELD}) diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Privacy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Privacy.java index 3f89739fdc..9a4558eb80 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Privacy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Privacy.java @@ -33,8 +33,8 @@ * 隐私数据加解密 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Sensitive.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Sensitive.java index d2667a2e02..7f4e7b20d3 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Sensitive.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Sensitive.java @@ -39,8 +39,8 @@ * ResponseBodyAdvice 脱敏加密 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target({ElementType.TYPE, ElementType.METHOD}) diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Shield.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Shield.java index 40c6e1716d..e248e09d5a 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Shield.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Shield.java @@ -45,8 +45,8 @@ * 在 Strategy 注解中,可以指定策略 默认是全部,如果指定,则只针对其中的某个策略生效 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target({ElementType.FIELD}) diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Strategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Strategy.java index 65964a5159..c9a01b8b89 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Strategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/Strategy.java @@ -36,8 +36,8 @@ * 2.如果有多个策略, 则优先执行一次满足条件的策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target(ElementType.ANNOTATION_TYPE) diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/package-info.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/package-info.java index 6e35ccad7b..d43c724892 100644 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/package-info.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/annotation/package-info.java @@ -2,7 +2,7 @@ * 脱敏数据注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.sensitive.annotation; \ No newline at end of file diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/package-info.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/package-info.java index 3e5202a91c..2cd97c63f6 100644 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/package-info.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/package-info.java @@ -2,7 +2,7 @@ * 敏感数据加解密以及数据脱敏mybatis插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.sensitive; \ No newline at end of file diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/AbstractProvider.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/AbstractProvider.java index 32c2c2b35d..2f390c0704 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/AbstractProvider.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/AbstractProvider.java @@ -32,8 +32,8 @@ * 脱敏策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProvider implements StrategyProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/ConditionProvider.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/ConditionProvider.java index 0cc4c7a0fa..39724493cc 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/ConditionProvider.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/ConditionProvider.java @@ -31,8 +31,8 @@ * 执行上下文接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ConditionProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/StrategyProvider.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/StrategyProvider.java index 43716c5a01..f81eeb10c9 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/StrategyProvider.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/StrategyProvider.java @@ -31,8 +31,8 @@ * 脱敏策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface StrategyProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/package-info.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/package-info.java index e84e8c18f3..aa04476457 100644 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/package-info.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/provider/package-info.java @@ -2,7 +2,7 @@ * 数据脱敏实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.sensitive.provider; \ No newline at end of file diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/AddressStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/AddressStrategy.java index d34a725baa..061ff62ccd 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/AddressStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/AddressStrategy.java @@ -39,8 +39,8 @@ * 例子:北京市海淀区**** * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AddressStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BandCardStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BandCardStrategy.java index 665ffd2cc5..46360bac86 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BandCardStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BandCardStrategy.java @@ -37,8 +37,8 @@ * 6227 0383 3938 3938 393 脱敏结果: 6227 **** **** ***8 393 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BandCardStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BuiltInStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BuiltInStrategy.java index 4f141c36dc..9e98513440 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BuiltInStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/BuiltInStrategy.java @@ -37,8 +37,8 @@ * 明明是数组,实现却只能是一个 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BuiltInStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CitizenIdStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CitizenIdStrategy.java index 43abcd77d3..71580135cc 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CitizenIdStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CitizenIdStrategy.java @@ -40,8 +40,8 @@ * 只保留前6位和后2位,其他用*代替 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CitizenIdStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CnapsStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CnapsStrategy.java index f63d77de30..7270477b83 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CnapsStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/CnapsStrategy.java @@ -36,8 +36,8 @@ * 前四位明文,后面脱敏 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CnapsStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/DafaultStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/DafaultStrategy.java index 149a3b0211..555208c3bb 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/DafaultStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/DafaultStrategy.java @@ -36,8 +36,8 @@ * 默认脱敏处理类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DafaultStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/EmailStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/EmailStrategy.java index f611bc5461..0a6ee9d090 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/EmailStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/EmailStrategy.java @@ -39,8 +39,8 @@ * 保留前三位,中间隐藏4位 其他正常显示 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EmailStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/MobileStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/MobileStrategy.java index 01fc9a8c5f..6699b1e78a 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/MobileStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/MobileStrategy.java @@ -36,8 +36,8 @@ * 18233583070 脱敏后: 182****3030 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MobileStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NameStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NameStrategy.java index 372c6df274..cb715952ed 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NameStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NameStrategy.java @@ -42,8 +42,8 @@ * 2. 三个及其以上 只保留第一个和最后一个 其他用星号代替 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NameStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NoneStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NoneStrategy.java index 7b72e89eae..d22531641a 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NoneStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/NoneStrategy.java @@ -33,8 +33,8 @@ * 不脱敏 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NoneStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PasswordStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PasswordStrategy.java index 089e770827..c9c73360d8 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PasswordStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PasswordStrategy.java @@ -34,8 +34,8 @@ * 直接返回 null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PasswordStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PayStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PayStrategy.java index a768999eb7..380b4cd7ec 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PayStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PayStrategy.java @@ -37,8 +37,8 @@ * 签约协议号脱敏格式为前6位后6位保留明文,中间脱敏 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PayStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PhoneStrategy.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PhoneStrategy.java index e2f42a2c4b..8dd6b0e9dd 100755 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PhoneStrategy.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/PhoneStrategy.java @@ -37,8 +37,8 @@ * 脱敏规则:180****1120 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PhoneStrategy extends AbstractProvider { diff --git a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/package-info.java b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/package-info.java index f21675dfb9..7706a7e220 100644 --- a/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/package-info.java +++ b/bus-sensitive/src/main/java/org/aoju/bus/sensitive/strategy/package-info.java @@ -2,7 +2,7 @@ * 数据脱敏规则实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.sensitive.strategy; \ No newline at end of file diff --git a/bus-setting/pom.xml b/bus-setting/pom.xml index 755df44e3f..36a469f314 100755 --- a/bus-setting/pom.xml +++ b/bus-setting/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-setting - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.29 @@ -64,7 +64,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -73,7 +73,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -107,7 +107,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -120,7 +120,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -134,7 +134,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/Builder.java b/bus-setting/src/main/java/org/aoju/bus/setting/Builder.java index 6b29bbc9cb..123d90f4da 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/Builder.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/Builder.java @@ -48,8 +48,8 @@ * 非线程安全 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Builder { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/Factory.java b/bus-setting/src/main/java/org/aoju/bus/setting/Factory.java index 5e0edf72df..e8787480e5 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/Factory.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/Factory.java @@ -38,8 +38,8 @@ * {@link IniProperty} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Factory { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/Format.java b/bus-setting/src/main/java/org/aoju/bus/setting/Format.java index ec0c64b4a8..0ecfc773f9 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/Format.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/Format.java @@ -33,8 +33,8 @@ * ini formatter. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Format extends Closeable { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/Readers.java b/bus-setting/src/main/java/org/aoju/bus/setting/Readers.java index 8794afdba2..9a7191af23 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/Readers.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/Readers.java @@ -50,8 +50,8 @@ * Setting文件加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Readers { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/format/AbstractFormatter.java b/bus-setting/src/main/java/org/aoju/bus/setting/format/AbstractFormatter.java index 949db8afc9..caf00d8e7b 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/format/AbstractFormatter.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/format/AbstractFormatter.java @@ -32,8 +32,8 @@ * 除了CommentElementFormatter之外,所有元素格式化程序都还需要注释元素格式化程序 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractFormatter implements ElementFormatter { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/format/CommentFormatter.java b/bus-setting/src/main/java/org/aoju/bus/setting/format/CommentFormatter.java index f13a3cb5e3..251484f271 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/format/CommentFormatter.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/format/CommentFormatter.java @@ -33,8 +33,8 @@ * 将字符串值格式设置为{@link IniComment} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CommentFormatter extends AbstractFormatter { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/format/DefaultFormatter.java b/bus-setting/src/main/java/org/aoju/bus/setting/format/DefaultFormatter.java index 0e2aa5c135..3adf11f4dc 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/format/DefaultFormatter.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/format/DefaultFormatter.java @@ -42,8 +42,8 @@ * {@link IniProperty } * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DefaultFormatter implements Format { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/format/ElementFormatter.java b/bus-setting/src/main/java/org/aoju/bus/setting/format/ElementFormatter.java index ba267f20fb..26a694d32b 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/format/ElementFormatter.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/format/ElementFormatter.java @@ -31,8 +31,8 @@ * 将字符串值格式设置为{@link IniElement} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ElementFormatter { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/format/PropertyFormatter.java b/bus-setting/src/main/java/org/aoju/bus/setting/format/PropertyFormatter.java index d3ad95744c..6566e6e6f2 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/format/PropertyFormatter.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/format/PropertyFormatter.java @@ -33,8 +33,8 @@ * 将字符串值格式设置为{@link IniProperty} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PropertyFormatter extends AbstractFormatter { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/format/SectionFormatter.java b/bus-setting/src/main/java/org/aoju/bus/setting/format/SectionFormatter.java index 33e66db326..c7acef6cca 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/format/SectionFormatter.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/format/SectionFormatter.java @@ -35,8 +35,8 @@ * 将字符串值格式设置为{@link IniSection} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SectionFormatter extends AbstractFormatter { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/format/package-info.java b/bus-setting/src/main/java/org/aoju/bus/setting/format/package-info.java index 94800ff90b..fdfac49b8e 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/format/package-info.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/format/package-info.java @@ -2,7 +2,7 @@ * 配置文件格式化封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.setting.format; diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractElement.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractElement.java index 69defb4521..7c057c0a9e 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractElement.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractElement.java @@ -31,8 +31,8 @@ * an abstract class for {@link IniElement}. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractElement implements IniElement { @@ -212,7 +212,7 @@ public int length() { /** * Returns the char value at the specified index. An index ranges from zero - * to length() - 1. The first char value of the sequence is at + * to length() - 1. The first char value of the sequence is at * index zero, the next at index one, and so on, as for array * indexing. * @@ -222,8 +222,8 @@ public int length() { * * @param index the index of the char value to be returned * @return the specified char value - * @throws IndexOutOfBoundsException if the index argument is negative or not less than - * length() + * @throws IndexOutOfBoundsException if the index argument is negative or not less than + * length() */ @Override public char charAt(int index) { @@ -233,17 +233,17 @@ public char charAt(int index) { /** * Returns a CharSequence that is a subsequence of this sequence. * The subsequence starts with the char value at the specified index and - * ends with the char value at index end - 1. The length + * ends with the char value at index end - 1. The length * (in chars) of the - * returned sequence is end - start, so if start == end + * returned sequence is end - start, so if start == end * then an empty sequence is returned. * * @param start the start index, inclusive * @param end the end index, exclusive * @return the specified subsequence - * @throws IndexOutOfBoundsException if start or end are negative, - * if end is greater than length(), - * or if start is greater than end + * @throws IndexOutOfBoundsException if start or end are negative, + * if end is greater than length(), + * or if start is greater than end */ @Override public CharSequence subSequence(int start, int end) { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractSetting.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractSetting.java index 84802cc429..1d26490663 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractSetting.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/AbstractSetting.java @@ -42,8 +42,8 @@ * Setting抽象类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractSetting implements OptNullString, Serializable { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniComment.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniComment.java index d3ee3fd21e..25b03fadd9 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniComment.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniComment.java @@ -29,8 +29,8 @@ * Ini file's comment. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IniComment extends IniElement { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniCommentImpl.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniCommentImpl.java index 0e7bd61c59..5ff28aad2e 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniCommentImpl.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniCommentImpl.java @@ -31,8 +31,8 @@ * Ini file's comment. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IniCommentImpl extends AbstractElement implements IniComment { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniElement.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniElement.java index 9075a5b99a..24aaf37b14 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniElement.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniElement.java @@ -33,8 +33,8 @@ * they all can be like {@link String} . * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IniElement extends CharSequence, java.io.Serializable { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniProperty.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniProperty.java index a1367f0028..0250b7f017 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniProperty.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniProperty.java @@ -31,8 +31,8 @@ * Ini file's parameters, like {@code property1=value1 } * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IniProperty extends Map.Entry, IniElement { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniPropertyImpl.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniPropertyImpl.java index 62e76d20d5..49f89c47d7 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniPropertyImpl.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniPropertyImpl.java @@ -33,8 +33,8 @@ * Ini file's parameters, like {@code property1=value1 } * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IniPropertyImpl extends AbstractElement implements IniProperty { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSection.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSection.java index 209c396898..bffe0c4e2a 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSection.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSection.java @@ -34,8 +34,8 @@ * Ini file's Section * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface IniSection extends ProxyList, IniElement { @@ -61,4 +61,9 @@ public interface IniSection extends ProxyList, IniElement { */ List getList(Supplier> listSupplier); + @Override + default boolean isEmpty() { + return ProxyList.super.isEmpty(); + } + } diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSectionImpl.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSectionImpl.java index 2219f6e7c3..0cdf939205 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSectionImpl.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSectionImpl.java @@ -37,8 +37,8 @@ * Ini file's Section * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IniSectionImpl extends AbstractElement implements IniSection { @@ -136,4 +136,9 @@ public List getProxyList() { return properties; } + @Override + public boolean isEmpty() { + return super.isEmpty(); + } + } diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSetting.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSetting.java index 687a4e2e9d..5336a2d7aa 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSetting.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/IniSetting.java @@ -44,8 +44,8 @@ * 如果您想创建Ini,则可以{@link Builder} * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IniSetting extends ArrayList { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/PopSetting.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/PopSetting.java index d1c37eb988..e54435fa2c 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/PopSetting.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/PopSetting.java @@ -60,8 +60,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PopSetting extends AbstractSetting implements Map { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/Properties.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/Properties.java index 5e5e59eadc..924898cb66 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/Properties.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/Properties.java @@ -57,8 +57,8 @@ * Properties文件读取封装类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Properties extends java.util.Properties implements BasicType, OptBasicType { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/magic/package-info.java b/bus-setting/src/main/java/org/aoju/bus/setting/magic/package-info.java index ea335c976c..401bca0bc8 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/magic/package-info.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/magic/package-info.java @@ -2,7 +2,7 @@ * 配置文件实现封装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.setting.magic; diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/metric/GlobalProfile.java b/bus-setting/src/main/java/org/aoju/bus/setting/metric/GlobalProfile.java index c55c32d36c..0cd69e2fd6 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/metric/GlobalProfile.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/metric/GlobalProfile.java @@ -32,8 +32,8 @@ * 全局的Profile配置中心 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GlobalProfile { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupMap.java b/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupMap.java index f73dd7a528..978fea9e8a 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupMap.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupMap.java @@ -35,8 +35,8 @@ * 基于分组的Map * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GroupMap extends LinkedHashMap> { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupSet.java b/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupSet.java index e97f35eb28..ee34ad7067 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupSet.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/metric/GroupSet.java @@ -44,8 +44,8 @@ * 分组配置文件如下: * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GroupSet extends HashMap> { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/metric/Profile.java b/bus-setting/src/main/java/org/aoju/bus/setting/metric/Profile.java index 52b0dfb69a..02de7a8592 100755 --- a/bus-setting/src/main/java/org/aoju/bus/setting/metric/Profile.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/metric/Profile.java @@ -47,8 +47,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Profile implements Serializable { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/metric/ProxyList.java b/bus-setting/src/main/java/org/aoju/bus/setting/metric/ProxyList.java index 920029f6dd..0a165aceec 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/metric/ProxyList.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/metric/ProxyList.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ProxyList extends List { diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/metric/package-info.java b/bus-setting/src/main/java/org/aoju/bus/setting/metric/package-info.java index 481b1229d9..7b264b4403 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/metric/package-info.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/metric/package-info.java @@ -2,7 +2,7 @@ * 配置环境封装,例如Profile可以自定义不同环境下的配置文件位置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.setting.metric; diff --git a/bus-setting/src/main/java/org/aoju/bus/setting/package-info.java b/bus-setting/src/main/java/org/aoju/bus/setting/package-info.java index a07a44c611..3afbbc41a6 100644 --- a/bus-setting/src/main/java/org/aoju/bus/setting/package-info.java +++ b/bus-setting/src/main/java/org/aoju/bus/setting/package-info.java @@ -3,7 +3,7 @@ * 同时定义一套自己的配置文件规范,实现兼容性良好的配置工具 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.setting; \ No newline at end of file diff --git a/bus-shade/pom.xml b/bus-shade/pom.xml index 9db5931bd7..555558070f 100755 --- a/bus-shade/pom.xml +++ b/bus-shade/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-shade - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.6.3 1.21 2.3.30 @@ -99,7 +99,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -108,7 +108,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -142,7 +142,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -155,7 +155,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -169,7 +169,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/ColumnType.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/ColumnType.java index 95d6c2723f..5d469d72c1 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/ColumnType.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/ColumnType.java @@ -29,8 +29,8 @@ * 获取实体类字段属性类信息接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ColumnType { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/DateType.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/DateType.java index 934d16b234..54697ac0b8 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/DateType.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/DateType.java @@ -29,8 +29,8 @@ * 数据库时间类型 到 实体类时间类型 对应策略 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum DateType { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLColumnType.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLColumnType.java index 1572487a2f..fd08164c37 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLColumnType.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLColumnType.java @@ -29,8 +29,8 @@ * 表字段类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum MySQLColumnType implements ColumnType { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLTypeConvert.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLTypeConvert.java index 053a08b305..c79cf246f3 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLTypeConvert.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/MySQLTypeConvert.java @@ -31,8 +31,8 @@ * MYSQL 数据库字段类型转换 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MySQLTypeConvert implements TypeConvert { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/NamingRules.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/NamingRules.java index 85cfeb8419..dfa010a5ad 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/NamingRules.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/NamingRules.java @@ -32,8 +32,8 @@ * 获奖java中需要的驼峰命名 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NamingRules { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/PropertyInfo.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/PropertyInfo.java index 21bc372772..10287bd82c 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/PropertyInfo.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/PropertyInfo.java @@ -33,8 +33,8 @@ * 获取到数据库的信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class PropertyInfo implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/TableEntity.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/TableEntity.java index 384b9b7447..ae84d9f18a 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/TableEntity.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/TableEntity.java @@ -37,8 +37,8 @@ * 自动生成需要的基本信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class TableEntity implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/beans/TypeConvert.java b/bus-shade/src/main/java/org/aoju/bus/shade/beans/TypeConvert.java index 412f3a1743..950742b1e5 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/beans/TypeConvert.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/beans/TypeConvert.java @@ -29,8 +29,8 @@ * 该类的功能描述 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TypeConvert { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Builder.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Builder.java index 0716a860bd..8bbf2a6bbc 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Builder.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Builder.java @@ -49,8 +49,8 @@ * Jar 工具类,包含I/O,密钥,过滤器的工具方法 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class Builder { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Complex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Complex.java index 1cbc8a3b50..6d4853d0ef 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Complex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Complex.java @@ -29,8 +29,8 @@ * 记录加/解密规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Injector.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Injector.java index f7fa209063..dbe52c0833 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Injector.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Injector.java @@ -41,8 +41,8 @@ * 框架注入器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Injector { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Launcher.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Launcher.java index 7ff4444b1b..ba75ee2e30 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/Launcher.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/Launcher.java @@ -48,8 +48,8 @@ * Spring-Boot 启动器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Launcher { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricKey.java index fa3f6036c5..cb0529afa4 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricKey.java @@ -29,8 +29,8 @@ * 非对称密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface AsymmetricKey extends Key { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricSecureKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricSecureKey.java index 8aef64ca92..052e7c19ff 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricSecureKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/AsymmetricSecureKey.java @@ -29,8 +29,8 @@ * 非对称密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class AsymmetricSecureKey extends SecureKey implements AsymmetricKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/Key.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/Key.java index fa04799067..986b426520 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/Key.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/Key.java @@ -29,8 +29,8 @@ * 密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Key { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureKey.java index 2a9e9d5402..7b87f5e3cd 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureKey.java @@ -31,8 +31,8 @@ * 密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class SecureKey implements Key, Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureRandom.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureRandom.java index 497983ca26..095c0e3451 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureRandom.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SecureRandom.java @@ -34,8 +34,8 @@ * 安全随机数 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SecureRandom extends java.security.SecureRandom { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricKey.java index c9dcaec15f..985ac8319d 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricKey.java @@ -29,8 +29,8 @@ * 对称密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SymmetricKey extends Key { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricSecureKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricSecureKey.java index a004ca10f1..6f07b09798 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricSecureKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/SymmetricSecureKey.java @@ -29,8 +29,8 @@ * 对称密钥 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class SymmetricSecureKey extends SecureKey implements SymmetricKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/package-info.java index 3a52fdf379..6e36196528 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/algorithm/package-info.java @@ -2,7 +2,7 @@ * 加密算法支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety.algorithm; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirAntComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirAntComplex.java index c0f389123a..681d14b044 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirAntComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirAntComplex.java @@ -34,8 +34,8 @@ * 文件记录Ant表达式规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DirAntComplex extends AntComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirDecryptorProvider.java index c3b7044395..bf4d70450a 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirDecryptorProvider.java @@ -37,8 +37,8 @@ * 文件夹解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DirDecryptorProvider extends EntryDecryptorProvider implements DecryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirEncryptorProvider.java index bb97b25405..200a71cb23 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirEncryptorProvider.java @@ -37,8 +37,8 @@ * 文件夹加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DirEncryptorProvider extends EntryEncryptorProvider implements EncryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirRegexComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirRegexComplex.java index 200d5c563d..4330e2833d 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirRegexComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/DirRegexComplex.java @@ -35,8 +35,8 @@ * 文件记录正则表达式规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DirRegexComplex extends RegexComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipAntComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipAntComplex.java index 0d31a91a61..6547de6927 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipAntComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipAntComplex.java @@ -33,8 +33,8 @@ * Zip记录Ant表达式规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipAntComplex extends AntComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipDecryptorProvider.java index 873b23502c..4969820a6b 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipDecryptorProvider.java @@ -42,8 +42,8 @@ * ZIP压缩包解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipDecryptorProvider extends EntryDecryptorProvider implements DecryptorProvider { private final int level; diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipEncryptorProvider.java index ffbd077292..a76b74574b 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipEncryptorProvider.java @@ -42,8 +42,8 @@ * ZIP压缩包加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipEncryptorProvider extends EntryEncryptorProvider implements EncryptorProvider { private final int level; diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipRegexComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipRegexComplex.java index 1b39e43c2d..45d8658947 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipRegexComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/ZipRegexComplex.java @@ -35,8 +35,8 @@ * Zip记录正则表达式规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ZipRegexComplex extends RegexComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/package-info.java index 6ed0d7f95f..24f6d332b1 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/archive/package-info.java @@ -2,7 +2,7 @@ * 文件加解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety.archive; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/Boot.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/Boot.java index 0a1a740f4e..1643f22cce 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/Boot.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/Boot.java @@ -39,8 +39,8 @@ * Spring-Boot JAR包加解密工具类,在不提供过滤器的情况下会加密BOOT-INF/下的所有资源,及包括项目本身的资源和依赖jar资源 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Boot { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootClassLoader.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootClassLoader.java index 6390def228..ee37ed52c1 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootClassLoader.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootClassLoader.java @@ -43,8 +43,8 @@ * 类加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootClassLoader extends LaunchedURLClassLoader { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootDecryptorProvider.java index 77a1557cb7..836505e2c8 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootDecryptorProvider.java @@ -49,8 +49,8 @@ * Spring-Boot JAR包解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootDecryptorProvider extends EntryDecryptorProvider implements DecryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootEncryptorProvider.java index 03ddcab4aa..2b8024b470 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootEncryptorProvider.java @@ -54,8 +54,8 @@ * Spring-Boot JAR包加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootEncryptorProvider extends EntryEncryptorProvider implements EncryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarArchiveEntry.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarArchiveEntry.java index ca688101ea..4235babf0a 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarArchiveEntry.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarArchiveEntry.java @@ -35,8 +35,8 @@ * 为了兼容Spring-Boot FatJar 和普通Jar 的包内资源URL一致 所以去掉路径前面的 BOOT-INF/classes/ * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootJarArchiveEntry extends JarArchiveEntry { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarLauncher.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarLauncher.java index 6fe5b3b2a2..e6a1dae29e 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarLauncher.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootJarLauncher.java @@ -35,8 +35,8 @@ * Spring-Boot Jar 启动器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootJarLauncher extends JarLauncher { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootPropertiesLauncher.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootPropertiesLauncher.java index 2f2cee4151..29b2df4025 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootPropertiesLauncher.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootPropertiesLauncher.java @@ -35,8 +35,8 @@ * Spring-Boot Properties 启动器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootPropertiesLauncher extends PropertiesLauncher { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLConnection.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLConnection.java index 4a00cb8778..8ac2e748d3 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLConnection.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLConnection.java @@ -48,8 +48,8 @@ * 加密的URL连接 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootURLConnection extends JarURLConnection { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLHandler.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLHandler.java index 8c9ef6ac59..ecb702f97a 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLHandler.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootURLHandler.java @@ -46,8 +46,8 @@ * 加密的URL处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootURLHandler extends Handler { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootWarLauncher.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootWarLauncher.java index dd2646a572..28779283d1 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootWarLauncher.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/BootWarLauncher.java @@ -35,8 +35,8 @@ * Spring-Boot Jar 启动器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BootWarLauncher extends WarLauncher { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/Jar.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/Jar.java index 24f2372fa5..c42b23b610 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/Jar.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/Jar.java @@ -39,8 +39,8 @@ * 普通JAR包加解密工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Jar { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAllComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAllComplex.java index 136f2c292c..f85f3ab24e 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAllComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAllComplex.java @@ -32,8 +32,8 @@ * Spring-Boot 所有资源加密规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarAllComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAntComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAntComplex.java index ef3f39ef21..ae92c92ff4 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAntComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarAntComplex.java @@ -33,8 +33,8 @@ * Jar记录Ant表达式规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarAntComplex extends AntComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarClassLoader.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarClassLoader.java index 4ae769f71a..6b4932902e 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarClassLoader.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarClassLoader.java @@ -43,8 +43,8 @@ * JAR包类加载器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarClassLoader extends URLClassLoader { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarDecryptorProvider.java index fed09c71f1..ccaf506d02 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarDecryptorProvider.java @@ -45,8 +45,8 @@ * 普通JAR包解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarDecryptorProvider extends EntryDecryptorProvider implements DecryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarEncryptorProvider.java index 36b50b15a4..e743cab374 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarEncryptorProvider.java @@ -48,8 +48,8 @@ * 普通JAR包加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarEncryptorProvider extends EntryEncryptorProvider implements EncryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarLauncher.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarLauncher.java index c1ada4307f..9ff9cfd8a1 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarLauncher.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarLauncher.java @@ -43,8 +43,8 @@ * JAR包启动器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarLauncher { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarRegexComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarRegexComplex.java index 1c30b5e784..d21eae037b 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarRegexComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarRegexComplex.java @@ -35,8 +35,8 @@ * Jar记录正则表达式规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarRegexComplex extends RegexComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLConnection.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLConnection.java index 56c072d87b..fcf72fada8 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLConnection.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLConnection.java @@ -47,8 +47,8 @@ * 加密的URL连接 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarURLConnection extends java.net.JarURLConnection { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLHandler.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLHandler.java index 25e1150f86..cc8a7edd99 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLHandler.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/JarURLHandler.java @@ -45,8 +45,8 @@ * 加密的URL处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JarURLHandler extends URLStreamHandler { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/package-info.java index 39bb349413..2de377794d 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/jar/package-info.java @@ -2,7 +2,7 @@ * 普通JAR包加解密工具类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety.boot.jar; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/package-info.java index 860fc8c939..8bac5a69f8 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/boot/package-info.java @@ -2,7 +2,7 @@ * Spring-Boot JAR包加解密工具类,在不提供过滤器的情况下会加密BOOT-INF/下的所有资源,及包括项目本身的资源和依赖jar资源 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety.boot; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AllComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AllComplex.java index 443eaad338..f3b3d146c5 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AllComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AllComplex.java @@ -35,8 +35,8 @@ * 如果没有规则的时候则认为所有规则都满足 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AllComplex extends MixComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AntComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AntComplex.java index ac8f155670..71b1003dc7 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AntComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AntComplex.java @@ -33,8 +33,8 @@ * Ant表达式过规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AntComplex extends RegexComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AnyComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AnyComplex.java index c57427ec55..ece1d18457 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AnyComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/AnyComplex.java @@ -34,8 +34,8 @@ * 当没有规则的时候,就是不满足 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AnyComplex extends MixComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/MixComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/MixComplex.java index d6feadc089..1bd5093798 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/MixComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/MixComplex.java @@ -35,8 +35,8 @@ * 混合过滤器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class MixComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/NotComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/NotComplex.java index a45b50d9b3..0ac0dc8b0f 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/NotComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/NotComplex.java @@ -31,8 +31,8 @@ * 非门逻辑规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/RegexComplex.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/RegexComplex.java index 5a9c994770..1169f7a3b6 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/RegexComplex.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/RegexComplex.java @@ -33,8 +33,8 @@ * 正则表达式规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class RegexComplex implements Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/package-info.java index 7790b0366d..57ae44e917 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/complex/package-info.java @@ -2,7 +2,7 @@ * 加解密逻辑混合规则 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety.complex; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/package-info.java index ea71649211..b77f32df60 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/package-info.java @@ -2,7 +2,7 @@ * Spring Boot JAR 安全加密运行工具, 同时支持的原生JAR * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/DecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/DecryptorProvider.java index 8789c9f058..77b0fe22fd 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/DecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/DecryptorProvider.java @@ -36,8 +36,8 @@ * 解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DecryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EncryptorProvider.java index cb01f7c099..525aef6942 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EncryptorProvider.java @@ -36,8 +36,8 @@ * 加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface EncryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryDecryptorProvider.java index 50d5a0599c..469fdf9748 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryDecryptorProvider.java @@ -31,8 +31,8 @@ * 记录可过滤的解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class EntryDecryptorProvider extends WrappedDecryptorProvider implements DecryptorProvider, Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryEncryptorProvider.java index fccf8cf73f..f01d83ec51 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/EntryEncryptorProvider.java @@ -31,8 +31,8 @@ * 记录可过滤的加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class EntryEncryptorProvider extends WrappedEncryptorProvider implements EncryptorProvider, Complex { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkDecryptorProvider.java index 27561b676b..17e0ca566b 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkDecryptorProvider.java @@ -38,8 +38,8 @@ * JDK内置解密算法的解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkDecryptorProvider implements DecryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkEncryptorProvider.java index c4c642fb88..09ed8db6be 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/JdkEncryptorProvider.java @@ -38,8 +38,8 @@ * JDK内置加密算法的加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdkEncryptorProvider implements EncryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopDecryptorProvider.java index 43321cd1ea..c98a151603 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopDecryptorProvider.java @@ -34,8 +34,8 @@ * 无操作解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NopDecryptorProvider implements DecryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopEncryptorProvider.java index 831986d22d..287cf130ad 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/NopEncryptorProvider.java @@ -34,8 +34,8 @@ * 无操作加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NopEncryptorProvider implements EncryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedDecryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedDecryptorProvider.java index 8bbe12c333..43f013cbc3 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedDecryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedDecryptorProvider.java @@ -36,8 +36,8 @@ * 包装的解密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class WrappedDecryptorProvider implements DecryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedEncryptorProvider.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedEncryptorProvider.java index aabf4913d9..56f7b66538 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedEncryptorProvider.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/WrappedEncryptorProvider.java @@ -36,8 +36,8 @@ * 包装的加密器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class WrappedEncryptorProvider implements EncryptorProvider { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/package-info.java index b313de861d..be018bf5bb 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/provider/package-info.java @@ -2,7 +2,7 @@ * 加解密实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety.provider; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysInputStream.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysInputStream.java index 8c394f89a0..0a048f0f1d 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysInputStream.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysInputStream.java @@ -32,8 +32,8 @@ * 不关闭的输入流 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AlwaysInputStream extends InputStream { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysOutputStream.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysOutputStream.java index e9846ac582..6aed0af94b 100755 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysOutputStream.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/AlwaysOutputStream.java @@ -32,8 +32,8 @@ * 不关闭的输出流 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AlwaysOutputStream extends OutputStream { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/package-info.java index cf72e837da..0c42d14c01 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/safety/streams/package-info.java @@ -2,7 +2,7 @@ * Spring Boot JAR 安全加密运行工具, 同时支持的原生JAR * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.safety.streams; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/Builder.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/Builder.java index 4ed5adf16c..c3dcaaaa34 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/Builder.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/Builder.java @@ -32,8 +32,8 @@ * 默认常量 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Builder { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/Config.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/Config.java index 1ab1c91673..7d95cf6170 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/Config.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/Config.java @@ -39,8 +39,8 @@ * 配置入口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/AbstractDatabaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/AbstractDatabaseQuery.java index f6296e1095..5edaeaf4eb 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/AbstractDatabaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/AbstractDatabaseQuery.java @@ -44,8 +44,8 @@ * 抽象查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractDatabaseQuery implements DatabaseQuery { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQuery.java index 25029fe027..e2b0c923d8 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQuery.java @@ -38,8 +38,8 @@ * 查询数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface DatabaseQuery { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQueryFactory.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQueryFactory.java index 9ba58cf6ca..e758766269 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQueryFactory.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseQueryFactory.java @@ -38,8 +38,8 @@ * 数据库查询工厂 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class DatabaseQueryFactory implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseType.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseType.java index 8f7967e05d..17d78c353e 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseType.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/DatabaseType.java @@ -41,8 +41,8 @@ * 数据库类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum DatabaseType implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/OtherDataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/OtherDataBaseQuery.java index 11fbc73c22..3c5107e628 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/OtherDataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/OtherDataBaseQuery.java @@ -40,8 +40,8 @@ * 其他数据库 暂未支持系列 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OtherDataBaseQuery extends AbstractDatabaseQuery { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbColumn.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbColumn.java index 603daaf328..e990db98e5 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbColumn.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbColumn.java @@ -33,8 +33,8 @@ * 表字段信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class CacheDbColumn implements Column { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDataBaseQuery.java index bbafdae7eb..0d36e13599 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDataBaseQuery.java @@ -48,8 +48,8 @@ * CacheDB 数据库查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CacheDbDataBaseQuery extends AbstractDatabaseQuery { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDatabase.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDatabase.java index c53189d42b..06b2a9c2bc 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDatabase.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbDatabase.java @@ -32,8 +32,8 @@ * 数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class CacheDbDatabase implements Database { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbPrimaryKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbPrimaryKey.java index 2f32ab9ffc..7093a65d97 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbPrimaryKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbPrimaryKey.java @@ -33,8 +33,8 @@ * 表主键 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class CacheDbPrimaryKey implements PrimaryKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbTable.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbTable.java index a89ebacdcd..9ad6c2eea6 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbTable.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/CacheDbTable.java @@ -33,8 +33,8 @@ * 表信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class CacheDbTable implements Table { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/package-info.java index 681a7a691f..e2a9d3fd6c 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/cachedb/package-info.java @@ -2,7 +2,7 @@ * CacheDB * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.cachedb; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/Db2DataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/Db2DataBaseQuery.java index 0a4d6cbfb9..eded0e8002 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/Db2DataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/Db2DataBaseQuery.java @@ -41,8 +41,8 @@ * db2 数据库查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Db2DataBaseQuery extends AbstractDatabaseQuery { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/package-info.java index 3d185aba21..074ea09e39 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/db2/package-info.java @@ -2,7 +2,7 @@ * DB2 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.db2; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/H2DataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/H2DataBaseQuery.java index d69d482edd..5b74a14711 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/H2DataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/H2DataBaseQuery.java @@ -41,8 +41,8 @@ * H2 数据库查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class H2DataBaseQuery extends AbstractDatabaseQuery { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/package-info.java index 84fb328b0f..a78455e632 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/h2/package-info.java @@ -2,7 +2,7 @@ * H2 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.h2; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariaDbDataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariaDbDataBaseQuery.java index 903fbf6b3b..a8f538c9ed 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariaDbDataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariaDbDataBaseQuery.java @@ -46,8 +46,8 @@ * mariadb 数据库查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MariaDbDataBaseQuery extends AbstractDatabaseQuery { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbColumn.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbColumn.java index 1a6ad02fb3..3e3448fb40 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbColumn.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbColumn.java @@ -33,8 +33,8 @@ * 表字段信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MariadbColumn implements Column { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbDatabase.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbDatabase.java index 83dd6a8a90..d447299476 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbDatabase.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbDatabase.java @@ -33,8 +33,8 @@ * 数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MariadbDatabase implements Database { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbPrimaryKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbPrimaryKey.java index 86156f0417..ddcbe2f2f7 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbPrimaryKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbPrimaryKey.java @@ -33,8 +33,8 @@ * 表主键 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MariadbPrimaryKey implements PrimaryKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbTable.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbTable.java index 31aa57ac9d..08e99aebce 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbTable.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/MariadbTable.java @@ -33,8 +33,8 @@ * 表信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MariadbTable implements Table { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/package-info.java index 001a7b62a0..58d63d92ca 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mariadb/package-info.java @@ -2,7 +2,7 @@ * Mariadb * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.mariadb; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlColumn.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlColumn.java index 3fe695cc71..d3cbb61664 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlColumn.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlColumn.java @@ -33,8 +33,8 @@ * 表字段信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MySqlColumn implements Column { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDataBaseQuery.java index df59c815d6..3deb6ecfd3 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDataBaseQuery.java @@ -49,8 +49,8 @@ * 元数据查询,查询的数据库表为INFORMATION_SCHEMA * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MySqlDataBaseQuery extends AbstractDatabaseQuery { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDatabase.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDatabase.java index b3e9b6c4b0..11da4fb598 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDatabase.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlDatabase.java @@ -32,8 +32,8 @@ * 数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MySqlDatabase implements Database { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlPrimaryKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlPrimaryKey.java index 95020dc961..9e9ae3cf04 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlPrimaryKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlPrimaryKey.java @@ -33,8 +33,8 @@ * 表主键 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MySqlPrimaryKey implements PrimaryKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlTable.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlTable.java index a6426ee2be..f21b5542b6 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlTable.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/MySqlTable.java @@ -33,8 +33,8 @@ * 表信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class MySqlTable implements Table { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/package-info.java index 4de2455c04..72b7149dac 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/mysql/package-info.java @@ -2,7 +2,7 @@ * MySQL * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.mysql; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleColumn.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleColumn.java index 288ff655ee..59e454e1e8 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleColumn.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleColumn.java @@ -33,8 +33,8 @@ * Oracle table column * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class OracleColumn implements Column { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDataBaseQuery.java index c08eb0f32c..a00efa0a9d 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDataBaseQuery.java @@ -53,8 +53,8 @@ * 所以,只能够通过自定义SQL来了 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class OracleDataBaseQuery extends AbstractDatabaseQuery { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDatabase.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDatabase.java index 9bbc587b17..bf14cb75e9 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDatabase.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleDatabase.java @@ -33,8 +33,8 @@ * 数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class OracleDatabase implements Database { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OraclePrimaryKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OraclePrimaryKey.java index 1647b2c094..08d71d7567 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OraclePrimaryKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OraclePrimaryKey.java @@ -33,8 +33,8 @@ * Oracle table primary * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class OraclePrimaryKey implements PrimaryKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleTable.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleTable.java index 598ab2ca92..6ebd8c715d 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleTable.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/OracleTable.java @@ -33,8 +33,8 @@ * Oracle table * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class OracleTable implements Table { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/package-info.java index d71da02ccc..77bf06d211 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/oracle/package-info.java @@ -2,7 +2,7 @@ * Oracle * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.oracle; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/package-info.java index 7b1f8783da..baefe0f350 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/package-info.java @@ -2,7 +2,7 @@ * 数据库查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlColumn.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlColumn.java index 71a1090bef..fca14ddbd2 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlColumn.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlColumn.java @@ -33,8 +33,8 @@ * 表字段信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class PostgreSqlColumn implements Column { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDataBaseQuery.java index 4909e037d9..4890535a4b 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDataBaseQuery.java @@ -46,8 +46,8 @@ * PostgreSql 查询 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PostgreSqlDataBaseQuery extends AbstractDatabaseQuery { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDatabase.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDatabase.java index 8106c206f9..d4efb10a74 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDatabase.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlDatabase.java @@ -32,8 +32,8 @@ * 数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class PostgreSqlDatabase implements Database { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlPrimaryKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlPrimaryKey.java index 40a82ebc3e..a80712d948 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlPrimaryKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlPrimaryKey.java @@ -33,8 +33,8 @@ * 表主键 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class PostgreSqlPrimaryKey implements PrimaryKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlTable.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlTable.java index de126a990a..c67bc5bb6f 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlTable.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/PostgreSqlTable.java @@ -33,8 +33,8 @@ * 表信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class PostgreSqlTable implements Table { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/package-info.java index cd2d74c38a..8dfdf095d6 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/postgresql/package-info.java @@ -2,7 +2,7 @@ * PostgreSql * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.postgresql; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerColumn.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerColumn.java index 211abf21ae..c7a977eb90 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerColumn.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerColumn.java @@ -33,8 +33,8 @@ * sqlserver table column * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class SqlServerColumn implements Column { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDataBaseQuery.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDataBaseQuery.java index 2a660fd303..aec4eabb66 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDataBaseQuery.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDataBaseQuery.java @@ -49,8 +49,8 @@ * 通过文档发现,查询列和查询表的 REMARKS 字段SQL Server 不会为此列返回值。所以对于SQL server 自己写SQL语句了,差缺补全 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SqlServerDataBaseQuery extends AbstractDatabaseQuery { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDatabase.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDatabase.java index 7ff2d98007..06a0ae92a4 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDatabase.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerDatabase.java @@ -33,8 +33,8 @@ * 数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class SqlServerDatabase implements Database { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerPrimaryKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerPrimaryKey.java index 19929cd3ed..6ca782f2f8 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerPrimaryKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerPrimaryKey.java @@ -33,8 +33,8 @@ * sqlserver table primary * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class SqlServerPrimaryKey implements PrimaryKey { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerTable.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerTable.java index 68057a5ca1..9a896e278c 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerTable.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/SqlServerTable.java @@ -33,8 +33,8 @@ * sqlserver table * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class SqlServerTable implements Table { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/package-info.java index 0e8a074dc3..08e795efb3 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/dialect/sqlserver/package-info.java @@ -2,7 +2,7 @@ * SqlServer * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.dialect.sqlserver; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/AbstractEngine.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/AbstractEngine.java index 16c41a5857..144ab89986 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/AbstractEngine.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/AbstractEngine.java @@ -38,8 +38,8 @@ * 模板引擎抽象类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public abstract class AbstractEngine implements TemplateEngine { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineConfig.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineConfig.java index 73d9543b44..ed6a869ea3 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineConfig.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineConfig.java @@ -34,8 +34,8 @@ * 文件生成配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFactory.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFactory.java index 6255690cc9..1ddd5e84cb 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFactory.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFactory.java @@ -37,8 +37,8 @@ * 生成构造工厂 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class EngineFactory implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFileType.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFileType.java index 128c44d658..6c7cf829ab 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFileType.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/EngineFileType.java @@ -34,8 +34,8 @@ * 文件类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum EngineFileType implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/FreemarkerEngine.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/FreemarkerEngine.java index d5a950ca6d..ec4da90280 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/FreemarkerEngine.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/FreemarkerEngine.java @@ -45,8 +45,8 @@ * freemarker * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FreemarkerEngine extends AbstractEngine { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateEngine.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateEngine.java index 4117c924f1..0e04b3d20e 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateEngine.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateEngine.java @@ -34,8 +34,8 @@ * 文件产生接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TemplateEngine extends Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateType.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateType.java index 72ccba6e97..e7dbf832aa 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateType.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/TemplateType.java @@ -34,8 +34,8 @@ * 模板类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum TemplateType implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/package-info.java index 759fce8473..d3461a3bf0 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/engine/package-info.java @@ -2,7 +2,7 @@ * 文档生成引擎 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.engine; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/AbstractExecute.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/AbstractExecute.java index 82c044e5bc..d0b8ed742d 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/AbstractExecute.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/AbstractExecute.java @@ -35,8 +35,8 @@ * 抽象执行 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractExecute implements Execute { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/Execute.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/Execute.java index d9a306dedc..504b6c70b4 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/Execute.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/Execute.java @@ -29,8 +29,8 @@ * 执行文档生成 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Execute { /** diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/ProduceExecute.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/ProduceExecute.java index 089984f49c..5d979c3f66 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/ProduceExecute.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/ProduceExecute.java @@ -37,8 +37,8 @@ * 文档生成 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ProduceExecute extends AbstractExecute { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/package-info.java index a939b9e609..b29ab972f8 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/execute/package-info.java @@ -2,7 +2,7 @@ * 文档生成和执行 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.execute; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/FieldMethod.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/FieldMethod.java index d4b06e652b..fae44966dc 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/FieldMethod.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/FieldMethod.java @@ -32,8 +32,8 @@ * FieldMethod * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FieldMethod { @@ -48,7 +48,7 @@ public class FieldMethod { private Method method; /** - * Getter method for property field. + * Getter method for property field. * * @return property value of field */ @@ -57,7 +57,7 @@ public Field getField() { } /** - * Setter method for property field. + * Setter method for property field. * * @param field value to be assigned to property field */ @@ -66,7 +66,7 @@ public void setField(Field field) { } /** - * Getter method for property method. + * Getter method for property method. * * @return property value of method */ @@ -75,7 +75,7 @@ public Method getMethod() { } /** - * Setter method for property method. + * Setter method for property method. * * @param method value to be assigned to property method */ diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/Mapping.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/Mapping.java index 297415d320..04041a1e82 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/Mapping.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/Mapping.java @@ -43,8 +43,8 @@ * 映射器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Mapping { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingField.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingField.java index 7f4532fd24..2d275f7b8b 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingField.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingField.java @@ -36,8 +36,8 @@ * 数据结构属性注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target(value = {ElementType.FIELD}) diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingListField.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingListField.java index 8a1ea37dab..9c89a4c539 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingListField.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/MappingListField.java @@ -36,8 +36,8 @@ * 数据结构列表属性注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Retention(RetentionPolicy.RUNTIME) @Target(value = {ElementType.FIELD}) diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/package-info.java index d31f104df6..b18a305548 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/mapping/package-info.java @@ -2,7 +2,7 @@ * 数据映射 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.mapping; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Column.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Column.java index a539569ac6..32134e32df 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Column.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Column.java @@ -29,8 +29,8 @@ * 表列接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Column { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnLength.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnLength.java index f842e7d57f..9848d474f2 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnLength.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnLength.java @@ -31,8 +31,8 @@ * 列长度 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface ColumnLength extends Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnSchema.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnSchema.java index c81add5bbf..1f8bba2c41 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnSchema.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/ColumnSchema.java @@ -31,8 +31,8 @@ * 表列领域对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class ColumnSchema { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DataSchema.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DataSchema.java index c4906fec15..0a1348e759 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DataSchema.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DataSchema.java @@ -32,8 +32,8 @@ * DataModel * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Database.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Database.java index 60832c4081..57ab983ad8 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Database.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Database.java @@ -29,8 +29,8 @@ * 数据库接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Database { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DatabaseSchema.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DatabaseSchema.java index 1325b3976b..1f17c69dfd 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DatabaseSchema.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/DatabaseSchema.java @@ -34,8 +34,8 @@ * 数据库信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class DatabaseSchema implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/PrimaryKey.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/PrimaryKey.java index d6d692ee22..f34dedb90b 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/PrimaryKey.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/PrimaryKey.java @@ -31,8 +31,8 @@ * 主键 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface PrimaryKey extends Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Table.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Table.java index 3d6b6cc700..d6307bbfcd 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Table.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/Table.java @@ -29,8 +29,8 @@ * 表接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Table { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/TableSchema.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/TableSchema.java index 000756f6ee..f8e536c2a9 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/TableSchema.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/TableSchema.java @@ -34,8 +34,8 @@ * 表信息领域对象 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class TableSchema implements Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/package-info.java index 2a92d578a3..7adedeb80a 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/metadata/package-info.java @@ -2,7 +2,7 @@ * 元数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.metadata; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/package-info.java index 2f6a3f5ee3..2d12147852 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/package-info.java @@ -2,7 +2,7 @@ * 数据库表结构文档生成核心包 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw; \ No newline at end of file diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/AbstractProcess.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/AbstractProcess.java index ced02124da..5143043b31 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/AbstractProcess.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/AbstractProcess.java @@ -43,8 +43,8 @@ * AbstractBuilder * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProcess implements Process { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/DataModelProcess.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/DataModelProcess.java index 143ca7993f..0aa23c73da 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/DataModelProcess.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/DataModelProcess.java @@ -41,8 +41,8 @@ * 数据模型处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DataModelProcess extends AbstractProcess { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/Process.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/Process.java index 2fb6328eac..47d4d400f2 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/Process.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/Process.java @@ -33,8 +33,8 @@ * 构建 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Process extends Serializable { diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/ProcessConfig.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/ProcessConfig.java index d11f17b647..93d7af4ceb 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/ProcessConfig.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/ProcessConfig.java @@ -35,8 +35,8 @@ * 数据处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/package-info.java b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/package-info.java index ce764624c5..4c6b7a2819 100644 --- a/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/package-info.java +++ b/bus-shade/src/main/java/org/aoju/bus/shade/screw/process/package-info.java @@ -2,7 +2,7 @@ * 数据处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.shade.screw.process; \ No newline at end of file diff --git a/bus-shade/src/main/resources/META-INF/template/Controller.ftl b/bus-shade/src/main/resources/META-INF/template/Controller.ftl index e97412e426..355534dfc9 100755 --- a/bus-shade/src/main/resources/META-INF/template/Controller.ftl +++ b/bus-shade/src/main/resources/META-INF/template/Controller.ftl @@ -39,7 +39,7 @@ import org.springframework.web.bind.annotation.RestController; * * @version: ${version} * @author: ${author} -* @since JDK 1.8+ +* @since Java 17+ */ <#if isSwagger=="true" > @Api(tags = "${entityComment}", value = "${entityName}Controller") diff --git a/bus-shade/src/main/resources/META-INF/template/Entity.ftl b/bus-shade/src/main/resources/META-INF/template/Entity.ftl index a6717d0e3b..b4231e4259 100755 --- a/bus-shade/src/main/resources/META-INF/template/Entity.ftl +++ b/bus-shade/src/main/resources/META-INF/template/Entity.ftl @@ -36,7 +36,7 @@ import javax.persistence.Table; * * @version: ${version} * @author: ${author} -* @since JDK 1.8+ +* @since Java 17+ */ @Data @Table(name = "${table}") diff --git a/bus-shade/src/main/resources/META-INF/template/Mapper.ftl b/bus-shade/src/main/resources/META-INF/template/Mapper.ftl index c1447c7cb4..dffb61797f 100755 --- a/bus-shade/src/main/resources/META-INF/template/Mapper.ftl +++ b/bus-shade/src/main/resources/META-INF/template/Mapper.ftl @@ -34,7 +34,7 @@ import org.apache.ibatis.annotations.Mapper; * * @version: ${version} * @author: ${author} -* @since JDK 1.8+ +* @since Java 17+ */ @Mapper public interface ${entityName}Mapper extends BaseMapper<${entityName}> { diff --git a/bus-shade/src/main/resources/META-INF/template/Service.ftl b/bus-shade/src/main/resources/META-INF/template/Service.ftl index 1104b571cf..a8613afceb 100755 --- a/bus-shade/src/main/resources/META-INF/template/Service.ftl +++ b/bus-shade/src/main/resources/META-INF/template/Service.ftl @@ -32,7 +32,7 @@ import org.aoju.bus.base.service.BaseService; * * @version: ${version} * @author: ${author} -* @since JDK 1.8+ +* @since Java 17+ */ public interface ${entityName}Service extends BaseService<${entityName}> { diff --git a/bus-shade/src/main/resources/META-INF/template/ServiceImpl.ftl b/bus-shade/src/main/resources/META-INF/template/ServiceImpl.ftl index dc0801ad6e..4ece3a3f2a 100755 --- a/bus-shade/src/main/resources/META-INF/template/ServiceImpl.ftl +++ b/bus-shade/src/main/resources/META-INF/template/ServiceImpl.ftl @@ -35,7 +35,7 @@ import org.springframework.stereotype.Service; * * @version: ${version} * @author: ${author} -* @since JDK 1.8+ +* @since Java 17+ */ <#if isDubbo=="true" > @org.apache.dubbo.config.annotation.DubboService diff --git a/bus-socket/README.md b/bus-socket/README.md index 3ed9fbd195..e263259fdc 100755 --- a/bus-socket/README.md +++ b/bus-socket/README.md @@ -4,7 +4,7 @@ bus-socket是一款开源的Java AIO框架,支持 TCP、UDP、SSL/TLS,追求 ## 运行环境 -要求JDK1.8+ +要求Java 17+ * * 通常情况下仅需实现{@link org.aoju.bus.socket.Protocol}、{@link org.aoju.bus.socket.process.MessageProcessor}即可 diff --git a/bus-socket/pom.xml b/bus-socket/pom.xml index 141e69d107..03a6b0b7e6 100755 --- a/bus-socket/pom.xml +++ b/bus-socket/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-socket - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 @@ -57,7 +57,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -66,7 +66,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -100,7 +100,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -113,7 +113,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -127,7 +127,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/AioQuickServer.java b/bus-socket/src/main/java/org/aoju/bus/socket/AioQuickServer.java index 4a2fa9923e..71ce24b637 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/AioQuickServer.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/AioQuickServer.java @@ -52,8 +52,8 @@ * * @param 消息对象类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AioQuickServer { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/AioSession.java b/bus-socket/src/main/java/org/aoju/bus/socket/AioSession.java index 031b07d7c7..92be47a8f5 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/AioSession.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/AioSession.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AioSession { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/BufferFactory.java b/bus-socket/src/main/java/org/aoju/bus/socket/BufferFactory.java index b6bd125218..07e08b0717 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/BufferFactory.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/BufferFactory.java @@ -33,8 +33,8 @@ * 内存池工厂 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface BufferFactory { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/GroupIo.java b/bus-socket/src/main/java/org/aoju/bus/socket/GroupIo.java index e04d1cb061..93c8ce6317 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/GroupIo.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/GroupIo.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface GroupIo { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/NetMonitor.java b/bus-socket/src/main/java/org/aoju/bus/socket/NetMonitor.java index 2cc743b659..ce67864749 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/NetMonitor.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/NetMonitor.java @@ -47,8 +47,8 @@ * 非必要情况下请勿使用该接口,未来可能会调整接口设计 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface NetMonitor { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickClient.java b/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickClient.java index e66df90252..ecffb54772 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickClient.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickClient.java @@ -43,8 +43,8 @@ * NIO客户端 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NioQuickClient implements Closeable { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickServer.java b/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickServer.java index a58b44f02d..1459280183 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickServer.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/NioQuickServer.java @@ -44,8 +44,8 @@ * 基于NIO的Socket服务端实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NioQuickServer implements Closeable { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/Protocol.java b/bus-socket/src/main/java/org/aoju/bus/socket/Protocol.java index fe8894cd23..6e3a1b175f 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/Protocol.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/Protocol.java @@ -34,8 +34,8 @@ * * @param 消息对象实体类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Protocol { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/QuickTimer.java b/bus-socket/src/main/java/org/aoju/bus/socket/QuickTimer.java index 9b4806d341..797ca3aa80 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/QuickTimer.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/QuickTimer.java @@ -36,8 +36,8 @@ * 服务器定时任务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class QuickTimer implements Runnable { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/ServerConfig.java b/bus-socket/src/main/java/org/aoju/bus/socket/ServerConfig.java index 9bbe4e10f0..3f0e16ab56 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/ServerConfig.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/ServerConfig.java @@ -36,8 +36,8 @@ * Quickly服务端/客户端配置信息 T:解码后生成的对象类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ServerConfig { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/SocketDecoder.java b/bus-socket/src/main/java/org/aoju/bus/socket/SocketDecoder.java index 49014e3d7f..b6cdff9d6d 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/SocketDecoder.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/SocketDecoder.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface SocketDecoder { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/SocketStatus.java b/bus-socket/src/main/java/org/aoju/bus/socket/SocketStatus.java index ffe7639337..0ddb219ff0 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/SocketStatus.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/SocketStatus.java @@ -39,8 +39,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum SocketStatus { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/TcpAioSession.java b/bus-socket/src/main/java/org/aoju/bus/socket/TcpAioSession.java index 82a3166933..af63901465 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/TcpAioSession.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/TcpAioSession.java @@ -61,8 +61,8 @@ * * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TcpAioSession extends AioSession { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/UdpAioSession.java b/bus-socket/src/main/java/org/aoju/bus/socket/UdpAioSession.java index 8d6e8883a4..e456f27947 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/UdpAioSession.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/UdpAioSession.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UdpAioSession extends AioSession { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/UdpBootstrap.java b/bus-socket/src/main/java/org/aoju/bus/socket/UdpBootstrap.java index 5abecc3e74..a41a4af667 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/UdpBootstrap.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/UdpBootstrap.java @@ -50,8 +50,8 @@ * * @param 请求信息 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UdpBootstrap { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/UdpChannel.java b/bus-socket/src/main/java/org/aoju/bus/socket/UdpChannel.java index 5ae5fce415..3d0fcc34d8 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/UdpChannel.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/UdpChannel.java @@ -47,8 +47,8 @@ * 封装UDP底层真实渠道对象,并提供通信及会话管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UdpChannel { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/UdpDispatcher.java b/bus-socket/src/main/java/org/aoju/bus/socket/UdpDispatcher.java index 39d3075831..516ccbf0d1 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/UdpDispatcher.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/UdpDispatcher.java @@ -35,8 +35,8 @@ * UDP消息分发器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UdpDispatcher implements Runnable { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/WorkerRegister.java b/bus-socket/src/main/java/org/aoju/bus/socket/WorkerRegister.java index d4f355c4be..312ff6feca 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/WorkerRegister.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/WorkerRegister.java @@ -31,8 +31,8 @@ * selector register callback * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface WorkerRegister { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelGroup.java b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelGroup.java index a28dd831b1..4a80ccef7b 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelGroup.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelGroup.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AsynchronousChannelGroup extends java.nio.channels.AsynchronousChannelGroup { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelProvider.java b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelProvider.java index dcfa035726..757e1fa0d9 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelProvider.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousChannelProvider.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AsynchronousChannelProvider extends java.nio.channels.spi.AsynchronousChannelProvider { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousServerSocketChannel.java b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousServerSocketChannel.java index 857ab23a61..ddccabe36c 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousServerSocketChannel.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousServerSocketChannel.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AsynchronousServerSocketChannel extends java.nio.channels.AsynchronousServerSocketChannel { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannel.java b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannel.java index 36869c1f9c..e98d3f62fd 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannel.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannel.java @@ -40,8 +40,8 @@ * 模拟JDK7的AIO处理方式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AsynchronousSocketChannel extends java.nio.channels.AsynchronousSocketChannel { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannelProxy.java b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannelProxy.java index 439a938e56..e224eeb492 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannelProxy.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/channel/AsynchronousSocketChannelProxy.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AsynchronousSocketChannelProxy extends java.nio.channels.AsynchronousSocketChannel { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/channel/UnsupportedAsynchronousSocketChannel.java b/bus-socket/src/main/java/org/aoju/bus/socket/channel/UnsupportedAsynchronousSocketChannel.java index d8542a0af8..62eddb5d7c 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/channel/UnsupportedAsynchronousSocketChannel.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/channel/UnsupportedAsynchronousSocketChannel.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UnsupportedAsynchronousSocketChannel extends AsynchronousSocketChannel { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/channel/package-info.java b/bus-socket/src/main/java/org/aoju/bus/socket/channel/package-info.java index 549cfda206..8c6e18b19a 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/channel/package-info.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/channel/package-info.java @@ -2,7 +2,7 @@ * 提供AIO通信服务处理方式实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.socket.channel; \ No newline at end of file diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/convert/DelimiterFrameDecoder.java b/bus-socket/src/main/java/org/aoju/bus/socket/convert/DelimiterFrameDecoder.java index 265a772a82..63c8c47a91 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/convert/DelimiterFrameDecoder.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/convert/DelimiterFrameDecoder.java @@ -35,8 +35,8 @@ * 指定结束标识的解码器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DelimiterFrameDecoder implements SocketDecoder { @@ -44,6 +44,10 @@ public class DelimiterFrameDecoder implements SocketDecoder { * 存储已解析的数据 */ private final List bufferList; + /** + * 位置信息 + */ + private final int reposition; /** * 消息结束标志 */ @@ -56,10 +60,6 @@ public class DelimiterFrameDecoder implements SocketDecoder { * 是否解析完成 */ private boolean finishRead; - /** - * 位置信息 - */ - private final int reposition; /** * 位置信息 */ diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/convert/FixedLengthDecoder.java b/bus-socket/src/main/java/org/aoju/bus/socket/convert/FixedLengthDecoder.java index 1f1e6eebf6..2d976185bd 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/convert/FixedLengthDecoder.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/convert/FixedLengthDecoder.java @@ -33,8 +33,8 @@ * 指定长度的解码器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FixedLengthDecoder implements SocketDecoder { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/convert/package-info.java b/bus-socket/src/main/java/org/aoju/bus/socket/convert/package-info.java index 0eefb03f4c..5498f56ae2 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/convert/package-info.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/convert/package-info.java @@ -2,7 +2,7 @@ * 提供通信解码具体实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.socket.convert; \ No newline at end of file diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/handler/ChannelSocketHandler.java b/bus-socket/src/main/java/org/aoju/bus/socket/handler/ChannelSocketHandler.java index f5be2b1872..ad390009d9 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/handler/ChannelSocketHandler.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/handler/ChannelSocketHandler.java @@ -31,8 +31,8 @@ * NIO数据处理接口,通过实现此接口,可以从{@link SocketChannel}中读写数据 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface ChannelSocketHandler { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionAcceptHandler.java b/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionAcceptHandler.java index c86989791b..c0ee7740e1 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionAcceptHandler.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionAcceptHandler.java @@ -36,8 +36,8 @@ * 接入完成回调,单例使用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompletionAcceptHandler implements CompletionHandler { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionReadHandler.java b/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionReadHandler.java index 49059f16de..69b0822e75 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionReadHandler.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionReadHandler.java @@ -35,8 +35,8 @@ * 读写事件回调处理类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompletionReadHandler implements CompletionHandler> { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionWriteHandler.java b/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionWriteHandler.java index cd1c4fb92c..48be1f6e97 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionWriteHandler.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/handler/CompletionWriteHandler.java @@ -35,8 +35,8 @@ * 读写事件回调处理类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompletionWriteHandler implements CompletionHandler> { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/handler/ConcurrentReadHandler.java b/bus-socket/src/main/java/org/aoju/bus/socket/handler/ConcurrentReadHandler.java index c3c11d36da..097de4b55a 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/handler/ConcurrentReadHandler.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/handler/ConcurrentReadHandler.java @@ -34,8 +34,8 @@ * 读写事件回调处理类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ConcurrentReadHandler extends CompletionReadHandler { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/handler/FutureCompletionHandler.java b/bus-socket/src/main/java/org/aoju/bus/socket/handler/FutureCompletionHandler.java index 28744463d3..f4475555ed 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/handler/FutureCompletionHandler.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/handler/FutureCompletionHandler.java @@ -35,8 +35,8 @@ * @param 泛型对象 * @param 泛型对象 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FutureCompletionHandler implements CompletionHandler, Future, Runnable { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/handler/package-info.java b/bus-socket/src/main/java/org/aoju/bus/socket/handler/package-info.java index 8a47e7205a..29cc2204d6 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/handler/package-info.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/handler/package-info.java @@ -2,7 +2,7 @@ * 提供通信拦截具体实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.socket.handler; \ No newline at end of file diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/package-info.java b/bus-socket/src/main/java/org/aoju/bus/socket/package-info.java index 866aa02d05..f9c8ddb648 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/package-info.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/package-info.java @@ -11,7 +11,7 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.socket; \ No newline at end of file diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/AbstractPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/AbstractPlugin.java index 3556f443d0..4eda876c10 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/AbstractPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/AbstractPlugin.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractPlugin implements Plugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/BlackListPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/BlackListPlugin.java index 293f967d2f..df48b553ad 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/BlackListPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/BlackListPlugin.java @@ -36,8 +36,8 @@ * 黑名单插件,bus-socket会拒绝与黑名单中的IP建立连接 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BlackListPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/HeartPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/HeartPlugin.java index 2ac1e24721..0d2b444e82 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/HeartPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/HeartPlugin.java @@ -40,8 +40,8 @@ * 心跳插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class HeartPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/MonitorPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/MonitorPlugin.java index c8002af75c..d456908b55 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/MonitorPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/MonitorPlugin.java @@ -38,8 +38,8 @@ * 服务器运行状态监控插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MonitorPlugin extends AbstractPlugin implements Runnable { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/PageBufferPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/PageBufferPlugin.java index 2d129c1f4f..241bbbcfef 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/PageBufferPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/PageBufferPlugin.java @@ -40,8 +40,8 @@ * 内存页监测插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PageBufferPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/Plugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/Plugin.java index 42641f7f54..119e6654a1 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/Plugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/Plugin.java @@ -34,8 +34,8 @@ * 插件接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Plugin extends NetMonitor { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/RateLimiterPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/RateLimiterPlugin.java index 997a87f270..3064d5b6da 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/RateLimiterPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/RateLimiterPlugin.java @@ -38,8 +38,8 @@ * 网络流量控制插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RateLimiterPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/ReconnectPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/ReconnectPlugin.java index 7f06637bbd..6c35e17494 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/ReconnectPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/ReconnectPlugin.java @@ -35,8 +35,8 @@ * 断链重连插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReconnectPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SocketOptionPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SocketOptionPlugin.java index 2da57bf439..5ae7b17718 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SocketOptionPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SocketOptionPlugin.java @@ -38,8 +38,8 @@ * 用于设置Socket Option的插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SocketOptionPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SslPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SslPlugin.java index 6dde99c025..84a302dc96 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SslPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/SslPlugin.java @@ -38,8 +38,8 @@ * SSL/TLS通信插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SslPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/StreamMonitorPlugin.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/StreamMonitorPlugin.java index edf4bc2ebf..68346cf203 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/StreamMonitorPlugin.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/StreamMonitorPlugin.java @@ -45,8 +45,8 @@ * 传输层码流监控插件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StreamMonitorPlugin extends AbstractPlugin { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/package-info.java b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/package-info.java index 0d5cd5013b..f4bab95ff9 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/plugins/package-info.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/plugins/package-info.java @@ -2,7 +2,7 @@ * 提供插件等实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.socket.plugins; \ No newline at end of file diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/process/AbstractProcessor.java b/bus-socket/src/main/java/org/aoju/bus/socket/process/AbstractProcessor.java index b6e5d189d7..d37be9ef15 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/process/AbstractProcessor.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/process/AbstractProcessor.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProcessor implements MessageProcessor, NetMonitor { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/process/GroupMessageProcessor.java b/bus-socket/src/main/java/org/aoju/bus/socket/process/GroupMessageProcessor.java index 7c4aa9cefc..2c07afd87d 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/process/GroupMessageProcessor.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/process/GroupMessageProcessor.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class GroupMessageProcessor implements MessageProcessor, GroupIo { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/process/MessageProcessor.java b/bus-socket/src/main/java/org/aoju/bus/socket/process/MessageProcessor.java index 68a059ccf7..d0c8adec8a 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/process/MessageProcessor.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/process/MessageProcessor.java @@ -37,8 +37,8 @@ * * @param 消息对象实体类型 * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface MessageProcessor { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/process/package-info.java b/bus-socket/src/main/java/org/aoju/bus/socket/process/package-info.java index e85678bd82..58258f4973 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/process/package-info.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/process/package-info.java @@ -2,7 +2,7 @@ * 消息处理器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.socket.process; \ No newline at end of file diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/security/ClientAuth.java b/bus-socket/src/main/java/org/aoju/bus/socket/security/ClientAuth.java index a68e0c7106..2860241c2d 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/security/ClientAuth.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/security/ClientAuth.java @@ -29,8 +29,8 @@ * 配置引擎请求客户端验证 此选项只对服务器模式的引擎有用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum ClientAuth { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeCallback.java b/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeCallback.java index d29667e78b..e51b41e56d 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeCallback.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeCallback.java @@ -27,8 +27,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ interface HandshakeCallback { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeModel.java b/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeModel.java index 8a5012ab32..db791fe015 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeModel.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/security/HandshakeModel.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HandshakeModel { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/security/SslService.java b/bus-socket/src/main/java/org/aoju/bus/socket/security/SslService.java index 63f4a01031..471a5051de 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/security/SslService.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/security/SslService.java @@ -43,8 +43,8 @@ * keytool -genkey -validity 36000 -alias www.aoju.org -keyalg RSA -keystore server.keystore * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SslService { @@ -107,24 +107,6 @@ public X509Certificate[] getAcceptedIssuers() { } } - private final CompletionHandler handshakeCompletionHandler = new CompletionHandler() { - @Override - public void completed(Integer result, HandshakeModel attachment) { - if (result == -1) { - attachment.setEof(true); - } - synchronized (attachment) { - doHandshake(attachment); - } - } - - @Override - public void failed(Throwable exc, HandshakeModel attachment) { - attachment.setEof(true); - attachment.getHandshakeCallback().callback(); - } - }; - HandshakeModel createSSLEngine(AsynchronousSocketChannel socketChannel, PageBuffer pageBuffer) { try { HandshakeModel handshakeModel = new HandshakeModel(); @@ -161,6 +143,24 @@ HandshakeModel createSSLEngine(AsynchronousSocketChannel socketChannel, PageBuff } + private final CompletionHandler handshakeCompletionHandler = new CompletionHandler() { + @Override + public void completed(Integer result, HandshakeModel attachment) { + if (result == -1) { + attachment.setEof(true); + } + synchronized (attachment) { + doHandshake(attachment); + } + } + + @Override + public void failed(Throwable exc, HandshakeModel attachment) { + attachment.setEof(true); + attachment.getHandshakeCallback().callback(); + } + }; + /** * 纯异步实现的SSL握手, * 在执行doHandshake期间必须保证当前通道无数据读写正在执行。 diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/security/SslSocketChannel.java b/bus-socket/src/main/java/org/aoju/bus/socket/security/SslSocketChannel.java index 30f113d9e0..e3b6c30982 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/security/SslSocketChannel.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/security/SslSocketChannel.java @@ -42,8 +42,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SslSocketChannel extends AsynchronousSocketChannelProxy { diff --git a/bus-socket/src/main/java/org/aoju/bus/socket/security/package-info.java b/bus-socket/src/main/java/org/aoju/bus/socket/security/package-info.java index 2ba7999a3a..14bd84cad3 100644 --- a/bus-socket/src/main/java/org/aoju/bus/socket/security/package-info.java +++ b/bus-socket/src/main/java/org/aoju/bus/socket/security/package-info.java @@ -2,7 +2,7 @@ * 提供通信服务安全实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.socket.security; \ No newline at end of file diff --git a/bus-starter/README.md b/bus-starter/README.md index 36962ed427..58d85c4016 100755 --- a/bus-starter/README.md +++ b/bus-starter/README.md @@ -37,28 +37,28 @@ 12. 启用 Elasticsearch 注解形式 `@EnableElastic` + 使用步骤 - + 第一步: 在 application.yml 中配置 elasticsearch 集群信息,基本如下: - - ```yaml - # ElasticSearch 配置 - extend: - elastic: - hosts: 192.168.100.126:29200 - schema: http - connect-timeout: 60000 - socket-timeout: 60000 - connection-request-timeout: 60000 - max-connect-total: 2000 - max-connect-per-route: 500 - ``` - + 第二步: 在业务 Service 实现类中注入 RestHighLevelClient - ```java - @Autowired - private RestHighLevelClient restHighLevelClient; - ``` - + 第三步: 在程序主入口 Application 加入注解: - ```java - @EnableElastic - ``` + + 第一步: 在 application.yml 中配置 elasticsearch 集群信息,基本如下: + + ```yaml + # ElasticSearch 配置 + extend: + elastic: + hosts: 192.168.100.126:29200 + schema: http + connect-timeout: 60000 + socket-timeout: 60000 + connection-request-timeout: 60000 + max-connect-total: 2000 + max-connect-per-route: 500 + ``` + + 第二步: 在业务 Service 实现类中注入 RestHighLevelClient + ```java + @Autowired + private RestHighLevelClient restHighLevelClient; + ``` + + 第三步: 在程序主入口 Application 加入注解: + ```java + @EnableElastic + ``` 13. ... \ No newline at end of file diff --git a/bus-starter/pom.xml b/bus-starter/pom.xml index 1c55b8b69d..17350ec580 100755 --- a/bus-starter/pom.xml +++ b/bus-starter/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-starter - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.6.3 1.18.22 1.9.6 @@ -54,7 +54,6 @@ 2.0.1.Final 4.2 8.0.28 - 1.2.8 3.0.5 4.0.1 7.14.1 @@ -229,12 +228,6 @@ ${mysql.version} true - - com.alibaba - druid - ${druid.version} - true - com.google.guava guava @@ -314,7 +307,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -323,7 +316,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -357,7 +350,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -370,7 +363,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -384,7 +377,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/BusXBuilder.java b/bus-starter/src/main/java/org/aoju/bus/starter/BusXBuilder.java index ebe5f2578f..cc01d7a662 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/BusXBuilder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/BusXBuilder.java @@ -29,8 +29,8 @@ * 全局常量配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BusXBuilder { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/BusXExtend.java b/bus-starter/src/main/java/org/aoju/bus/starter/BusXExtend.java index e57a5f1c7d..7ed2218da7 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/BusXExtend.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/BusXExtend.java @@ -31,8 +31,8 @@ * 全局扩展配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BusXExtend { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/BusXHolder.java b/bus-starter/src/main/java/org/aoju/bus/starter/BusXHolder.java index 8736d53a23..cefb56da53 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/BusXHolder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/BusXHolder.java @@ -33,8 +33,8 @@ * 扫描包配置项及其他属性等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ComponentScan("org.aoju.**") @Order(Ordered.HIGHEST_PRECEDENCE) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/Configurable.java b/bus-starter/src/main/java/org/aoju/bus/starter/Configurable.java index 9a3bbddfd2..87cc89a409 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/Configurable.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/Configurable.java @@ -41,8 +41,8 @@ * 将作为一个名为PropertiesPropertySource的属性源添加 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(Ordered.LOWEST_PRECEDENCE - 100) public class Configurable implements EnvironmentPostProcessor { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/GenieBuilder.java b/bus-starter/src/main/java/org/aoju/bus/starter/GenieBuilder.java index 3ec8da929f..cb3ad4a8cc 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/GenieBuilder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/GenieBuilder.java @@ -45,8 +45,8 @@ * 启动监听器,初始化相关配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class GenieBuilder implements ApplicationListener, diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/PlaceBinder.java b/bus-starter/src/main/java/org/aoju/bus/starter/PlaceBinder.java index 7c309fa8d0..5c855e7a59 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/PlaceBinder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/PlaceBinder.java @@ -38,8 +38,8 @@ * 返回值信息处理. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface PlaceBinder { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/PlaceHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/PlaceHandler.java index 7e5011237c..d0cd318f4c 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/PlaceHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/PlaceHandler.java @@ -36,8 +36,8 @@ * 拦截响应的代理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PlaceHandler implements InvocationHandler { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/SpringBuilder.java b/bus-starter/src/main/java/org/aoju/bus/starter/SpringBuilder.java index 8d55eaaac9..cdc41a620a 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/SpringBuilder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/SpringBuilder.java @@ -38,6 +38,7 @@ import org.springframework.beans.factory.support.DefaultSingletonBeanRegistry; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; +import org.springframework.context.ApplicationEvent; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.ResolvableType; import org.springframework.stereotype.Component; @@ -47,11 +48,11 @@ import java.util.Map; /** - * 设置相关系统参数信息. + * 设置相关系统参数信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Component public class SpringBuilder implements ApplicationContextAware { @@ -72,6 +73,17 @@ public static void setContext(ConfigurableApplicationContext context) { SpringHolder.alive = true; } + /** + * 发布事件 + * + * @param event 待发布的事件,事件必须是{@link ApplicationEvent}的子类 + */ + public static void publishEvent(ApplicationEvent event) { + if (null != context) { + context.publishEvent(event); + } + } + /** * 获取{@link ListableBeanFactory},可能为{@link ConfigurableListableBeanFactory} 或 {@link ApplicationContextAware} * @@ -261,6 +273,18 @@ public static void removeContext() { } } + /** + * 发布事件 + * Spring 4.2+ 版本事件可以不再是{@link ApplicationEvent}的子类 + * + * @param event 待发布的事件 + */ + public static void publishEvent(Object event) { + if (null != context) { + context.publishEvent(event); + } + } + /** * 获取应用程序名称 * diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/SpringHolder.java b/bus-starter/src/main/java/org/aoju/bus/starter/SpringHolder.java index ccc2902557..cc706c19b2 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/SpringHolder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/SpringHolder.java @@ -29,8 +29,8 @@ * 上下文等信息持有者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SpringHolder { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableBridge.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableBridge.java index 898103e73c..eb2c283912 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableBridge.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableBridge.java @@ -34,8 +34,8 @@ * 启用配置中心 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCache.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCache.java index 47a71fd776..e743aa7d73 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCache.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCache.java @@ -34,8 +34,8 @@ * 启用缓存支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCors.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCors.java index 01ec311ce9..94b0ec3a00 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCors.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableCors.java @@ -34,8 +34,8 @@ * 启用跨域支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableDubbo.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableDubbo.java index e170be6647..73e5e79e39 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableDubbo.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableDubbo.java @@ -37,8 +37,8 @@ * 启用Dubbo支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableElastic.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableElastic.java index 993387a4c0..98fe05a831 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableElastic.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableElastic.java @@ -34,8 +34,8 @@ *

    @description 启用 ElasticSearch

    * * @author
    Sixawn.ZHENG - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableGoalie.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableGoalie.java index 9aa9fa666c..1b160e023d 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableGoalie.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableGoalie.java @@ -34,8 +34,8 @@ * 启用路由匹配 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableI18n.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableI18n.java index a4f5ef9442..a2a4f79e64 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableI18n.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableI18n.java @@ -35,8 +35,8 @@ * 启用国际化支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableImage.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableImage.java index 8d36c3a7db..e156618977 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableImage.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableImage.java @@ -34,8 +34,8 @@ * 启用图像解析 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableJdbc.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableJdbc.java index c0a055b441..6f9125ed62 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableJdbc.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableJdbc.java @@ -34,8 +34,8 @@ * 启用Druid 支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableLimiter.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableLimiter.java index 74766fb8bc..40b7547a03 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableLimiter.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableLimiter.java @@ -36,8 +36,8 @@ * 启用限流降级 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableMapper.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableMapper.java index e702dbd384..75dc536c65 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableMapper.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableMapper.java @@ -39,8 +39,8 @@ * 开启 Mybatis/Mapper * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableNotify.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableNotify.java index 7c4d9507d3..0155a2caf2 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableNotify.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableNotify.java @@ -34,8 +34,8 @@ * 启用消息通知 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOAuth2.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOAuth2.java index 5e3752a567..b75ace7846 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOAuth2.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOAuth2.java @@ -34,8 +34,8 @@ * 启用第三方授权 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOffice.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOffice.java index d307bf25ed..2c4e14aeba 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOffice.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableOffice.java @@ -34,8 +34,8 @@ * 启用在线预览 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSensitive.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSensitive.java index aeacdeb91f..dc0311442d 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSensitive.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSensitive.java @@ -34,8 +34,8 @@ * 启用数据脱敏 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSocket.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSocket.java index 27d8285ad0..34c069bd59 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSocket.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableSocket.java @@ -34,8 +34,8 @@ * 启用WebSocket * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableStorage.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableStorage.java index 317306937d..ae3c458ccc 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableStorage.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableStorage.java @@ -34,8 +34,8 @@ * 启用OSS存储 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableTracer.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableTracer.java index 7e088e7a86..bfea146979 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableTracer.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableTracer.java @@ -34,8 +34,8 @@ * 启用链路追踪 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableValidate.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableValidate.java index 01bd693705..e2fbdfab7d 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableValidate.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableValidate.java @@ -34,8 +34,8 @@ * 启用数据校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableWrapper.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableWrapper.java index edcc34b153..0e0dd50626 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableWrapper.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/EnableWrapper.java @@ -34,8 +34,8 @@ * 启用Request/Response请求包装 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Inherited @Documented diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/package-info.java index f74333d596..b5d2aacebd 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/annotation/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/annotation/package-info.java @@ -2,7 +2,7 @@ * 启用注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.annotation; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/banner/AbstractBanner.java b/bus-starter/src/main/java/org/aoju/bus/starter/banner/AbstractBanner.java index 058a05e096..ed0b9a5ad5 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/banner/AbstractBanner.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/banner/AbstractBanner.java @@ -35,8 +35,8 @@ * 旗标生成器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractBanner { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/banner/BusBanner.java b/bus-starter/src/main/java/org/aoju/bus/starter/banner/BusBanner.java index 3c8dbcec65..69a87f98ba 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/banner/BusBanner.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/banner/BusBanner.java @@ -39,8 +39,8 @@ * 旗标生成器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BusBanner implements Banner { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/banner/Description.java b/bus-starter/src/main/java/org/aoju/bus/starter/banner/Description.java index 77ab524745..6bd205b2f3 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/banner/Description.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/banner/Description.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Description { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/banner/ImageBanner.java b/bus-starter/src/main/java/org/aoju/bus/starter/banner/ImageBanner.java index 6eaaf9c375..3e864c4a82 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/banner/ImageBanner.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/banner/ImageBanner.java @@ -43,8 +43,8 @@ * ASCII艺术产生的图像文件 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ImageBanner { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/banner/VersionBanner.java b/bus-starter/src/main/java/org/aoju/bus/starter/banner/VersionBanner.java index 8501992d13..84d8440eac 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/banner/VersionBanner.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/banner/VersionBanner.java @@ -29,8 +29,8 @@ * 版本旗标生成 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class VersionBanner extends AbstractBanner { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/banner/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/banner/package-info.java index 14870d2a6e..f6dcff23ad 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/banner/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/banner/package-info.java @@ -2,7 +2,7 @@ * 启动 banner * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.banner; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeConfiguration.java index b390ac0f86..efc79aabc7 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeConfiguration.java @@ -35,8 +35,8 @@ * 配置中心 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(BridgeProperties.class) @Import({BridgePropertyLoader.class}) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeProperties.java index 8a67a4423a..e7ebfe80cd 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeProperties.java @@ -33,8 +33,8 @@ * 配置中心相关配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.BRIDGE) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgePropertyLoader.java b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgePropertyLoader.java index 796935cf06..474e1fe1a3 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgePropertyLoader.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgePropertyLoader.java @@ -20,8 +20,8 @@ * 客户端-配置中心 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BridgePropertyLoader implements PropertySourceLoader, Ordered { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeVerticleService.java b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeVerticleService.java index f4abef40c0..19c21b8d35 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeVerticleService.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/BridgeVerticleService.java @@ -40,8 +40,8 @@ * 服务端-配置中心 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BridgeVerticleService extends AbstractVerticle { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/Resolvable.java b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/Resolvable.java index 4aa7e279bd..3aec3b0c52 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/bridge/Resolvable.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/bridge/Resolvable.java @@ -29,8 +29,8 @@ * 服务端-信息处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Resolvable { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cache/AspectjCacheProxy.java b/bus-starter/src/main/java/org/aoju/bus/starter/cache/AspectjCacheProxy.java index 5c921e5076..ce8e5dd4f1 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cache/AspectjCacheProxy.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cache/AspectjCacheProxy.java @@ -45,8 +45,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Aspect public class AspectjCacheProxy { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheConfiguration.java index bcec517c0c..37af6cab5b 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheConfiguration.java @@ -38,8 +38,8 @@ * 缓存配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {CacheProperties.class}) public class CacheConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheProperties.java index f96136c0e0..3e610468b4 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheProperties.java @@ -37,8 +37,8 @@ * 缓存相关配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.CACHE) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheXProxy.java b/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheXProxy.java index d6caa57e8d..e704e33882 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheXProxy.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cache/CacheXProxy.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CacheXProxy implements FactoryBean { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cache/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/cache/package-info.java index 3dc33c015f..0bbb11d9e5 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cache/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cache/package-info.java @@ -2,7 +2,7 @@ * 缓存管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.cache; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsConfiguration.java index ce16c865ff..a4c729d7f2 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsConfiguration.java @@ -40,8 +40,8 @@ * Cors 跨域支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {CorsProperties.class}) public class CorsConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsProperties.java index 66e73901ad..8318024d95 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cors/CorsProperties.java @@ -35,8 +35,8 @@ * Core 跨域相关配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(BusXExtend.CORS) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/cors/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/cors/package-info.java index 1a5e8cd3f1..75824bea4c 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/cors/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/cors/package-info.java @@ -2,7 +2,7 @@ * 跨域管理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.cors; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboConfiguration.java index 9501736f6d..04650c05e7 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboConfiguration.java @@ -31,8 +31,8 @@ * Dubbo自动配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {DubboProperties.class}) public class DubboConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboProperties.java index b014faae2d..2cd049c373 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/DubboProperties.java @@ -35,8 +35,8 @@ * Dubbo配置项 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.DUBBO) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/package-info.java index 30a3001c63..e9351027f2 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/dubbo/package-info.java @@ -2,7 +2,7 @@ * dubbo支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.dubbo; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticConfiguration.java index 9950e541db..32799c0c4d 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticConfiguration.java @@ -46,8 +46,8 @@ *

    @description ElasticSearch 规则配置

    * * @author Sixawn.ZHENG - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(ElasticProperties.class) public class ElasticConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticProperties.java index 8a8c09cb0e..ae3fd9d301 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/elastic/ElasticProperties.java @@ -38,8 +38,8 @@ *

    @description ElasticSearch 配置属性类

    * * @author Sixawn.ZHENG - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.ELASTIC) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieConfiguration.java index b3ac6327a9..4b73ed0e5a 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieConfiguration.java @@ -62,8 +62,8 @@ * 路由自动配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8++ + * @version 6.5.0 + * @since Java 17++ */ @ConditionalOnWebApplication @EnableConfigurationProperties(value = {GoalieProperties.class}) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieProperties.java index 8cc3298a91..6fb427f57b 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/goalie/GoalieProperties.java @@ -34,8 +34,8 @@ * 路由配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(BusXExtend.GOALIE) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/goalie/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/goalie/package-info.java index 651c3d7ec7..738878b47b 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/goalie/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/goalie/package-info.java @@ -2,7 +2,7 @@ * 全局访问网关 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.goalie; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nConfiguration.java index 1ae0c5abd0..0694bbbbf5 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nConfiguration.java @@ -39,8 +39,8 @@ * 国际化配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {I18nProperties.class}) public class I18nConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nMessage.java b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nMessage.java index 562554a813..d9eeafbdfd 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nMessage.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nMessage.java @@ -35,8 +35,8 @@ * key = value * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Component public class I18nMessage { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nProperties.java index 3c2c810546..5c5d675bc4 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/I18nProperties.java @@ -33,8 +33,8 @@ * 国际化资源配置属性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(BusXExtend.I18N) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/package-info.java index a7f3c05dd7..8ff050c8f5 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/i18n/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/i18n/package-info.java @@ -2,7 +2,7 @@ * 国际化支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.i18n; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageConfiguration.java index 2a4e1b855f..e5a64c3eff 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageConfiguration.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {ImageProperties.class}) public class ImageConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageProperties.java index be1bc9aa8c..f3b1f474ce 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/image/ImageProperties.java @@ -35,8 +35,8 @@ * 影像解析配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EnableConfigurationProperties(value = {ImageProperties.Node.class}) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/image/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/image/package-info.java index edacbb8ea1..fbcd42f97a 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/image/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/image/package-info.java @@ -2,7 +2,7 @@ * 图形图像支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.image; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/AspectjJdbcProxy.java b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/AspectjJdbcProxy.java index 32cdcfc3a8..460acaa8bf 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/AspectjJdbcProxy.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/AspectjJdbcProxy.java @@ -40,8 +40,8 @@ * AOP切面切点 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(-1) @Aspect diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSource.java b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSource.java index e844f21382..805ee7a6a7 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSource.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSource.java @@ -31,8 +31,8 @@ * 多数据源支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.METHOD, ElementType.TYPE, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSourceHolder.java b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSourceHolder.java index 9ad626b0fe..e7ff732d78 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSourceHolder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DataSourceHolder.java @@ -41,8 +41,8 @@ * 数据源信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DataSourceHolder { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DynamicDataSource.java b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DynamicDataSource.java index 7069822404..0c3023ed23 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DynamicDataSource.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/DynamicDataSource.java @@ -39,8 +39,8 @@ * 多数据源支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DynamicDataSource extends AbstractRoutingDataSource { @@ -48,11 +48,11 @@ public class DynamicDataSource extends AbstractRoutingDataSource { * 所有数据源的key集合 */ private static final Set keySet = new LinkedHashSet<>(); + private static final byte[] lock = Normal.EMPTY_BYTE_ARRAY; /** * 单例句柄 */ private static DynamicDataSource instance; - private static final byte[] lock = Normal.EMPTY_BYTE_ARRAY; /** * 单例方法 diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcConfiguration.java index 84c5008dab..32d6f195bd 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcConfiguration.java @@ -25,7 +25,6 @@ ********************************************************************************/ package org.aoju.bus.starter.jdbc; -import com.alibaba.druid.pool.DruidDataSource; import com.google.common.collect.Maps; import com.zaxxer.hikari.HikariDataSource; import org.aoju.bus.core.lang.Algorithm; @@ -61,10 +60,10 @@ * 数据源配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ -@ConditionalOnClass(value = {HikariDataSource.class, DruidDataSource.class}) +@ConditionalOnClass(value = {HikariDataSource.class}) @EnableConfigurationProperties(JdbcProperties.class) @AutoConfigureBefore(DataSourceAutoConfiguration.class) @Import(AspectjJdbcProxy.class) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcProperties.java index 3153a92bcc..199d531331 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/JdbcProperties.java @@ -35,8 +35,8 @@ * Druid 配置项 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.DATASOURCE) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/package-info.java index 5ed375cc3b..d91048296c 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/jdbc/package-info.java @@ -2,7 +2,7 @@ * 数据源支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.jdbc; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/AbstractLimiterAware.java b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/AbstractLimiterAware.java index 8667cf4621..19fd2895f1 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/AbstractLimiterAware.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/AbstractLimiterAware.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractLimiterAware implements ImportAware { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterAwareHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterAwareHandler.java index b462ea775e..00ca289106 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterAwareHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterAwareHandler.java @@ -49,8 +49,8 @@ * 限流配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public class LimiterAwareHandler extends AbstractLimiterAware implements ResourceLoaderAware { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterConfiguration.java index aa93d4a31c..46af99c014 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/LimiterConfiguration.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LimiterConfiguration extends AdviceModeImportSelector { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/package-info.java index ade1910e43..7475c773d4 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/limiter/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/limiter/package-info.java @@ -2,7 +2,7 @@ * 流量管控 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.limiter; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/AbstractSqlParserHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/AbstractSqlParserHandler.java index c882f57ffd..b1f43f604e 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/AbstractSqlParserHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/AbstractSqlParserHandler.java @@ -47,8 +47,8 @@ * 抽象 SQL 解析类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractSqlParserHandler extends AbstractSqlHandler { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/ExplainSqlHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/ExplainSqlHandler.java index 7f71505d88..adbee52a92 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/ExplainSqlHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/ExplainSqlHandler.java @@ -46,8 +46,8 @@ * 防止全表更新与删除 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Intercepts({@Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class})}) public class ExplainSqlHandler extends AbstractSqlParserHandler implements Interceptor { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/IllegalSqlHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/IllegalSqlHandler.java index 8ec43e93d1..0feddcd0a2 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/IllegalSqlHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/IllegalSqlHandler.java @@ -83,8 +83,8 @@ *

    7.where条件使用了 使用子查询

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})}) public class IllegalSqlHandler extends AbstractSqlParserHandler implements Interceptor { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisPluginBuilder.java b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisPluginBuilder.java index 898f0ba0d1..381854efaa 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisPluginBuilder.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisPluginBuilder.java @@ -44,8 +44,8 @@ * mybatis 插件启用 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MybatisPluginBuilder { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisProperties.java index a0b0e90004..4919fb69cc 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/MybatisProperties.java @@ -20,8 +20,8 @@ * mybatis配置项 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.MYBATIS) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/NatureSqlHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/NatureSqlHandler.java index ef1a46b47e..cc626de28d 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/NatureSqlHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/NatureSqlHandler.java @@ -53,8 +53,8 @@ * 数据库操作性能拦截器,记录耗时 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Intercepts(value = { @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}), diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/package-info.java index f1f032ae94..813accb193 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/mapper/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/mapper/package-info.java @@ -2,7 +2,7 @@ * mapper持久化支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.mapper; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyConfiguration.java index 0367dcb545..f2fc0c3ac7 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyConfiguration.java @@ -32,8 +32,8 @@ * 消息通知配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {NotifyProperties.class}) public class NotifyConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProperties.java index a4c3becd74..9f4e0a2773 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProperties.java @@ -39,8 +39,8 @@ * 2. 通过set形式设置(动态/DB等) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.NOTIFY) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProviderService.java b/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProviderService.java index 28f8f9d7a7..41a621398b 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProviderService.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/notify/NotifyProviderService.java @@ -43,8 +43,8 @@ * 通知提供服务 * * @author Justubborn - * @version 6.3.5 - * @since JDK1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotifyProviderService { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/notify/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/notify/package-info.java index d512285d12..9f06e9fbc4 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/notify/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/notify/package-info.java @@ -2,7 +2,7 @@ * 消息通知支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.notify; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthConfiguration.java index 40af1388fb..d085da7da3 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthConfiguration.java @@ -37,8 +37,8 @@ * 授权配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {AuthProperties.class}) public class AuthConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProperties.java index a3b9f4ce65..8068580191 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProperties.java @@ -41,8 +41,8 @@ * 2. 通过set形式设置(动态/DB等) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.OAUTH) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProviderService.java b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProviderService.java index 13902d8cc8..fbf1be7a54 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProviderService.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/AuthProviderService.java @@ -42,8 +42,8 @@ * 授权服务提供 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AuthProviderService { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/package-info.java index 63050bc961..07f62b7a50 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/oauth/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/oauth/package-info.java @@ -2,7 +2,7 @@ * Oauth2授权支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.oauth; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeConfiguration.java index 1133c4e29f..a3bc27f032 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeConfiguration.java @@ -47,8 +47,8 @@ * 文档在线预览配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ConditionalOnClass({LocalOfficeProvider.class, OnlineOfficeProvider.class}) @EnableConfigurationProperties(OfficeProperties.class) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProperties.java index 3bc88c9fc9..8a4780e105 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProperties.java @@ -38,8 +38,8 @@ * 文档预览配置类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.OFFICE) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProviderService.java b/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProviderService.java index fedfc55a1d..de843b927a 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProviderService.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/office/OfficeProviderService.java @@ -38,8 +38,8 @@ * 文档在线预览服务提供 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Component @RequiredArgsConstructor diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/office/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/office/package-info.java index 81c9390d89..31c52672f4 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/office/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/office/package-info.java @@ -2,7 +2,7 @@ * Office服务支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.office; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/package-info.java index ef7ee5d9dc..8f2fed3c5b 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/package-info.java @@ -2,7 +2,7 @@ * spring starter 启动相关实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/RequestBodyAdvice.java b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/RequestBodyAdvice.java index 1852bb5957..ead78e65a4 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/RequestBodyAdvice.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/RequestBodyAdvice.java @@ -50,8 +50,8 @@ * 对加了@P的方法的数据进行解密密操作 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RequestBodyAdvice extends BaseAdvice implements org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdvice { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/ResponseBodyAdvice.java b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/ResponseBodyAdvice.java index e07490933a..ef2fa9fa67 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/ResponseBodyAdvice.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/ResponseBodyAdvice.java @@ -57,8 +57,8 @@ * 对加了@Encrypt的方法的数据进行加密操作 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ResponseBodyAdvice extends BaseAdvice implements org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveConfiguration.java index 9710ced900..7372bf4b8f 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveConfiguration.java @@ -32,8 +32,8 @@ * 脱敏配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {SensitiveProperties.class}) @Import({RequestBodyAdvice.class, ResponseBodyAdvice.class}) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveProperties.java index 8fd79df51d..1daa3bd653 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveProperties.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EnableConfigurationProperties(value = {SensitiveProperties.Encrypt.class, SensitiveProperties.Decrypt.class}) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveResultSetHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveResultSetHandler.java index fbd693ea02..c74c9abcff 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveResultSetHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveResultSetHandler.java @@ -53,7 +53,7 @@ * * @author Kimi Liu * @version 6.0.6 - * @since JDK 1.8+ + * @since Java 17+ */ @Intercepts({@Signature(type = ResultSetHandler.class, method = "handleResultSets", args = {java.sql.Statement.class})}) public class SensitiveResultSetHandler extends AbstractSqlHandler implements Interceptor { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveStatementHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveStatementHandler.java index 566f7faa9c..05004a16f2 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveStatementHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/SensitiveStatementHandler.java @@ -58,7 +58,7 @@ * * @author Kimi Liu * @version 6.0.6 - * @since JDK 1.8+ + * @since Java 17+ */ @Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})}) public class SensitiveStatementHandler extends AbstractSqlHandler implements Interceptor { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/package-info.java index 01331c86bd..dcc954d31e 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/sensitive/package-info.java @@ -2,7 +2,7 @@ * 数据脱敏 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.sensitive; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketConfiguration.java index 33b7080793..db8083081a 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketConfiguration.java @@ -33,8 +33,8 @@ * Socket配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(SocketProperties.class) public class SocketConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketProperties.java index 6b9b31df97..e07f054119 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketProperties.java @@ -35,8 +35,8 @@ * 2. 可以自己从写部分类等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.SOCKET) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketQuickService.java b/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketQuickService.java index 2cdcc22a97..ce2c46d6ca 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketQuickService.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/socket/SocketQuickService.java @@ -9,8 +9,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SocketQuickService { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/socket/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/socket/package-info.java index 0c5e5c5acc..39947f0d4b 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/socket/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/socket/package-info.java @@ -2,7 +2,7 @@ * Socket服务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.socket; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageConfiguration.java index 60434ece0e..03d8cddd96 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageConfiguration.java @@ -37,8 +37,8 @@ * 授权配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties(value = {StorageProperties.class}) public class StorageConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProperties.java index 5b5edddfbd..746b87eb8c 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProperties.java @@ -41,8 +41,8 @@ * 2. 通过set形式设置(动态/DB等) * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.STORAGE) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProviderService.java b/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProviderService.java index bfb098f196..f65818dca3 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProviderService.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/storage/StorageProviderService.java @@ -42,8 +42,8 @@ * 存储服务提供 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class StorageProviderService { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/storage/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/storage/package-info.java index a5eb4c64e7..7306d43a0e 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/storage/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/storage/package-info.java @@ -2,7 +2,7 @@ * 对象存储服务 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.storage; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/MethodExecuteCostHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/MethodExecuteCostHandler.java index b0621e40a6..e93ac494ec 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/MethodExecuteCostHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/MethodExecuteCostHandler.java @@ -32,8 +32,8 @@ * 方法执行耗时统计 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Component @Aspect diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerConfiguration.java index 86a4611aef..511b2d02b0 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerConfiguration.java @@ -55,8 +55,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @ConditionalOnWebApplication @ConditionalOnClass({Tracer.class, RestTemplate.class}) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerProperties.java index 94fd00ff46..5723cf9468 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/TracerProperties.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TracerProperties { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/package-info.java index 9c33b3194f..6af2e3973e 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/tracer/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/tracer/package-info.java @@ -2,7 +2,7 @@ * 调用链路支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.tracer; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/validate/AspectjValidateProxy.java b/bus-starter/src/main/java/org/aoju/bus/starter/validate/AspectjValidateProxy.java index b16c1bf5ee..f00e1bd478 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/validate/AspectjValidateProxy.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/validate/AspectjValidateProxy.java @@ -36,8 +36,8 @@ * AOP切面切点 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order(99) @Aspect diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/validate/AutoValidateAdvice.java b/bus-starter/src/main/java/org/aoju/bus/starter/validate/AutoValidateAdvice.java index 898fa5620d..aaa1169a3f 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/validate/AutoValidateAdvice.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/validate/AutoValidateAdvice.java @@ -38,8 +38,8 @@ * 自动进行参数处理实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AutoValidateAdvice { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/validate/ValidateConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/validate/ValidateConfiguration.java index 6540228b9d..a56e372b3d 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/validate/ValidateConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/validate/ValidateConfiguration.java @@ -31,8 +31,8 @@ * 数据校验配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Import(AspectjValidateProxy.class) public class ValidateConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/validate/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/validate/package-info.java index dbbbe597d1..63079c499a 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/validate/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/validate/package-info.java @@ -2,7 +2,7 @@ * 参数校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.validate; \ No newline at end of file diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheRequestWrapper.java b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheRequestWrapper.java index 7738ad7170..33c239b2fd 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheRequestWrapper.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheRequestWrapper.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CacheRequestWrapper extends HttpServletRequestWrapper { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheResponseWrapper.java b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheResponseWrapper.java index 214257aedd..1e5a8367ba 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheResponseWrapper.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/CacheResponseWrapper.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CacheResponseWrapper extends HttpServletResponseWrapper { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/GenieWrapperHandler.java b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/GenieWrapperHandler.java index 012d07d4fc..9bbb4ffbb4 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/GenieWrapperHandler.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/GenieWrapperHandler.java @@ -46,8 +46,8 @@ * 对于某些处理程序组,添加常见的预处理行为不需要修改每个处理程序实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Component @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperConfiguration.java b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperConfiguration.java index 35f540357e..a4ddbb2cf3 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperConfiguration.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperConfiguration.java @@ -46,8 +46,8 @@ * Xss/重复读取等配置 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @EnableConfigurationProperties({WrapperProperties.class}) public class WrapperConfiguration { diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperProperties.java b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperProperties.java index ccc9adaaba..02d987dea4 100755 --- a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperProperties.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/WrapperProperties.java @@ -39,8 +39,8 @@ * 配置信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @ConfigurationProperties(prefix = BusXExtend.WRAPPER) diff --git a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/package-info.java b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/package-info.java index 666210e66d..65c1b18e17 100644 --- a/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/package-info.java +++ b/bus-starter/src/main/java/org/aoju/bus/starter/wrapper/package-info.java @@ -2,7 +2,7 @@ * 重复读取等支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.starter.wrapper; \ No newline at end of file diff --git a/bus-storage/pom.xml b/bus-storage/pom.xml index 6f0e9a366c..cba03b547a 100755 --- a/bus-storage/pom.xml +++ b/bus-storage/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-storage - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 3.4.2 0.10.48 @@ -152,7 +152,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -161,7 +161,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -195,7 +195,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -208,7 +208,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -222,7 +222,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/Builder.java b/bus-storage/src/main/java/org/aoju/bus/storage/Builder.java index e46e4b6cf8..d6eb042994 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/Builder.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/Builder.java @@ -34,8 +34,8 @@ * 框架内预定义的存储信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Builder { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/Context.java b/bus-storage/src/main/java/org/aoju/bus/storage/Context.java index fec919e0cc..2408217443 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/Context.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/Context.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @Builder diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/Provider.java b/bus-storage/src/main/java/org/aoju/bus/storage/Provider.java index c49abd3d4c..00867b33c0 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/Provider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/Provider.java @@ -35,8 +35,8 @@ * 文件存储提供者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Provider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/Registry.java b/bus-storage/src/main/java/org/aoju/bus/storage/Registry.java index 695cdd05f7..d7ab124935 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/Registry.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/Registry.java @@ -29,8 +29,8 @@ * 平台类型 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum Registry { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/magic/Attachs.java b/bus-storage/src/main/java/org/aoju/bus/storage/magic/Attachs.java index 413248ea7d..95a2c0db59 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/magic/Attachs.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/magic/Attachs.java @@ -36,8 +36,8 @@ * 附件信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @AllArgsConstructor diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/magic/Message.java b/bus-storage/src/main/java/org/aoju/bus/storage/magic/Message.java index 86d496d0ce..e9ae0a7463 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/magic/Message.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/magic/Message.java @@ -32,8 +32,8 @@ * 响应结果 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Getter @Builder diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/magic/package-info.java b/bus-storage/src/main/java/org/aoju/bus/storage/magic/package-info.java index 5e5e72411f..447c8a0ba6 100644 --- a/bus-storage/src/main/java/org/aoju/bus/storage/magic/package-info.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/magic/package-info.java @@ -2,7 +2,7 @@ * OSS存储基础支持 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.storage.magic; \ No newline at end of file diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/metric/StorageCache.java b/bus-storage/src/main/java/org/aoju/bus/storage/metric/StorageCache.java index d1cf7bc62e..af32537aa7 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/metric/StorageCache.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/metric/StorageCache.java @@ -33,8 +33,8 @@ * 默认缓存实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public enum StorageCache implements ExtendCache { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/metric/package-info.java b/bus-storage/src/main/java/org/aoju/bus/storage/metric/package-info.java index dd8cd07f64..187fdf7a79 100644 --- a/bus-storage/src/main/java/org/aoju/bus/storage/metric/package-info.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/metric/package-info.java @@ -2,7 +2,7 @@ * OSS存储缓存机制 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.storage.metric; \ No newline at end of file diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/package-info.java b/bus-storage/src/main/java/org/aoju/bus/storage/package-info.java index 0da7b87f0a..aeb210031f 100644 --- a/bus-storage/src/main/java/org/aoju/bus/storage/package-info.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/package-info.java @@ -2,7 +2,7 @@ * OSS对象存储服务,包括图片管理,文件,视频等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.storage; \ No newline at end of file diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/AbstractProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/AbstractProvider.java index f8c5c78b56..1f08eac146 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/AbstractProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/AbstractProvider.java @@ -43,8 +43,8 @@ * 预定义存储实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractProvider implements Provider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/AliYunOssProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/AliYunOssProvider.java index 3090941713..3e3e4500df 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/AliYunOssProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/AliYunOssProvider.java @@ -48,8 +48,8 @@ * 存储服务-阿里云 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class AliYunOssProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/BaiduYunBosProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/BaiduYunBosProvider.java index 11f014feb3..a46dda1889 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/BaiduYunBosProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/BaiduYunBosProvider.java @@ -49,8 +49,8 @@ * 存储服务-百度云 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BaiduYunBosProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/HuaweiObsProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/HuaweiObsProvider.java index 4a8990a990..cb08f433ec 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/HuaweiObsProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/HuaweiObsProvider.java @@ -47,8 +47,8 @@ * 存储服务-华为云 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HuaweiObsProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/JdYunOssProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/JdYunOssProvider.java index b0b62a07d9..b9bc371e1e 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/JdYunOssProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/JdYunOssProvider.java @@ -54,8 +54,8 @@ * 存储服务-京东云 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class JdYunOssProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/LocalFileProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/LocalFileProvider.java index 5622911a88..d10a8707d9 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/LocalFileProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/LocalFileProvider.java @@ -44,8 +44,8 @@ * 本地文件上传 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LocalFileProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/MinioOssProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/MinioOssProvider.java index ce5179009d..81d9a15c6d 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/MinioOssProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/MinioOssProvider.java @@ -55,8 +55,8 @@ * 存储服务-MinIO * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MinioOssProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/QiniuYunOssProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/QiniuYunOssProvider.java index 74deed2cfd..1286c2d02c 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/QiniuYunOssProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/QiniuYunOssProvider.java @@ -53,8 +53,8 @@ * 存储服务-七牛 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class QiniuYunOssProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/TencentCosProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/TencentCosProvider.java index 3cf4af6d3f..d299c038be 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/TencentCosProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/TencentCosProvider.java @@ -51,8 +51,8 @@ * 存储服务-腾讯云 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TencentCosProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/UpaiYunOssProvider.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/UpaiYunOssProvider.java index 28b9fa4468..089a0f5d29 100755 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/UpaiYunOssProvider.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/UpaiYunOssProvider.java @@ -47,8 +47,8 @@ * 存储服务-又拍云 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class UpaiYunOssProvider extends AbstractProvider { diff --git a/bus-storage/src/main/java/org/aoju/bus/storage/provider/package-info.java b/bus-storage/src/main/java/org/aoju/bus/storage/provider/package-info.java index c88fdbb986..406e9c3798 100644 --- a/bus-storage/src/main/java/org/aoju/bus/storage/provider/package-info.java +++ b/bus-storage/src/main/java/org/aoju/bus/storage/provider/package-info.java @@ -2,7 +2,7 @@ * OSS存储服务具体实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.storage.provider; \ No newline at end of file diff --git a/bus-tracer/pom.xml b/bus-tracer/pom.xml index df0dd1646b..ef6f4b644d 100755 --- a/bus-tracer/pom.xml +++ b/bus-tracer/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-tracer - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 2.6.3 1.18.22 3.0.5 @@ -154,7 +154,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -163,7 +163,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -197,7 +197,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -210,7 +210,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -224,7 +224,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/Backend.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/Backend.java index fbc668a7b4..d2a8315778 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/Backend.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/Backend.java @@ -33,8 +33,8 @@ * 后端应该是线程安全的(读写被委托给线程本地状态). * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface Backend { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/Builder.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/Builder.java index 550dfb77bb..9943ad0e27 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/Builder.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/Builder.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class Builder { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/Provider.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/Provider.java index fbb4ed9bc3..8fc0da0286 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/Provider.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/Provider.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Provider extends AbstractSet { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/Resolver.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/Resolver.java index 6721c3228b..efc758bbf9 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/Resolver.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/Resolver.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Resolver { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/Tracer.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/Tracer.java index fb3eef465b..9b5b913744 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/Tracer.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/Tracer.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Tracer { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/AbstractBackend.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/AbstractBackend.java index dfc8c18b71..3d7ce546d9 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/AbstractBackend.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/AbstractBackend.java @@ -36,8 +36,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class AbstractBackend implements Backend { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4JAbstractBackend.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4JAbstractBackend.java index 9644ab32d2..02b30f81be 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4JAbstractBackend.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4JAbstractBackend.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ class Slf4JAbstractBackend extends AbstractBackend { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4jTraceBackendProvider.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4jTraceBackendProvider.java index 316d5d0330..6e39c373c3 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4jTraceBackendProvider.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/Slf4jTraceBackendProvider.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Slf4jTraceBackendProvider implements TraceBackendProvider { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/ThreadLocalHashSet.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/ThreadLocalHashSet.java index a2e170533b..930172ceab 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/ThreadLocalHashSet.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/ThreadLocalHashSet.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class ThreadLocalHashSet extends InheritableThreadLocal> { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/TraceBackendProvider.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/TraceBackendProvider.java index a718fe6d8c..ed1e317131 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/TraceBackendProvider.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/TraceBackendProvider.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TraceBackendProvider { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/package-info.java index 6fd9af6511..1584953d57 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/backend/package-info.java @@ -2,7 +2,7 @@ * 链路实现类 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.backend; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/TraceCxfFeature.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/TraceCxfFeature.java index 65d9c858d3..3b8b2d93ba 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/TraceCxfFeature.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/TraceCxfFeature.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceCxfFeature extends AbstractFeature { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceInInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceInInterceptor.java index 1b88d2c025..15c66b5909 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceInInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceInInterceptor.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ abstract class AbstractTraceInInterceptor extends AbstractPhaseInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceOutInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceOutInterceptor.java index ba6ea6edc6..2c3b49f541 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceOutInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/AbstractTraceOutInterceptor.java @@ -46,8 +46,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ abstract class AbstractTraceOutInterceptor extends AbstractPhaseInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestInInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestInInterceptor.java index fcde422c02..6038b006c7 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestInInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestInInterceptor.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceRequestInInterceptor extends AbstractTraceInInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestOutInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestOutInterceptor.java index bc13856dde..f42b6ecd27 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestOutInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceRequestOutInterceptor.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceRequestOutInterceptor extends AbstractTraceOutInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseInInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseInInterceptor.java index 4f9ab95ecc..c4d419c33c 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseInInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseInInterceptor.java @@ -34,8 +34,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceResponseInInterceptor extends AbstractTraceInInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseOutInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseOutInterceptor.java index b704b4158f..7c7c3a1734 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseOutInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/TraceResponseOutInterceptor.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceResponseOutInterceptor extends AbstractTraceOutInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/package-info.java index 159ffd54d7..f03657d4de 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/interceptor/package-info.java @@ -2,7 +2,7 @@ * 调用拦截处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.apache.cxf.interceptor; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/package-info.java index f9f208ee37..e848f50163 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/cxf/package-info.java @@ -2,7 +2,7 @@ * cxf处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.apache.cxf; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpRequestInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpRequestInterceptor.java index 9f3ab9ff20..b6a1db14ff 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpRequestInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpRequestInterceptor.java @@ -38,8 +38,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceHttpRequestInterceptor implements HttpRequestInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpResponseInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpResponseInterceptor.java index 443e1763b2..5fcc965ac2 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpResponseInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/TraceHttpResponseInterceptor.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceHttpResponseInterceptor implements HttpResponseInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/package-info.java index 9bf27c7b36..dd712b61d3 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient/package-info.java @@ -2,7 +2,7 @@ * httpclient处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.apache.httpclient; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpRequestInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpRequestInterceptor.java index 70927732a4..13179340fa 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpRequestInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpRequestInterceptor.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceHttpRequestInterceptor implements HttpRequestInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpResponseInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpResponseInterceptor.java index ce6f5d3d5d..8a945d1366 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpResponseInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/TraceHttpResponseInterceptor.java @@ -42,8 +42,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceHttpResponseInterceptor implements HttpResponseInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/package-info.java index feabcb7810..a64c979c8f 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/httpclient5/package-info.java @@ -2,7 +2,7 @@ * httpclient5处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.apache.httpclient5; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/package-info.java index ef203e8ae1..abecc94aa7 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/apache/package-info.java @@ -2,7 +2,7 @@ * apache相关工具实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.apache; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/BaseDubboFilter.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/BaseDubboFilter.java index e3f1dd032a..952ed97a8d 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/BaseDubboFilter.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/BaseDubboFilter.java @@ -33,8 +33,8 @@ * 基础dubbo过滤器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public abstract class BaseDubboFilter implements Filter, Filter.Listener { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ConsumerTraceFilter.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ConsumerTraceFilter.java index 7b44cf3ecb..f610c7ad34 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ConsumerTraceFilter.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ConsumerTraceFilter.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Activate(group = CommonConstants.CONSUMER) public class ConsumerTraceFilter extends BaseDubboFilter { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ProviderTraceFilter.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ProviderTraceFilter.java index 9268790279..4f93200516 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ProviderTraceFilter.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/ProviderTraceFilter.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Activate(group = CommonConstants.PROVIDER) public class ProviderTraceFilter extends BaseDubboFilter { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/package-info.java index 86fade2f72..6d2b31fdd2 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/dubbo/package-info.java @@ -2,7 +2,7 @@ * dubbo相关链路处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.dubbo; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageListener.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageListener.java index 3d4ca01ec5..9df23cae06 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageListener.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageListener.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TraceMessageListener { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageProducer.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageProducer.java index a7379e9ecb..bd331bf854 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageProducer.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageProducer.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceMessageProducer implements MessageProducer { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageWriter.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageWriter.java index 6b979f9913..152d9798e6 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageWriter.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceMessageWriter.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TraceMessageWriter { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceQueueSender.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceQueueSender.java index 79927ef2d3..d041df5f43 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceQueueSender.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceQueueSender.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TraceQueueSender implements QueueSender { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceTopicPublisher.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceTopicPublisher.java index c25dce6179..dfab4b1437 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceTopicPublisher.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/TraceTopicPublisher.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TraceTopicPublisher implements TopicPublisher { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/package-info.java index 155d059721..aebc687304 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/jms/package-info.java @@ -2,7 +2,7 @@ * jms相关处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.jms; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/package-info.java index 86934c3080..e3b55b8871 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/package-info.java @@ -2,7 +2,7 @@ * OSS对象存储服务,包括图片管理,文件,视频等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceContextInjector.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceContextInjector.java index ecdd0b53ff..9c80f47b24 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceContextInjector.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceContextInjector.java @@ -35,8 +35,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceContextInjector { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceJobListener.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceJobListener.java index 4ffdb0ccdf..c7b0d1ba78 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceJobListener.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/TraceJobListener.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceJobListener extends JobListenerSupport { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/package-info.java index bd2e45d28b..d75fd8d1c8 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/quartz/package-info.java @@ -2,7 +2,7 @@ * quartz相关处理实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.quartz; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceFilter.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceFilter.java index d684199ae7..bd83809063 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceFilter.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceFilter.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @WebFilter(filterName = "TraceFilter", urlPatterns = "/*", dispatcherTypes = DispatcherType.REQUEST) public class TraceFilter implements Filter { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceServletRequestListener.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceServletRequestListener.java index e8d9fd4798..df3f9dd14d 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceServletRequestListener.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceServletRequestListener.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @WebListener("TraceServletRequestListener to read incoming TPICs into Builder backend") public final class TraceServletRequestListener implements ServletRequestListener { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceSessionListener.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceSessionListener.java index 194ac8428b..8de56878f3 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceSessionListener.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/TraceSessionListener.java @@ -39,8 +39,8 @@ * It should at least work for the following containers: * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @WebListener("TraceSessionListener to create sessionIds on session creation and remove it instead from the Builder backend on session termination.") public class TraceSessionListener implements HttpSessionListener { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/package-info.java index 9ba76511b5..3719406b3e 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/servlet/package-info.java @@ -2,7 +2,7 @@ * servlet相关实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.servlet; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/TraceMessagePropertiesConverter.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/TraceMessagePropertiesConverter.java index 6492eab15f..832a6014fa 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/TraceMessagePropertiesConverter.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/TraceMessagePropertiesConverter.java @@ -39,8 +39,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TraceMessagePropertiesConverter extends DefaultMessagePropertiesConverter { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/package-info.java index 7bf37efe90..96ac14baa0 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/amqp/package-info.java @@ -2,7 +2,7 @@ * spring amqp处理实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.spring.amqp; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/context/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/context/package-info.java index 523f862f31..59e1402372 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/context/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/context/package-info.java @@ -2,7 +2,7 @@ * spring 上下文处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.spring.context; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/TraceClientHttpRequestInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/TraceClientHttpRequestInterceptor.java index 5d6c8947b0..e3432cfb11 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/TraceClientHttpRequestInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/TraceClientHttpRequestInterceptor.java @@ -41,8 +41,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TraceClientHttpRequestInterceptor implements ClientHttpRequestInterceptor { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/package-info.java index 61747bc970..49173e7198 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/http/package-info.java @@ -2,7 +2,7 @@ * spring http实现处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.spring.http; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/package-info.java index cbd40a31ce..25bbdc6e6b 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/package-info.java @@ -2,7 +2,7 @@ * OSS对象存储服务,包括图片管理,文件,视频等 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.spring; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceInterceptor.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceInterceptor.java index 07a46cfff4..b4320ebcf9 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceInterceptor.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceInterceptor.java @@ -44,8 +44,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Component @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceResponseBodyAdvice.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceResponseBodyAdvice.java index aba0f65c47..5baa77ad23 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceResponseBodyAdvice.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/TraceResponseBodyAdvice.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Order() @ControllerAdvice diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/package-info.java index 9e94d70f60..86604fc1a0 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/binding/spring/web/package-info.java @@ -2,7 +2,7 @@ * spring web实现处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.binding.spring.web; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertiesBasedTraceFilter.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertiesBasedTraceFilter.java index a691c881a4..fae3d71ee7 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertiesBasedTraceFilter.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertiesBasedTraceFilter.java @@ -41,8 +41,8 @@ * The default property chain may be obtained by the {@link #loadPropertyChain()} method. * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class PropertiesBasedTraceFilter implements TraceFilterConfig { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertyChain.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertyChain.java index b04f5e4a28..ffe6233bd3 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertyChain.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/PropertyChain.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PropertyChain { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TraceFilterConfig.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TraceFilterConfig.java index c4ce22649d..7258161f72 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TraceFilterConfig.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TraceFilterConfig.java @@ -29,8 +29,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public interface TraceFilterConfig { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TracePropertiesFileLoader.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TracePropertiesFileLoader.java index f1a4c25bed..7933d09698 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TracePropertiesFileLoader.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/TracePropertiesFileLoader.java @@ -33,8 +33,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class TracePropertiesFileLoader { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/package-info.java index 39dd94695b..ab33ffa456 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/config/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/config/package-info.java @@ -2,7 +2,7 @@ * 配置信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.config; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ClazzEntity.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ClazzEntity.java index ec38afbbce..f1825d49f0 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ClazzEntity.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ClazzEntity.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @NoArgsConstructor diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ExecCmd.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ExecCmd.java index 910628bb66..135366c7d5 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ExecCmd.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ExecCmd.java @@ -43,8 +43,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ExecCmd { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/GcEntity.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/GcEntity.java index 7b54ffedb6..a3a3dcc184 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/GcEntity.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/GcEntity.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @NoArgsConstructor diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/StackEntity.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/StackEntity.java index 5c49a9b2ab..c9e8c0f460 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/StackEntity.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/StackEntity.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @NoArgsConstructor diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ThreadEntity.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ThreadEntity.java index 8439360ceb..d8a98fc062 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ThreadEntity.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/ThreadEntity.java @@ -31,8 +31,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @NoArgsConstructor diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/package-info.java index 3598c3fa34..f65553c783 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/monitor/package-info.java @@ -2,7 +2,7 @@ * 追踪监控 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.monitor; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/package-info.java index 12ce1b08ef..a0aa565af4 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/package-info.java @@ -2,7 +2,7 @@ * 调用链路追踪 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalBackend.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalBackend.java index c4f8a41d51..46259bd514 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalBackend.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalBackend.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ class ThreadLocalBackend extends AbstractBackend { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalMap.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalMap.java index 3c83a65c3f..00de3fe095 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalMap.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalMap.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ class ThreadLocalMap extends InheritableThreadLocal> { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalTraceBackendProvider.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalTraceBackendProvider.java index 35692acf5a..1638a40c1b 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalTraceBackendProvider.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/ThreadLocalTraceBackendProvider.java @@ -30,8 +30,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ThreadLocalTraceBackendProvider implements TraceBackendProvider { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/package-info.java index 2978ebbc4c..bd4d5699c5 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/thread/package-info.java @@ -2,7 +2,7 @@ * 追踪线程处理 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.thread; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/HttpHeaderTransport.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/HttpHeaderTransport.java index 9120d52e1a..91962557fd 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/HttpHeaderTransport.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/HttpHeaderTransport.java @@ -37,8 +37,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class HttpHeaderTransport { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/SoapHeaderTransport.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/SoapHeaderTransport.java index 824b74b4ce..7e86d0b73b 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/SoapHeaderTransport.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/SoapHeaderTransport.java @@ -40,8 +40,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class SoapHeaderTransport { diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/TpicMap.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/TpicMap.java index 64a815cde6..364be9c924 100755 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/TpicMap.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/TpicMap.java @@ -32,8 +32,8 @@ /** * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @XmlRootElement(name = Builder.TPIC_HEADER) @XmlAccessorType(XmlAccessType.NONE) diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/package-info.java index 20c198437b..a8e60468cf 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/jaxb/package-info.java @@ -2,7 +2,7 @@ * jaxb方式 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.transport.jaxb; \ No newline at end of file diff --git a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/package-info.java b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/package-info.java index ec1aa428c0..793c28578b 100644 --- a/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/package-info.java +++ b/bus-tracer/src/main/java/org/aoju/bus/tracer/transport/package-info.java @@ -2,7 +2,7 @@ * 传输方式等信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.tracer.transport; \ No newline at end of file diff --git a/bus-validate/README.md b/bus-validate/README.md index dee7b92356..254f129094 100755 --- a/bus-validate/README.md +++ b/bus-validate/README.md @@ -5,7 +5,7 @@ ## 运行环境 -要求JDK1.8+ +要求Java 17+ 使用说明: diff --git a/bus-validate/pom.xml b/bus-validate/pom.xml index 0cdfaa86ac..eb7c7b89ad 100755 --- a/bus-validate/pom.xml +++ b/bus-validate/pom.xml @@ -6,7 +6,7 @@ org.aoju bus-validate - 6.3.5 + 6.5.0 jar ${project.artifactId} @@ -41,7 +41,7 @@ UTF-8 UTF-8 - 1.8 + 17 1.18.22 @@ -64,7 +64,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${project.compiler.version} ${project.compiler.version} @@ -73,7 +73,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.2 attach-javadocs @@ -107,7 +107,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.2.1 attach-sources @@ -120,7 +120,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.0.1 sonatype-nexus-staging @@ -134,7 +134,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.12 true sonatype-nexus-staging diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/Builder.java b/bus-validate/src/main/java/org/aoju/bus/validate/Builder.java index 2ba9c5d95a..9ca03dc622 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/Builder.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/Builder.java @@ -34,8 +34,8 @@ * 当前框架内预定义的校验器名称 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Builder extends Validator { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/Collector.java b/bus-validate/src/main/java/org/aoju/bus/validate/Collector.java index da484cc79c..3f0f88ab84 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/Collector.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/Collector.java @@ -36,8 +36,8 @@ * 校验结果收集器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Collector { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/Context.java b/bus-validate/src/main/java/org/aoju/bus/validate/Context.java index b135ab2760..545e232956 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/Context.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/Context.java @@ -39,8 +39,8 @@ * 当前校验的上下文信息 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Context { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/Provider.java b/bus-validate/src/main/java/org/aoju/bus/validate/Provider.java index e7d4e73ead..235b5bcade 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/Provider.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/Provider.java @@ -44,8 +44,8 @@ * 服务提供者 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Provider { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/Registry.java b/bus-validate/src/main/java/org/aoju/bus/validate/Registry.java index 65055aab32..d42ec5ffb8 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/Registry.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/Registry.java @@ -36,8 +36,8 @@ * 校验器注册中心 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Registry { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/Validated.java b/bus-validate/src/main/java/org/aoju/bus/validate/Validated.java index 7825ce787b..87eb0154eb 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/Validated.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/Validated.java @@ -49,8 +49,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data @EqualsAndHashCode(callSuper = false) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Array.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Array.java index a4b40d2894..bc1003b64e 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Array.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Array.java @@ -36,8 +36,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Blank.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Blank.java index 869e08c845..2b07b7eb8c 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Blank.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Blank.java @@ -34,8 +34,8 @@ * 字符串为空或为null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Chinese.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Chinese.java index f1ee7f6741..65a54e20b0 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Chinese.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Chinese.java @@ -34,8 +34,8 @@ * 判断是否为中文 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/CitizenId.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/CitizenId.java index 9f177b5198..903a3e667d 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/CitizenId.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/CitizenId.java @@ -34,8 +34,8 @@ * 判断是否为身份证号码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Compare.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Compare.java index 9aad811554..09056f4381 100644 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Compare.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Compare.java @@ -33,8 +33,8 @@ * 参数值比较验证注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Complex.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Complex.java index 6ea07d5d9f..032beb60bd 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Complex.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Complex.java @@ -38,8 +38,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Date.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Date.java index 622d48e8db..d207760b5f 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Date.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Date.java @@ -35,8 +35,8 @@ * 判断是否为日期 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Each.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Each.java index 34e9c9eb35..d921d977c4 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Each.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Each.java @@ -42,8 +42,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Email.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Email.java index febbf19b3f..38e19d27fd 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Email.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Email.java @@ -34,8 +34,8 @@ * 判断是否为邮箱 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/English.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/English.java index 16b036e189..7e56f167e7 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/English.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/English.java @@ -34,8 +34,8 @@ * 判断是否为英文 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Equals.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Equals.java index c0e9d6a933..6dcef2e735 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Equals.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Equals.java @@ -37,8 +37,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/False.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/False.java index 0cdadf732e..7d59200c96 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/False.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/False.java @@ -34,8 +34,8 @@ * boolean校验, 当校验值为false时通过校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Filler.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Filler.java index 0e36560653..3f855c9515 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Filler.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Filler.java @@ -35,8 +35,8 @@ * 在校验注解内部提供的方法上标记该注解,表示可以在校验注解的errmsg中使用该字符串插值 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Target({ElementType.METHOD}) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Group.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Group.java index 0860c31440..07ef517d38 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Group.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Group.java @@ -31,8 +31,8 @@ * 校验组注解,标记当前位置被激活的校验组 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IPAddress.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IPAddress.java index a8f67961e6..640c40c0ac 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IPAddress.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IPAddress.java @@ -34,8 +34,8 @@ * 判断是否为IP地址 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/In.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/In.java index 0730d3f97a..e8740e1bd3 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/In.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/In.java @@ -39,8 +39,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/InEnum.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/InEnum.java index 3dbf231b31..ba05d4fd32 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/InEnum.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/InEnum.java @@ -38,8 +38,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Inside.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Inside.java index 12fd6d04a4..9dc9dc5349 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Inside.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Inside.java @@ -34,8 +34,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IntRange.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IntRange.java index e4469140f3..d9d6d96b68 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IntRange.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/IntRange.java @@ -38,8 +38,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Length.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Length.java index c93881039a..93b5b76712 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Length.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Length.java @@ -38,8 +38,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Mobile.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Mobile.java index 82835109df..e3685b8c5a 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Mobile.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Mobile.java @@ -34,8 +34,8 @@ * 判断是否为手机号码 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Multi.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Multi.java index 95afda3d86..1db0e9d2a2 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Multi.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Multi.java @@ -35,8 +35,8 @@ * 多重校验器, 可以配置多个校验器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotBlank.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotBlank.java index 38de0e4e59..297a555f9a 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotBlank.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotBlank.java @@ -34,8 +34,8 @@ * 字符串不为空,不为null校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotIn.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotIn.java index 16007eacfe..6f8d4882a5 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotIn.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotIn.java @@ -38,8 +38,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotNull.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotNull.java index 5f20c0f303..fdf1b60e98 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotNull.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/NotNull.java @@ -34,8 +34,8 @@ * 对象不能为null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Null.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Null.java index 13a38f6189..db691b4b89 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Null.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Null.java @@ -34,8 +34,8 @@ * 校验对象只能为null * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Phone.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Phone.java index 44a2913e0f..35c5088505 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Phone.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Phone.java @@ -34,8 +34,8 @@ * 判断是否为固定电话 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Reflect.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Reflect.java index c4f31a1777..be1d724eb9 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Reflect.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Reflect.java @@ -38,8 +38,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Regex.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Regex.java index dc838454e4..2aa3201802 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Regex.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Regex.java @@ -38,8 +38,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/True.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/True.java index 54519e5d9d..ccea6c5e91 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/True.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/True.java @@ -34,8 +34,8 @@ * boolean校验, 当校验值为true时通过校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Valid.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Valid.java index fb488ca0ba..7329b5f83e 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Valid.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/Valid.java @@ -31,8 +31,8 @@ * 标记注解,标明要被拦截的类或方法或者参数 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/ValidEx.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/ValidEx.java index 8e149e872c..9b911eaccb 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/ValidEx.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/ValidEx.java @@ -43,8 +43,8 @@ *

    * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/package-info.java b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/package-info.java index 7ef2a45e13..e723e200ef 100644 --- a/bus-validate/src/main/java/org/aoju/bus/validate/annotation/package-info.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/annotation/package-info.java @@ -2,7 +2,7 @@ * 校验类型、方式等注解 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.validate.annotation; \ No newline at end of file diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/package-info.java b/bus-validate/src/main/java/org/aoju/bus/validate/package-info.java index 174bdf9bc9..860f8cc560 100644 --- a/bus-validate/src/main/java/org/aoju/bus/validate/package-info.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/package-info.java @@ -3,7 +3,7 @@ * 开发时,参考了Hibernate-Validator 5.x,但是没有做到兼容,因为JSR-303提供的注解的方法太少,不方便拓展,所以写了这个框架。 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.validate; \ No newline at end of file diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/AlwaysStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/AlwaysStrategy.java index d353a93d19..356128cc83 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/AlwaysStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/AlwaysStrategy.java @@ -32,8 +32,8 @@ * 这个校验器的结果永远为true * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public final class AlwaysStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/BlankStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/BlankStrategy.java index 3dc30f583f..46a8976734 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/BlankStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/BlankStrategy.java @@ -35,8 +35,8 @@ * BLANK 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class BlankStrategy implements Validator, Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ChineseStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ChineseStrategy.java index 19a8e0f4a2..b05a8962e5 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ChineseStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ChineseStrategy.java @@ -35,8 +35,8 @@ * 中文校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ChineseStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CitizenIdStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CitizenIdStrategy.java index 62dbd34ecd..6aef720022 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CitizenIdStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CitizenIdStrategy.java @@ -35,8 +35,8 @@ * 身份证号码校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CitizenIdStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CompareStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CompareStrategy.java index bbb9603184..2d9c3cf6fa 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CompareStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/CompareStrategy.java @@ -39,8 +39,8 @@ * 数据长度校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class CompareStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/DateStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/DateStrategy.java index c8a685e99d..57a4599847 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/DateStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/DateStrategy.java @@ -37,8 +37,8 @@ * 日期校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class DateStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EachStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EachStrategy.java index f37e9da99c..0e15ea2dce 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EachStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EachStrategy.java @@ -42,8 +42,8 @@ * 容器元素内部校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EachStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EmailStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EmailStrategy.java index d3f3327ba8..35c16fdc97 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EmailStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EmailStrategy.java @@ -35,8 +35,8 @@ * 邮箱校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EmailStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EnglishStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EnglishStrategy.java index e2042bc0da..3b4b6189a9 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EnglishStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EnglishStrategy.java @@ -35,8 +35,8 @@ * 英文校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EnglishStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EqualsStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EqualsStrategy.java index 9d5008667d..e0bca223e7 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EqualsStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/EqualsStrategy.java @@ -36,8 +36,8 @@ * EQUALS 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class EqualsStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/FalseStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/FalseStrategy.java index 9e5fcd077a..0ba851a3df 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/FalseStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/FalseStrategy.java @@ -34,8 +34,8 @@ * FALSE 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class FalseStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IPAddressStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IPAddressStrategy.java index 2a0e3c95f2..8706b42558 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IPAddressStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IPAddressStrategy.java @@ -35,8 +35,8 @@ * IP地址校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IPAddressStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InEnumStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InEnumStrategy.java index 6c448a07f7..056df38367 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InEnumStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InEnumStrategy.java @@ -39,8 +39,8 @@ * int enum 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InEnumStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InStrategy.java index 090bb92ae2..7f4d823707 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/InStrategy.java @@ -35,8 +35,8 @@ * IN 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class InStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IntRangeStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IntRangeStrategy.java index 63819dad14..50d4001da7 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IntRangeStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/IntRangeStrategy.java @@ -40,8 +40,8 @@ * INT RANGE 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class IntRangeStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/LengthStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/LengthStrategy.java index fedaca5c19..5cbd9373f2 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/LengthStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/LengthStrategy.java @@ -37,8 +37,8 @@ * 数据长度校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class LengthStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MobileStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MobileStrategy.java index de0d161021..0a1e8c7a72 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MobileStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MobileStrategy.java @@ -35,8 +35,8 @@ * 移动电话校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MobileStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MultiStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MultiStrategy.java index 7f32dc5d68..1eed6dec14 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MultiStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/MultiStrategy.java @@ -38,8 +38,8 @@ * 多规则匹配校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class MultiStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotBlankStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotBlankStrategy.java index ee00b7005d..aa8d52a4d5 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotBlankStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotBlankStrategy.java @@ -35,8 +35,8 @@ * NOT blank 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotBlankStrategy implements Validator, Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotInStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotInStrategy.java index 5bd07e01ef..05f57099c0 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotInStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotInStrategy.java @@ -35,8 +35,8 @@ * NOT IN 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotInStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotNullStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotNullStrategy.java index 135795aacd..b47fa75fd2 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotNullStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NotNullStrategy.java @@ -34,8 +34,8 @@ * NOT NUll 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NotNullStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NullStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NullStrategy.java index 74062e0ae9..8fa4290a2d 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NullStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/NullStrategy.java @@ -35,8 +35,8 @@ * NULL校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class NullStrategy implements Validator, Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/PhoneStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/PhoneStrategy.java index 8b776d8e0d..aedc0e242c 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/PhoneStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/PhoneStrategy.java @@ -35,8 +35,8 @@ * 移动电话校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class PhoneStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ReflectStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ReflectStrategy.java index 91a36c51d7..1fee2cc3e6 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ReflectStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/ReflectStrategy.java @@ -41,8 +41,8 @@ * 反射信息校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class ReflectStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/RegexStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/RegexStrategy.java index 5928e9b804..62bc1f9ee9 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/RegexStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/RegexStrategy.java @@ -36,8 +36,8 @@ * 正则匹配校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class RegexStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/TrueStrategy.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/TrueStrategy.java index a2951fa7da..5c856256d5 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/TrueStrategy.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/TrueStrategy.java @@ -34,8 +34,8 @@ * Boolean true 校验 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class TrueStrategy implements Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/package-info.java b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/package-info.java index bc73e5efd8..838949ecc6 100644 --- a/bus-validate/src/main/java/org/aoju/bus/validate/strategy/package-info.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/strategy/package-info.java @@ -2,7 +2,7 @@ * 校验规则实现 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.validate.strategy; \ No newline at end of file diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Checker.java b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Checker.java index 696163152e..9e4eae86b7 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Checker.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Checker.java @@ -46,8 +46,8 @@ * 校验检查器 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ public class Checker { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Matcher.java b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Matcher.java index 6d8274ffe2..b58fde30ad 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Matcher.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Matcher.java @@ -31,8 +31,8 @@ * 校验器接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Matcher { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Property.java b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Property.java index 3116a4a2f0..c596c3d46d 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Property.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Property.java @@ -41,8 +41,8 @@ * 校验注解所包含的通用属性 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @Data public class Property { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Validator.java b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Validator.java index a1951a3105..82adaa768e 100755 --- a/bus-validate/src/main/java/org/aoju/bus/validate/validators/Validator.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/validators/Validator.java @@ -31,8 +31,8 @@ * 校验器接口 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ @FunctionalInterface public interface Validator { diff --git a/bus-validate/src/main/java/org/aoju/bus/validate/validators/package-info.java b/bus-validate/src/main/java/org/aoju/bus/validate/validators/package-info.java index 3f8a2b28a8..c6063ef52f 100644 --- a/bus-validate/src/main/java/org/aoju/bus/validate/validators/package-info.java +++ b/bus-validate/src/main/java/org/aoju/bus/validate/validators/package-info.java @@ -2,7 +2,7 @@ * 校验器等规则匹配 * * @author Kimi Liu - * @version 6.3.5 - * @since JDK 1.8+ + * @version 6.5.0 + * @since Java 17+ */ package org.aoju.bus.validate.validators; \ No newline at end of file