diff --git a/hutool-core/src/main/java/cn/hutool/core/classloader/JarClassLoader.java b/hutool-core/src/main/java/cn/hutool/core/classloader/JarClassLoader.java index e6a80e82b..dd284195e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/classloader/JarClassLoader.java +++ b/hutool-core/src/main/java/cn/hutool/core/classloader/JarClassLoader.java @@ -2,7 +2,7 @@ package cn.hutool.core.classloader; import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.reflect.MethodUtil; import java.io.File; diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/Base16Codec.java b/hutool-core/src/main/java/cn/hutool/core/codec/Base16Codec.java index 21becd93b..bbc8192ba 100644 --- a/hutool-core/src/main/java/cn/hutool/core/codec/Base16Codec.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/Base16Codec.java @@ -13,7 +13,13 @@ import cn.hutool.core.text.StrUtil; */ public class Base16Codec implements Encoder, Decoder { + /** + * 编码解码器:小写 + */ public static final Base16Codec CODEC_LOWER = new Base16Codec(true); + /** + * 编码解码器:大写 + */ public static final Base16Codec CODEC_UPPER = new Base16Codec(false); private final char[] alphabets; diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java b/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java index bab6957ec..8363b30c6 100755 --- a/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java @@ -166,7 +166,9 @@ public class PercentCodec implements Encoder, Serializable { * @author looly * @since 6.0.0 */ - public static class Builder implements cn.hutool.core.builder.Builder { + public static class Builder implements cn.hutool.core.lang.builder.Builder { + private static final long serialVersionUID = 1L; + /** * 从已知PercentCodec创建PercentCodec,会复制给定PercentCodec的安全字符 * diff --git a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaClassFileObject.java b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaClassFileObject.java index 50d233be4..6db6d22f9 100644 --- a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaClassFileObject.java +++ b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaClassFileObject.java @@ -2,7 +2,7 @@ package cn.hutool.core.compiler; import cn.hutool.core.util.CharUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import javax.tools.SimpleJavaFileObject; import java.io.ByteArrayInputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java index 180ba6f16..af7faace9 100644 --- a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java +++ b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceCompiler.java @@ -8,7 +8,7 @@ import cn.hutool.core.io.resource.FileResource; import cn.hutool.core.io.resource.Resource; import cn.hutool.core.io.resource.StringResource; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceFileObject.java b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceFileObject.java index a7a1e2e35..d4d2ea4a7 100644 --- a/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceFileObject.java +++ b/hutool-core/src/main/java/cn/hutool/core/compiler/JavaSourceFileObject.java @@ -2,7 +2,7 @@ package cn.hutool.core.compiler; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.CharUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import javax.tools.SimpleJavaFileObject; import java.io.BufferedInputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java index a5d416375..3dea69cc9 100755 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java @@ -20,7 +20,7 @@ import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.reflect.ClassUtil; import cn.hutool.core.regex.ReUtil; import cn.hutool.core.text.StrUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.compress.ZipUtil; import java.io.BufferedInputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/resource/ClassPathResource.java b/hutool-core/src/main/java/cn/hutool/core/io/resource/ClassPathResource.java index 09328b101..deb7c2c99 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/resource/ClassPathResource.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/resource/ClassPathResource.java @@ -3,7 +3,7 @@ package cn.hutool.core.io.resource; import cn.hutool.core.classloader.ClassLoaderUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ObjUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/resource/FileResource.java b/hutool-core/src/main/java/cn/hutool/core/io/resource/FileResource.java index 1e1eb10f5..4f9f133fe 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/resource/FileResource.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/resource/FileResource.java @@ -3,7 +3,7 @@ package cn.hutool.core.io.resource; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import java.io.File; import java.io.InputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/resource/ResourceUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/resource/ResourceUtil.java index ceb52f1c8..7bd57ae81 100755 --- a/hutool-core/src/main/java/cn/hutool/core/io/resource/ResourceUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/resource/ResourceUtil.java @@ -7,7 +7,7 @@ import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.classloader.ClassLoaderUtil; import cn.hutool.core.text.StrUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import java.io.BufferedReader; import java.io.File; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java b/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java index 525f59126..d80e37958 100755 --- a/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java @@ -2,7 +2,7 @@ package cn.hutool.core.io.resource; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import java.io.File; import java.io.InputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java b/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java index 288d7b6d3..4d9b3e983 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java @@ -4,7 +4,7 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.watch.watchers.WatcherChain; import cn.hutool.core.text.StrUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.util.CharUtil; import java.io.File; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchUtil.java index f25215f45..bd8ec72bf 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchUtil.java @@ -1,7 +1,7 @@ package cn.hutool.core.io.watch; import cn.hutool.core.io.IORuntimeException; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import java.io.File; import java.io.IOException; diff --git a/hutool-core/src/main/java/cn/hutool/core/builder/Builder.java b/hutool-core/src/main/java/cn/hutool/core/lang/builder/Builder.java similarity index 86% rename from hutool-core/src/main/java/cn/hutool/core/builder/Builder.java rename to hutool-core/src/main/java/cn/hutool/core/lang/builder/Builder.java index 518ac8ddc..9df30a786 100644 --- a/hutool-core/src/main/java/cn/hutool/core/builder/Builder.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/builder/Builder.java @@ -1,4 +1,4 @@ -package cn.hutool.core.builder; +package cn.hutool.core.lang.builder; import java.io.Serializable; @@ -16,4 +16,4 @@ public interface Builder extends Serializable{ * @return 被构建的对象 */ T build(); -} \ No newline at end of file +} diff --git a/hutool-core/src/main/java/cn/hutool/core/builder/GenericBuilder.java b/hutool-core/src/main/java/cn/hutool/core/lang/builder/GenericBuilder.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/builder/GenericBuilder.java rename to hutool-core/src/main/java/cn/hutool/core/lang/builder/GenericBuilder.java index 27fb66156..b85e474ef 100644 --- a/hutool-core/src/main/java/cn/hutool/core/builder/GenericBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/builder/GenericBuilder.java @@ -1,4 +1,4 @@ -package cn.hutool.core.builder; +package cn.hutool.core.lang.builder; import cn.hutool.core.lang.func.SerConsumer3; @@ -55,6 +55,7 @@ import java.util.function.Supplier; * * @author TomXin VampireAchao * @since 5.7.21 + * @param 构建对象类型 */ public class GenericBuilder implements Builder { private static final long serialVersionUID = 1L; diff --git a/hutool-core/src/main/java/cn/hutool/core/builder/package-info.java b/hutool-core/src/main/java/cn/hutool/core/lang/builder/package-info.java similarity index 71% rename from hutool-core/src/main/java/cn/hutool/core/builder/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/lang/builder/package-info.java index 800a02855..c29315659 100644 --- a/hutool-core/src/main/java/cn/hutool/core/builder/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/builder/package-info.java @@ -5,4 +5,4 @@ * @author looly * */ -package cn.hutool.core.builder; \ No newline at end of file +package cn.hutool.core.lang.builder; diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapBuilder.java b/hutool-core/src/main/java/cn/hutool/core/map/MapBuilder.java index b47857bdc..75dc3b04a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapBuilder.java @@ -1,7 +1,7 @@ package cn.hutool.core.map; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import java.util.Map; import java.util.function.Supplier; diff --git a/hutool-core/src/main/java/cn/hutool/core/map/multi/RowKeyTable.java b/hutool-core/src/main/java/cn/hutool/core/map/multi/RowKeyTable.java index 18585bcdb..043d440e3 100755 --- a/hutool-core/src/main/java/cn/hutool/core/map/multi/RowKeyTable.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/multi/RowKeyTable.java @@ -1,6 +1,6 @@ package cn.hutool.core.map.multi; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.collection.iter.ComputeIter; import cn.hutool.core.collection.iter.IterUtil; import cn.hutool.core.collection.iter.TransIter; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java b/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java index 1daf470f2..468fe0d47 100755 --- a/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java @@ -22,6 +22,9 @@ import java.util.regex.Matcher; */ public class Ipv4Util { + /** + * 本地IP:127.0.0.1 + */ public static final String LOCAL_IP = "127.0.0.1"; /** @@ -162,9 +165,6 @@ public class Ipv4Util { if (matcher.matches()) { return matchAddress(matcher); } -// Validator.validateIpv4(strIP, "Invalid IPv4 address!"); -// final long[] ip = Convert.convert(long[].class, StrUtil.split(strIP, CharUtil.DOT)); -// return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3]; throw new IllegalArgumentException("Invalid IPv4 address!"); } diff --git a/hutool-core/src/main/java/cn/hutool/core/net/LocalPortGenerater.java b/hutool-core/src/main/java/cn/hutool/core/net/LocalPortGenerator.java similarity index 89% rename from hutool-core/src/main/java/cn/hutool/core/net/LocalPortGenerater.java rename to hutool-core/src/main/java/cn/hutool/core/net/LocalPortGenerator.java index 684641351..b91498408 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/LocalPortGenerater.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/LocalPortGenerator.java @@ -12,7 +12,7 @@ import java.util.concurrent.atomic.AtomicInteger; * @since 4.0.3 * */ -public class LocalPortGenerater implements Serializable{ +public class LocalPortGenerator implements Serializable{ private static final long serialVersionUID = 1L; /** 备选的本地端口 */ @@ -23,7 +23,7 @@ public class LocalPortGenerater implements Serializable{ * * @param beginPort 起始端口号 */ - public LocalPortGenerater(final int beginPort) { + public LocalPortGenerator(final int beginPort) { alternativePort = new AtomicInteger(beginPort); } diff --git a/hutool-core/src/main/java/cn/hutool/core/net/DefaultTrustManager.java b/hutool-core/src/main/java/cn/hutool/core/net/ssl/DefaultTrustManager.java similarity index 97% rename from hutool-core/src/main/java/cn/hutool/core/net/DefaultTrustManager.java rename to hutool-core/src/main/java/cn/hutool/core/net/ssl/DefaultTrustManager.java index 41152035b..0c686a02c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/DefaultTrustManager.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/ssl/DefaultTrustManager.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.ssl; import javax.net.ssl.SSLEngine; import javax.net.ssl.X509ExtendedTrustManager; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/SSLContextBuilder.java b/hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLContextBuilder.java similarity index 97% rename from hutool-core/src/main/java/cn/hutool/core/net/SSLContextBuilder.java rename to hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLContextBuilder.java index ea98734ef..fe62c62e5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/SSLContextBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLContextBuilder.java @@ -1,6 +1,6 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.ssl; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.text.StrUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/SSLProtocols.java b/hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLProtocols.java old mode 100755 new mode 100644 similarity index 96% rename from hutool-core/src/main/java/cn/hutool/core/net/SSLProtocols.java rename to hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLProtocols.java index 32e938f9f..bd4897ee8 --- a/hutool-core/src/main/java/cn/hutool/core/net/SSLProtocols.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLProtocols.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.ssl; /** * SSL或TLS协议 diff --git a/hutool-core/src/main/java/cn/hutool/core/net/SSLUtil.java b/hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLUtil.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/net/SSLUtil.java rename to hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLUtil.java index c62a8f9fd..ecd1f2ac5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/SSLUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/ssl/SSLUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.ssl; import cn.hutool.core.io.IORuntimeException; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/ssl/package-info.java b/hutool-core/src/main/java/cn/hutool/core/net/ssl/package-info.java new file mode 100644 index 000000000..262be1351 --- /dev/null +++ b/hutool-core/src/main/java/cn/hutool/core/net/ssl/package-info.java @@ -0,0 +1,6 @@ +/** + * SSL相关封装 + * + * @author looly + */ +package cn.hutool.core.net.ssl; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/FormUrlencoded.java b/hutool-core/src/main/java/cn/hutool/core/net/url/FormUrlencoded.java similarity index 95% rename from hutool-core/src/main/java/cn/hutool/core/net/FormUrlencoded.java rename to hutool-core/src/main/java/cn/hutool/core/net/url/FormUrlencoded.java index 789b326b6..ac0104d2a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/FormUrlencoded.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/FormUrlencoded.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.url; import cn.hutool.core.codec.PercentCodec; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/RFC3986.java b/hutool-core/src/main/java/cn/hutool/core/net/url/RFC3986.java old mode 100755 new mode 100644 similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/net/RFC3986.java rename to hutool-core/src/main/java/cn/hutool/core/net/url/RFC3986.java index f449205aa..de1d0cadb --- a/hutool-core/src/main/java/cn/hutool/core/net/RFC3986.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/RFC3986.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.url; import cn.hutool.core.codec.PercentCodec; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/URLDecoder.java b/hutool-core/src/main/java/cn/hutool/core/net/url/URLDecoder.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/net/URLDecoder.java rename to hutool-core/src/main/java/cn/hutool/core/net/url/URLDecoder.java index 1622a83e6..0dd212271 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/URLDecoder.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/URLDecoder.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.url; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.CharsetUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/URLEncoder.java b/hutool-core/src/main/java/cn/hutool/core/net/url/URLEncoder.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/net/URLEncoder.java rename to hutool-core/src/main/java/cn/hutool/core/net/url/URLEncoder.java index 915fd29f1..c36a73516 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/URLEncoder.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/URLEncoder.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.url; import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.util.CharUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/URLUtil.java b/hutool-core/src/main/java/cn/hutool/core/net/url/URLUtil.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/net/URLUtil.java rename to hutool-core/src/main/java/cn/hutool/core/net/url/URLUtil.java index 6f127ec87..163dfcf78 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/URLUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/URLUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.core.net; +package cn.hutool.core.net.url; import cn.hutool.core.classloader.ClassLoaderUtil; import cn.hutool.core.exceptions.UtilException; @@ -7,7 +7,6 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.file.FileNameUtil; import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.net.url.UrlQuery; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.CharsetUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlBuilder.java b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlBuilder.java index 4679768c4..2e2ab9193 100755 --- a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlBuilder.java @@ -1,11 +1,9 @@ package cn.hutool.core.net.url; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.lang.Assert; -import cn.hutool.core.net.RFC3986; -import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.text.StrUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.util.CharsetUtil; import java.net.MalformedURLException; import java.net.URI; @@ -63,7 +61,7 @@ public final class UrlBuilder implements Builder { * 是否需要编码`%`
* 区别对待,如果是,则生成URL时需要重新全部编码,否则跳过所有`%` */ - private boolean needEncodePercent; + private final boolean needEncodePercent; /** * 使用URI构建UrlBuilder @@ -119,7 +117,7 @@ public final class UrlBuilder implements Builder { /** * 使用URL字符串构建UrlBuilder,默认使用UTF-8编码 * - * @param url URL字符串 + * @param url URL字符串 * @return UrlBuilder */ public static UrlBuilder of(final String url) { @@ -197,6 +195,8 @@ public final class UrlBuilder implements Builder { */ public UrlBuilder() { this.charset = CharsetUtil.UTF_8; + // 编码非空情况下做解码 + this.needEncodePercent = true; } /** diff --git a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java index bbed3d84d..9684fc72b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java @@ -3,8 +3,6 @@ package cn.hutool.core.net.url; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.net.RFC3986; -import cn.hutool.core.net.URLDecoder; import cn.hutool.core.util.CharUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ObjUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java index 54a0a0742..e1d181dfe 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java @@ -6,9 +6,6 @@ import cn.hutool.core.collection.iter.IterUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.TableMap; -import cn.hutool.core.net.FormUrlencoded; -import cn.hutool.core.net.RFC3986; -import cn.hutool.core.net.URLDecoder; import cn.hutool.core.text.StrUtil; import java.nio.charset.Charset; @@ -234,7 +231,7 @@ public class UrlQuery { * @return URL查询字符串 */ public String build(final Charset charset) { - return build(charset, true); + return build(charset, null != charset); } /** diff --git a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassScanner.java b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassScanner.java index 0538f0412..025d66e7c 100755 --- a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassScanner.java +++ b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassScanner.java @@ -6,8 +6,8 @@ import cn.hutool.core.collection.iter.EnumerationIter; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.file.FileNameUtil; import cn.hutool.core.io.resource.ResourceUtil; -import cn.hutool.core.net.URLDecoder; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLDecoder; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.CharsetUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java index 39e1d8baf..bae54c757 100644 --- a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java @@ -6,8 +6,8 @@ import cn.hutool.core.convert.BasicType; import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.resource.ResourceUtil; -import cn.hutool.core.net.URLDecoder; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLDecoder; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/stream/EasyStream.java b/hutool-core/src/main/java/cn/hutool/core/stream/EasyStream.java index 5de51cdbf..4570b25fe 100644 --- a/hutool-core/src/main/java/cn/hutool/core/stream/EasyStream.java +++ b/hutool-core/src/main/java/cn/hutool/core/stream/EasyStream.java @@ -268,7 +268,7 @@ public class EasyStream extends AbstractEnhancedWrappedStream extends Consumer, cn.hutool.core.builder.Builder> { + public interface Builder extends Consumer, cn.hutool.core.lang.builder.Builder> { /** * Adds an element to the unwrap being built. diff --git a/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java b/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java index cebdd274d..9a16ae68a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java @@ -1,6 +1,6 @@ package cn.hutool.core.thread; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.util.ObjUtil; import java.util.concurrent.ArrayBlockingQueue; diff --git a/hutool-core/src/main/java/cn/hutool/core/thread/ThreadFactoryBuilder.java b/hutool-core/src/main/java/cn/hutool/core/thread/ThreadFactoryBuilder.java index d7a128436..18460c462 100644 --- a/hutool-core/src/main/java/cn/hutool/core/thread/ThreadFactoryBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/thread/ThreadFactoryBuilder.java @@ -1,6 +1,6 @@ package cn.hutool.core.thread; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.text.StrUtil; import java.lang.Thread.UncaughtExceptionHandler; diff --git a/hutool-core/src/main/java/cn/hutool/core/tree/Tree.java b/hutool-core/src/main/java/cn/hutool/core/tree/MapTree.java similarity index 79% rename from hutool-core/src/main/java/cn/hutool/core/tree/Tree.java rename to hutool-core/src/main/java/cn/hutool/core/tree/MapTree.java index 19674a0a7..3689d5eff 100644 --- a/hutool-core/src/main/java/cn/hutool/core/tree/Tree.java +++ b/hutool-core/src/main/java/cn/hutool/core/tree/MapTree.java @@ -25,13 +25,16 @@ import java.util.function.Predicate; * @author liangbaikai * @since 5.2.1 */ -public class Tree extends LinkedHashMap implements Node { +public class MapTree extends LinkedHashMap implements Node { private static final long serialVersionUID = 1L; private final TreeNodeConfig treeNodeConfig; - private Tree parent; + private MapTree parent; - public Tree() { + /** + * 构造 + */ + public MapTree() { this(null); } @@ -40,7 +43,7 @@ public class Tree extends LinkedHashMap implements Node { * * @param treeNodeConfig TreeNode配置 */ - public Tree(final TreeNodeConfig treeNodeConfig) { + public MapTree(final TreeNodeConfig treeNodeConfig) { this.treeNodeConfig = ObjUtil.defaultIfNull( treeNodeConfig, TreeNodeConfig.DEFAULT_CONFIG); } @@ -61,7 +64,7 @@ public class Tree extends LinkedHashMap implements Node { * @return 父节点 * @since 5.2.4 */ - public Tree getParent() { + public MapTree getParent() { return parent; } @@ -73,7 +76,7 @@ public class Tree extends LinkedHashMap implements Node { * @return 节点 * @since 5.2.4 */ - public Tree getNode(final T id) { + public MapTree getNode(final T id) { return TreeUtil.getNode(this, id); } @@ -115,7 +118,7 @@ public class Tree extends LinkedHashMap implements Node { * @return this * @since 5.2.4 */ - public Tree setParent(final Tree parent) { + public MapTree setParent(final MapTree parent) { this.parent = parent; if (null != parent) { this.setParentId(parent.getId()); @@ -130,7 +133,7 @@ public class Tree extends LinkedHashMap implements Node { } @Override - public Tree setId(final T id) { + public MapTree setId(final T id) { this.put(treeNodeConfig.getIdKey(), id); return this; } @@ -142,7 +145,7 @@ public class Tree extends LinkedHashMap implements Node { } @Override - public Tree setParentId(final T parentId) { + public MapTree setParentId(final T parentId) { this.put(treeNodeConfig.getParentIdKey(), parentId); return this; } @@ -153,7 +156,7 @@ public class Tree extends LinkedHashMap implements Node { } @Override - public Tree setName(final CharSequence name) { + public MapTree setName(final CharSequence name) { this.put(treeNodeConfig.getNameKey(), name); return this; } @@ -164,7 +167,7 @@ public class Tree extends LinkedHashMap implements Node { } @Override - public Tree setWeight(final Comparable weight) { + public MapTree setWeight(final Comparable weight) { this.put(treeNodeConfig.getWeightKey(), weight); return this; } @@ -175,8 +178,8 @@ public class Tree extends LinkedHashMap implements Node { * @return 所有子节点 */ @SuppressWarnings("unchecked") - public List> getChildren() { - return (List>) this.get(treeNodeConfig.getChildrenKey()); + public List> getChildren() { + return (List>) this.get(treeNodeConfig.getChildrenKey()); } /** @@ -195,7 +198,7 @@ public class Tree extends LinkedHashMap implements Node { * @param consumer 节点处理器 * @since 5.7.16 */ - public void walk(final Consumer> consumer) { + public void walk(final Consumer> consumer) { walk(consumer, false); } @@ -206,27 +209,27 @@ public class Tree extends LinkedHashMap implements Node { * @param broadFirst 是否广度优先遍历 * @since 6.0.0 */ - public void walk(final Consumer> consumer, final boolean broadFirst) { + public void walk(final Consumer> consumer, final boolean broadFirst) { if (broadFirst) { // 广度优先遍历 // 加入FIFO队列 - final Queue> queue = new LinkedList<>(); + final Queue> queue = new LinkedList<>(); queue.offer(this); while (false == queue.isEmpty()) { - final Tree node = queue.poll(); + final MapTree node = queue.poll(); consumer.accept(node); - final List> children = node.getChildren(); + final List> children = node.getChildren(); if (CollUtil.isNotEmpty(children)) { children.forEach(queue::offer); } } } else { // 深度优先遍历 // 入栈,FILO - final Stack> stack = new Stack<>(); + final Stack> stack = new Stack<>(); stack.add(this); while (false == stack.isEmpty()) { - final Tree node = stack.pop(); + final MapTree node = stack.pop(); consumer.accept(node); - final List> children = node.getChildren(); + final List> children = node.getChildren(); if (CollUtil.isNotEmpty(children)) { children.forEach(stack::push); } @@ -243,7 +246,7 @@ public class Tree extends LinkedHashMap implements Node { * @see #filter(Predicate) * @since 5.7.17 */ - public Tree filterNew(final Predicate> predicate) { + public MapTree filterNew(final Predicate> predicate) { return cloneTree().filter(predicate); } @@ -256,18 +259,18 @@ public class Tree extends LinkedHashMap implements Node { * @see #filterNew(Predicate) * @since 5.7.17 */ - public Tree filter(final Predicate> predicate) { + public MapTree filter(final Predicate> predicate) { if (null == predicate || predicate.test(this)) { // 本节点满足,则包括所有子节点都保留 return this; } - final List> children = getChildren(); + final List> children = getChildren(); if (CollUtil.isNotEmpty(children)) { // 递归过滤子节点 - final List> filteredChildren = new ArrayList<>(children.size()); - Tree filteredChild; - for (final Tree child : children) { + final List> filteredChildren = new ArrayList<>(children.size()); + MapTree filteredChild; + for (final MapTree child : children) { filteredChild = child.filter(predicate); if (null != filteredChild) { filteredChildren.add(filteredChild); @@ -291,7 +294,7 @@ public class Tree extends LinkedHashMap implements Node { * @param children 子节点列表,如果为{@code null}表示移除子节点 * @return this */ - public Tree setChildren(final List> children) { + public MapTree setChildren(final List> children) { if (null == children) { this.remove(treeNodeConfig.getChildrenKey()); } @@ -307,14 +310,14 @@ public class Tree extends LinkedHashMap implements Node { * @since 5.6.7 */ @SafeVarargs - public final Tree addChildren(final Tree... children) { + public final MapTree addChildren(final MapTree... children) { if (ArrayUtil.isNotEmpty(children)) { - List> childrenList = this.getChildren(); + List> childrenList = this.getChildren(); if (null == childrenList) { childrenList = new ArrayList<>(); setChildren(childrenList); } - for (final Tree child : children) { + for (final MapTree child : children) { child.setParent(this); childrenList.add(child); } @@ -347,8 +350,8 @@ public class Tree extends LinkedHashMap implements Node { * @return 新的节点 * @since 5.7.17 */ - public Tree cloneTree() { - final Tree result = ObjUtil.clone(this); + public MapTree cloneTree() { + final MapTree result = ObjUtil.clone(this); result.setChildren(cloneChildren()); return result; } @@ -358,12 +361,12 @@ public class Tree extends LinkedHashMap implements Node { * * @return 新的子节点列表 */ - private List> cloneChildren() { - final List> children = getChildren(); + private List> cloneChildren() { + final List> children = getChildren(); if (null == children) { return null; } - final List> newChildren = new ArrayList<>(children.size()); + final List> newChildren = new ArrayList<>(children.size()); children.forEach((t) -> newChildren.add(t.cloneTree())); return newChildren; } @@ -375,13 +378,13 @@ public class Tree extends LinkedHashMap implements Node { * @param writer Writer * @param intent 缩进量 */ - private static void printTree(final Tree tree, final PrintWriter writer, final int intent) { + private static void printTree(final MapTree tree, final PrintWriter writer, final int intent) { writer.println(StrUtil.format("{}{}[{}]", StrUtil.repeat(CharUtil.SPACE, intent), tree.getName(), tree.getId())); writer.flush(); - final List> children = tree.getChildren(); + final List> children = tree.getChildren(); if (CollUtil.isNotEmpty(children)) { - for (final Tree child : children) { + for (final MapTree child : children) { printTree(child, writer, intent + 2); } } diff --git a/hutool-core/src/main/java/cn/hutool/core/tree/TreeBuilder.java b/hutool-core/src/main/java/cn/hutool/core/tree/TreeBuilder.java index e41a96ebe..7d883e9e9 100644 --- a/hutool-core/src/main/java/cn/hutool/core/tree/TreeBuilder.java +++ b/hutool-core/src/main/java/cn/hutool/core/tree/TreeBuilder.java @@ -1,6 +1,6 @@ package cn.hutool.core.tree; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.tree.parser.NodeParser; @@ -17,11 +17,11 @@ import java.util.Map; * * @param ID类型 */ -public class TreeBuilder implements Builder> { +public class TreeBuilder implements Builder> { private static final long serialVersionUID = 1L; - private final Tree root; - private final Map> idTreeMap; + private final MapTree root; + private final Map> idTreeMap; private boolean isBuild; /** @@ -54,7 +54,7 @@ public class TreeBuilder implements Builder> { * @param config 配置 */ public TreeBuilder(final E rootId, final TreeNodeConfig config) { - root = new Tree<>(config); + root = new MapTree<>(config); root.setId(rootId); this.idTreeMap = new HashMap<>(); } @@ -127,7 +127,7 @@ public class TreeBuilder implements Builder> { * @param map 节点列表 * @return this */ - public TreeBuilder append(final Map> map) { + public TreeBuilder append(final Map> map) { checkBuilt(); this.idTreeMap.putAll(map); @@ -140,10 +140,10 @@ public class TreeBuilder implements Builder> { * @param trees 节点列表 * @return this */ - public TreeBuilder append(final Iterable> trees) { + public TreeBuilder append(final Iterable> trees) { checkBuilt(); - for (final Tree tree : trees) { + for (final MapTree tree : trees) { this.idTreeMap.put(tree.getId(), tree); } return this; @@ -161,10 +161,10 @@ public class TreeBuilder implements Builder> { checkBuilt(); final TreeNodeConfig config = this.root.getConfig(); - final Map> map = new LinkedHashMap<>(list.size(), 1); - Tree node; + final Map> map = new LinkedHashMap<>(list.size(), 1); + MapTree node; for (final T t : list) { - node = new Tree<>(config); + node = new MapTree<>(config); nodeParser.parse(t, node); map.put(node.getId(), node); } @@ -185,7 +185,7 @@ public class TreeBuilder implements Builder> { } @Override - public Tree build() { + public MapTree build() { checkBuilt(); buildFromMap(); @@ -211,7 +211,7 @@ public class TreeBuilder implements Builder> { * * @return 树列表 */ - public List> buildList() { + public List> buildList() { if (isBuild) { // 已经构建过了 return this.root.getChildren(); @@ -227,9 +227,9 @@ public class TreeBuilder implements Builder> { return; } - final Map> eTreeMap = MapUtil.sortByValue(this.idTreeMap, false); + final Map> eTreeMap = MapUtil.sortByValue(this.idTreeMap, false); E parentId; - for (final Tree node : eTreeMap.values()) { + for (final MapTree node : eTreeMap.values()) { if (null == node) { continue; } @@ -239,7 +239,7 @@ public class TreeBuilder implements Builder> { continue; } - final Tree parentNode = eTreeMap.get(parentId); + final MapTree parentNode = eTreeMap.get(parentId); if (null != parentNode) { parentNode.addChildren(node); } @@ -265,7 +265,7 @@ public class TreeBuilder implements Builder> { * @param currentDepp 当前层级 * @param maxDeep 最大层级 */ - private void cutTree(final Tree tree, final int currentDepp, final int maxDeep) { + private void cutTree(final MapTree tree, final int currentDepp, final int maxDeep) { if (null == tree) { return; } @@ -275,9 +275,9 @@ public class TreeBuilder implements Builder> { return; } - final List> children = tree.getChildren(); + final List> children = tree.getChildren(); if (CollUtil.isNotEmpty(children)) { - for (final Tree child : children) { + for (final MapTree child : children) { cutTree(child, currentDepp + 1, maxDeep); } } diff --git a/hutool-core/src/main/java/cn/hutool/core/tree/TreeUtil.java b/hutool-core/src/main/java/cn/hutool/core/tree/TreeUtil.java index a93c7be15..29a26f37e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/tree/TreeUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/tree/TreeUtil.java @@ -21,10 +21,10 @@ public class TreeUtil { * 构建单root节点树 * * @param list 源数据集合 - * @return {@link Tree} + * @return {@link MapTree} * @since 5.7.2 */ - public static Tree buildSingle(final List> list) { + public static MapTree buildSingle(final List> list) { return buildSingle(list, 0); } @@ -34,7 +34,7 @@ public class TreeUtil { * @param list 源数据集合 * @return List */ - public static List> build(final List> list) { + public static List> build(final List> list) { return build(list, 0); } @@ -45,10 +45,10 @@ public class TreeUtil { * @param ID类型 * @param list 源数据集合 * @param parentId 最顶层父id值 一般为 0 之类 - * @return {@link Tree} + * @return {@link MapTree} * @since 5.7.2 */ - public static Tree buildSingle(final List> list, final E parentId) { + public static MapTree buildSingle(final List> list, final E parentId) { return buildSingle(list, parentId, TreeNodeConfig.DEFAULT_CONFIG, new DefaultNodeParser<>()); } @@ -60,7 +60,7 @@ public class TreeUtil { * @param parentId 最顶层父id值 一般为 0 之类 * @return List */ - public static List> build(final List> list, final E parentId) { + public static List> build(final List> list, final E parentId) { return build(list, parentId, TreeNodeConfig.DEFAULT_CONFIG, new DefaultNodeParser<>()); } @@ -73,10 +73,10 @@ public class TreeUtil { * @param list 源数据集合 * @param parentId 最顶层父id值 一般为 0 之类 * @param nodeParser 转换器 - * @return {@link Tree} + * @return {@link MapTree} * @since 5.7.2 */ - public static Tree buildSingle(final List list, final E parentId, final NodeParser nodeParser) { + public static MapTree buildSingle(final List list, final E parentId, final NodeParser nodeParser) { return buildSingle(list, parentId, TreeNodeConfig.DEFAULT_CONFIG, nodeParser); } @@ -90,7 +90,7 @@ public class TreeUtil { * @param nodeParser 转换器 * @return List */ - public static List> build(final List list, final E parentId, final NodeParser nodeParser) { + public static List> build(final List list, final E parentId, final NodeParser nodeParser) { return build(list, parentId, TreeNodeConfig.DEFAULT_CONFIG, nodeParser); } @@ -105,7 +105,7 @@ public class TreeUtil { * @param nodeParser 转换器 * @return List */ - public static List> build(final List list, final E rootId, final TreeNodeConfig treeNodeConfig, final NodeParser nodeParser) { + public static List> build(final List list, final E rootId, final TreeNodeConfig treeNodeConfig, final NodeParser nodeParser) { return buildSingle(list, rootId, treeNodeConfig, nodeParser).getChildren(); } @@ -119,10 +119,10 @@ public class TreeUtil { * @param rootId 最顶层父id值 一般为 0 之类 * @param treeNodeConfig 配置 * @param nodeParser 转换器 - * @return {@link Tree} + * @return {@link MapTree} * @since 5.7.2 */ - public static Tree buildSingle(final List list, final E rootId, final TreeNodeConfig treeNodeConfig, final NodeParser nodeParser) { + public static MapTree buildSingle(final List list, final E rootId, final TreeNodeConfig treeNodeConfig, final NodeParser nodeParser) { return TreeBuilder.of(rootId, treeNodeConfig) .append(list, nodeParser).build(); } @@ -136,7 +136,7 @@ public class TreeUtil { * @return List * @since 5.6.7 */ - public static List> build(final Map> map, final E rootId) { + public static List> build(final Map> map, final E rootId) { return buildSingle(map, rootId).getChildren(); } @@ -147,11 +147,11 @@ public class TreeUtil { * @param ID类型 * @param map 源数据Map * @param rootId 根节点id值 一般为 0 之类 - * @return {@link Tree} + * @return {@link MapTree} * @since 5.7.2 */ - public static Tree buildSingle(final Map> map, final E rootId) { - final Tree tree = CollUtil.getFirstNoneNull(map.values()); + public static MapTree buildSingle(final Map> map, final E rootId) { + final MapTree tree = CollUtil.getFirstNoneNull(map.values()); if (null != tree) { final TreeNodeConfig config = tree.getConfig(); return TreeBuilder.of(rootId, config) @@ -172,19 +172,19 @@ public class TreeUtil { * @return 节点 * @since 5.2.4 */ - public static Tree getNode(final Tree node, final T id) { + public static MapTree getNode(final MapTree node, final T id) { if (ObjUtil.equals(id, node.getId())) { return node; } - final List> children = node.getChildren(); + final List> children = node.getChildren(); if (null == children) { return null; } // 查找子节点 - Tree childNode; - for (final Tree child : children) { + MapTree childNode; + for (final MapTree child : children) { childNode = child.getNode(id); if (null != childNode) { return childNode; @@ -208,7 +208,7 @@ public class TreeUtil { * @return 所有父节点名称列表,node为null返回空List * @since 5.2.4 */ - public static List getParentsName(final Tree node, final boolean includeCurrentNode) { + public static List getParentsName(final MapTree node, final boolean includeCurrentNode) { final List result = new ArrayList<>(); if (null == node) { return result; @@ -218,7 +218,7 @@ public class TreeUtil { result.add(node.getName()); } - Tree parent = node.getParent(); + MapTree parent = node.getParent(); while (null != parent) { result.add(parent.getName()); parent = parent.getParent(); @@ -231,11 +231,11 @@ public class TreeUtil { * * @param id 节点ID * @param 节点ID类型 - * @return {@link Tree} + * @return {@link MapTree} * @since 5.7.2 */ - public static Tree createEmptyNode(final E id) { - return new Tree().setId(id); + public static MapTree createEmptyNode(final E id) { + return new MapTree().setId(id); } /** @@ -246,11 +246,11 @@ public class TreeUtil { * @param 节点ID类型 * @return 树所有节点列表 */ - public static List> toList(final Tree root, final boolean broadFirst) { + public static List> toList(final MapTree root, final boolean broadFirst) { if (Objects.isNull(root)) { return null; } - final List> list = new ArrayList<>(); + final List> list = new ArrayList<>(); root.walk(list::add, broadFirst); return list; diff --git a/hutool-core/src/main/java/cn/hutool/core/tree/parser/DefaultNodeParser.java b/hutool-core/src/main/java/cn/hutool/core/tree/parser/DefaultNodeParser.java index 719529f2a..6ef0c65b7 100644 --- a/hutool-core/src/main/java/cn/hutool/core/tree/parser/DefaultNodeParser.java +++ b/hutool-core/src/main/java/cn/hutool/core/tree/parser/DefaultNodeParser.java @@ -1,7 +1,7 @@ package cn.hutool.core.tree.parser; import cn.hutool.core.tree.TreeNode; -import cn.hutool.core.tree.Tree; +import cn.hutool.core.tree.MapTree; import cn.hutool.core.map.MapUtil; import java.util.Map; @@ -15,7 +15,7 @@ import java.util.Map; public class DefaultNodeParser implements NodeParser, T> { @Override - public void parse(final TreeNode treeNode, final Tree tree) { + public void parse(final TreeNode treeNode, final MapTree tree) { tree.setId(treeNode.getId()); tree.setParentId(treeNode.getParentId()); tree.setWeight(treeNode.getWeight()); diff --git a/hutool-core/src/main/java/cn/hutool/core/tree/parser/NodeParser.java b/hutool-core/src/main/java/cn/hutool/core/tree/parser/NodeParser.java index d5b7de335..0dc8a5251 100644 --- a/hutool-core/src/main/java/cn/hutool/core/tree/parser/NodeParser.java +++ b/hutool-core/src/main/java/cn/hutool/core/tree/parser/NodeParser.java @@ -1,6 +1,6 @@ package cn.hutool.core.tree.parser; -import cn.hutool.core.tree.Tree; +import cn.hutool.core.tree.MapTree; /** * 树节点解析器 可以参考{@link DefaultNodeParser} @@ -14,6 +14,6 @@ public interface NodeParser { * @param object 源数据实体 * @param treeNode 树节点实体 */ - void parse(T object, Tree treeNode); + void parse(T object, MapTree treeNode); } diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ByteUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ByteUtil.java index d5d0ff30d..e57fe87ae 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/ByteUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ByteUtil.java @@ -29,6 +29,9 @@ import java.util.concurrent.atomic.LongAdder; */ public class ByteUtil { + /** + * 默认字节序:大端在前,小端在后 + */ public static final ByteOrder DEFAULT_ORDER = ByteOrder.LITTLE_ENDIAN; /** * CPU的字节序 diff --git a/hutool-core/src/main/java/cn/hutool/core/util/CreditCodeUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/CreditCodeUtil.java index 2e0486494..91984f836 100755 --- a/hutool-core/src/main/java/cn/hutool/core/util/CreditCodeUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/CreditCodeUtil.java @@ -25,6 +25,9 @@ import java.util.regex.Pattern; */ public class CreditCodeUtil { + /** + * 统一社会信用代码正则 + */ public static final Pattern CREDIT_CODE_PATTERN = PatternPool.CREDIT_CODE; /** diff --git a/hutool-core/src/main/java/cn/hutool/core/util/PageUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/PageUtil.java index 7753135cc..3c49f1d5e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/PageUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/PageUtil.java @@ -174,7 +174,7 @@ public class PageUtil { * @param pageSize 每页数 * @return 总页数 */ - public static int totalPage(int totalCount, int pageSize) { + public static int totalPage(final int totalCount, final int pageSize) { return totalPage((long) totalCount, pageSize); } @@ -186,7 +186,7 @@ public class PageUtil { * @return 总页数 * @since 5.8.5 */ - public static int totalPage(long totalCount, int pageSize) { + public static int totalPage(final long totalCount, final int pageSize) { if (pageSize == 0) { return 0; } diff --git a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java index d342bb496..2a97cb106 100755 --- a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java @@ -1487,7 +1487,6 @@ public class XmlUtil { */ private void examineNode(final Node node, final boolean attributesOnly) { final NamedNodeMap attributes = node.getAttributes(); - //noinspection ConstantConditions if (null != attributes) { final int length = attributes.getLength(); for (int i = 0; i < length; i++) { diff --git a/hutool-core/src/test/java/cn/hutool/core/builder/GenericBuilderTest.java b/hutool-core/src/test/java/cn/hutool/core/builder/GenericBuilderTest.java index f4240f095..0703f1848 100644 --- a/hutool-core/src/test/java/cn/hutool/core/builder/GenericBuilderTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/builder/GenericBuilderTest.java @@ -1,5 +1,6 @@ package cn.hutool.core.builder; +import cn.hutool.core.lang.builder.GenericBuilder; import cn.hutool.core.text.StrUtil; import lombok.Getter; import lombok.Setter; diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/DictTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/DictTest.java index 8bfcbcb43..109675521 100755 --- a/hutool-core/src/test/java/cn/hutool/core/lang/DictTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/lang/DictTest.java @@ -1,6 +1,6 @@ package cn.hutool.core.lang; -import cn.hutool.core.builder.GenericBuilder; +import cn.hutool.core.lang.builder.GenericBuilder; import cn.hutool.core.date.DateTime; import cn.hutool.core.map.Dict; import lombok.AllArgsConstructor; diff --git a/hutool-core/src/test/java/cn/hutool/core/net/FormUrlencodedTest.java b/hutool-core/src/test/java/cn/hutool/core/net/FormUrlencodedTest.java index c44bd0397..51ee92c64 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/FormUrlencodedTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/FormUrlencodedTest.java @@ -1,5 +1,6 @@ package cn.hutool.core.net; +import cn.hutool.core.net.url.FormUrlencoded; import cn.hutool.core.util.CharsetUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/net/RFC3986Test.java b/hutool-core/src/test/java/cn/hutool/core/net/RFC3986Test.java index 786d4d856..740e8cd8f 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/RFC3986Test.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/RFC3986Test.java @@ -1,5 +1,6 @@ package cn.hutool.core.net; +import cn.hutool.core.net.url.RFC3986; import cn.hutool.core.util.CharsetUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/net/URLEncoderTest.java b/hutool-core/src/test/java/cn/hutool/core/net/URLEncoderTest.java index 22d40c237..d03988639 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/URLEncoderTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/URLEncoderTest.java @@ -1,5 +1,7 @@ package cn.hutool.core.net; +import cn.hutool.core.net.url.URLDecoder; +import cn.hutool.core.net.url.URLEncoder; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/net/URLUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/net/URLUtilTest.java index 45b59fc2d..eeb690cba 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/URLUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/URLUtilTest.java @@ -1,5 +1,6 @@ package cn.hutool.core.net; +import cn.hutool.core.net.url.URLUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/net/UrlDecoderTest.java b/hutool-core/src/test/java/cn/hutool/core/net/UrlDecoderTest.java index 12cac566b..48fa6eece 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/UrlDecoderTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/UrlDecoderTest.java @@ -1,5 +1,6 @@ package cn.hutool.core.net; +import cn.hutool.core.net.url.URLDecoder; import cn.hutool.core.util.CharsetUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java b/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java index d47c4a98c..ad2b3fbab 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java @@ -1,6 +1,7 @@ package cn.hutool.core.net; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlQuery; import cn.hutool.core.util.CharsetUtil; diff --git a/hutool-core/src/test/java/cn/hutool/core/tree/Issue2279Test.java b/hutool-core/src/test/java/cn/hutool/core/tree/Issue2279Test.java index d56cc38d3..768e6c696 100755 --- a/hutool-core/src/test/java/cn/hutool/core/tree/Issue2279Test.java +++ b/hutool-core/src/test/java/cn/hutool/core/tree/Issue2279Test.java @@ -19,7 +19,7 @@ public class Issue2279Test { new TestTree(4, 2, 4, 4) ); - final List> stringTree = TreeUtil.build(list, "0", + final List> stringTree = TreeUtil.build(list, "0", (object, treeNode) -> { treeNode.setId(object.getId()); treeNode.setName(object.getName()); @@ -28,7 +28,7 @@ public class Issue2279Test { } ); - final Tree result = stringTree.get(0); + final MapTree result = stringTree.get(0); Assert.assertEquals(2, result.getChildren().size()); } diff --git a/hutool-core/src/test/java/cn/hutool/core/tree/TreeSearchTest.java b/hutool-core/src/test/java/cn/hutool/core/tree/TreeSearchTest.java index 941f6559f..e23fca534 100755 --- a/hutool-core/src/test/java/cn/hutool/core/tree/TreeSearchTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/tree/TreeSearchTest.java @@ -1,8 +1,5 @@ package cn.hutool.core.tree; -import cn.hutool.core.tree.Tree; -import cn.hutool.core.tree.TreeNode; -import cn.hutool.core.tree.TreeUtil; import org.junit.Assert; import org.junit.Test; @@ -30,10 +27,10 @@ public class TreeSearchTest { @Test public void searchNode() { - final List> treeItems= TreeUtil.build(all_menu, 0L); + final List> treeItems= TreeUtil.build(all_menu, 0L); - final Tree tree=treeItems.get(0); - final Tree searchResult=tree.getNode(3L); + final MapTree tree=treeItems.get(0); + final MapTree searchResult=tree.getNode(3L); Assert.assertEquals("module-B", searchResult.getName()); } diff --git a/hutool-core/src/test/java/cn/hutool/core/tree/TreeTest.java b/hutool-core/src/test/java/cn/hutool/core/tree/TreeTest.java index 489db4fc8..c14971119 100755 --- a/hutool-core/src/test/java/cn/hutool/core/tree/TreeTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/tree/TreeTest.java @@ -31,16 +31,16 @@ public class TreeTest { @Test public void sampleTreeTest() { - final List> treeList = TreeUtil.build(nodeList, "0"); - for (final Tree tree : treeList) { + final List> treeList = TreeUtil.build(nodeList, "0"); + for (final MapTree tree : treeList) { Assert.assertNotNull(tree); Assert.assertEquals("0", tree.getParentId()); // Console.log(tree); } // 测试通过子节点查找父节点 - final Tree rootNode0 = treeList.get(0); - final Tree parent = rootNode0.getChildren().get(0).getParent(); + final MapTree rootNode0 = treeList.get(0); + final MapTree parent = rootNode0.getChildren().get(0).getParent(); Assert.assertEquals(rootNode0, parent); } @@ -55,7 +55,7 @@ public class TreeTest { treeNodeConfig.setDeep(2); //转换器 - final List> treeNodes = TreeUtil.build(nodeList, "0", treeNodeConfig, + final List> treeNodes = TreeUtil.build(nodeList, "0", treeNodeConfig, (treeNode, tree) -> { tree.setId(treeNode.getId()); tree.setParentId(treeNode.getParentId()); @@ -72,7 +72,7 @@ public class TreeTest { @Test public void walkTest(){ final List ids = new ArrayList<>(); - final Tree tree = TreeUtil.buildSingle(nodeList, "0"); + final MapTree tree = TreeUtil.buildSingle(nodeList, "0"); tree.walk((tr)-> ids.add(tr.getId())); Assert .assertEquals(7, ids.size()); @@ -81,7 +81,7 @@ public class TreeTest { @Test public void walkBroadFirstTest(){ final List ids = new ArrayList<>(); - final Tree tree = TreeUtil.buildSingle(nodeList, "0"); + final MapTree tree = TreeUtil.buildSingle(nodeList, "0"); Console.log(tree); tree.walk((tr)-> ids.add(tr.getId()), true); @@ -91,8 +91,8 @@ public class TreeTest { @Test public void cloneTreeTest(){ - final Tree tree = TreeUtil.buildSingle(nodeList, "0"); - final Tree cloneTree = tree.cloneTree(); + final MapTree tree = TreeUtil.buildSingle(nodeList, "0"); + final MapTree cloneTree = tree.cloneTree(); final List ids = new ArrayList<>(); cloneTree.walk((tr)-> ids.add(tr.getId())); @@ -103,7 +103,7 @@ public class TreeTest { @Test public void filterTest(){ // 经过过滤,丢掉"用户添加"节点 - final Tree tree = TreeUtil.buildSingle(nodeList, "0"); + final MapTree tree = TreeUtil.buildSingle(nodeList, "0"); tree.filter((t)->{ final CharSequence name = t.getName(); return null != name && name.toString().contains("店铺"); @@ -116,10 +116,10 @@ public class TreeTest { @Test public void filterNewTest(){ - final Tree tree = TreeUtil.buildSingle(nodeList, "0"); + final MapTree tree = TreeUtil.buildSingle(nodeList, "0"); // 经过过滤,生成新的树 - final Tree newTree = tree.filterNew((t)->{ + final MapTree newTree = tree.filterNew((t)->{ final CharSequence name = t.getName(); return null != name && name.toString().contains("店铺"); }); diff --git a/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPatternBuilder.java b/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPatternBuilder.java index ac2adb55b..18fcfb338 100644 --- a/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPatternBuilder.java +++ b/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPatternBuilder.java @@ -1,6 +1,6 @@ package cn.hutool.cron.pattern; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.lang.Assert; import cn.hutool.core.text.StrJoiner; import cn.hutool.core.util.ArrayUtil; diff --git a/hutool-db/src/main/java/cn/hutool/db/sql/ConditionBuilder.java b/hutool-db/src/main/java/cn/hutool/db/sql/ConditionBuilder.java index e18f310a5..19a32e3df 100644 --- a/hutool-db/src/main/java/cn/hutool/db/sql/ConditionBuilder.java +++ b/hutool-db/src/main/java/cn/hutool/db/sql/ConditionBuilder.java @@ -1,6 +1,6 @@ package cn.hutool.db.sql; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharUtil; diff --git a/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java b/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java index 8bedc1020..696283126 100644 --- a/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java +++ b/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java @@ -1,6 +1,6 @@ package cn.hutool.db.sql; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ArrayUtil; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/mail/Mail.java b/hutool-extra/src/main/java/cn/hutool/extra/mail/Mail.java index ec97bbb5d..6c0650676 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/mail/Mail.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/mail/Mail.java @@ -1,6 +1,6 @@ package cn.hutool.extra.mail; -import cn.hutool.core.builder.Builder; +import cn.hutool.core.lang.builder.Builder; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java index ae09fd603..a088c8ea6 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java @@ -11,7 +11,7 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.map.CaseInsensitiveMap; import cn.hutool.core.map.MapUtil; import cn.hutool.core.net.NetUtil; -import cn.hutool.core.net.URLEncoder; +import cn.hutool.core.net.url.URLEncoder; import cn.hutool.core.net.multipart.MultipartFormData; import cn.hutool.core.net.multipart.UploadSetting; import cn.hutool.core.reflect.ConstructorUtil; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java index 402a94ef5..008934b95 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java @@ -11,7 +11,7 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.map.CaseInsensitiveMap; import cn.hutool.core.map.MapUtil; import cn.hutool.core.net.NetUtil; -import cn.hutool.core.net.URLEncoder; +import cn.hutool.core.net.url.URLEncoder; import cn.hutool.core.net.multipart.MultipartFormData; import cn.hutool.core.net.multipart.UploadSetting; import cn.hutool.core.reflect.ConstructorUtil; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java index 1421077fc..3cd8631f6 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java @@ -3,7 +3,7 @@ package cn.hutool.extra.ssh; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.net.LocalPortGenerater; +import cn.hutool.core.net.LocalPortGenerator; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.text.StrUtil; import com.jcraft.jsch.*; @@ -31,7 +31,7 @@ public class JschUtil { /** * 本地端口生成器 */ - private static final LocalPortGenerater portGenerater = new LocalPortGenerater(10000); + private static final LocalPortGenerator portGenerater = new LocalPortGenerator(10000); /** * 生成一个本地端口,用于远程端口映射 diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpConfig.java b/hutool-http/src/main/java/cn/hutool/http/HttpConfig.java index 2338e77f9..ee3f2e8fd 100755 --- a/hutool-http/src/main/java/cn/hutool/http/HttpConfig.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpConfig.java @@ -1,7 +1,7 @@ package cn.hutool.http; import cn.hutool.core.lang.Assert; -import cn.hutool.core.net.SSLUtil; +import cn.hutool.core.net.ssl.SSLUtil; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLSocketFactory; diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java b/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java index 73da28ea1..1d4cda745 100644 --- a/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java @@ -1,7 +1,7 @@ package cn.hutool.http; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.reflect.FieldUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ObjUtil; diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpRequest.java b/hutool-http/src/main/java/cn/hutool/http/HttpRequest.java index 3c634c988..60263d720 100755 --- a/hutool-http/src/main/java/cn/hutool/http/HttpRequest.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpRequest.java @@ -10,12 +10,12 @@ import cn.hutool.core.io.resource.Resource; import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.TableMap; -import cn.hutool.core.net.SSLUtil; +import cn.hutool.core.net.ssl.SSLUtil; import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlQuery; +import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.text.StrUtil; import cn.hutool.http.body.BytesBody; import cn.hutool.http.body.FormUrlEncodedBody; import cn.hutool.http.body.MultipartBody; diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpResponse.java b/hutool-http/src/main/java/cn/hutool/http/HttpResponse.java index 69e5f78d3..f0af91e5c 100755 --- a/hutool-http/src/main/java/cn/hutool/http/HttpResponse.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpResponse.java @@ -7,7 +7,7 @@ import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.StreamProgress; import cn.hutool.core.lang.Assert; -import cn.hutool.core.net.URLEncoder; +import cn.hutool.core.net.url.URLEncoder; import cn.hutool.core.regex.ReUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.http.cookie.GlobalCookieManager; diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java b/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java index d97d8d761..70e1efeb5 100755 --- a/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java @@ -6,8 +6,8 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.StreamProgress; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.net.RFC3986; -import cn.hutool.core.net.URLEncoder; +import cn.hutool.core.net.url.RFC3986; +import cn.hutool.core.net.url.URLEncoder; import cn.hutool.core.net.url.UrlQuery; import cn.hutool.core.regex.ReUtil; import cn.hutool.core.text.StrUtil; diff --git a/hutool-http/src/main/java/cn/hutool/http/cookie/GlobalCookieManager.java b/hutool-http/src/main/java/cn/hutool/http/cookie/GlobalCookieManager.java index 5b406817c..0ce8eefee 100644 --- a/hutool-http/src/main/java/cn/hutool/http/cookie/GlobalCookieManager.java +++ b/hutool-http/src/main/java/cn/hutool/http/cookie/GlobalCookieManager.java @@ -2,7 +2,7 @@ package cn.hutool.http.cookie; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.http.HttpConnection; import java.io.IOException; diff --git a/hutool-http/src/main/java/cn/hutool/http/server/HttpServerResponse.java b/hutool-http/src/main/java/cn/hutool/http/server/HttpServerResponse.java index dd26b3353..04e716927 100644 --- a/hutool-http/src/main/java/cn/hutool/http/server/HttpServerResponse.java +++ b/hutool-http/src/main/java/cn/hutool/http/server/HttpServerResponse.java @@ -3,7 +3,7 @@ package cn.hutool.http.server; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; -import cn.hutool.core.net.URLEncoder; +import cn.hutool.core.net.url.URLEncoder; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.http.ContentType; diff --git a/hutool-http/src/main/java/cn/hutool/http/ssl/AndroidSupportSSLFactory.java b/hutool-http/src/main/java/cn/hutool/http/ssl/AndroidSupportSSLFactory.java index bfcf02c4a..165c1536b 100644 --- a/hutool-http/src/main/java/cn/hutool/http/ssl/AndroidSupportSSLFactory.java +++ b/hutool-http/src/main/java/cn/hutool/http/ssl/AndroidSupportSSLFactory.java @@ -1,7 +1,7 @@ package cn.hutool.http.ssl; import cn.hutool.core.io.IORuntimeException; -import cn.hutool.core.net.SSLProtocols; +import cn.hutool.core.net.ssl.SSLProtocols; /** * 兼容android低版本SSL连接
diff --git a/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java b/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java index b5eada654..c7cbc3332 100644 --- a/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java +++ b/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java @@ -1,7 +1,7 @@ package cn.hutool.http.ssl; import cn.hutool.core.io.IORuntimeException; -import cn.hutool.core.net.SSLUtil; +import cn.hutool.core.net.ssl.SSLUtil; import cn.hutool.core.util.ArrayUtil; import javax.net.ssl.SSLSocket; diff --git a/hutool-http/src/test/java/cn/hutool/http/HttpRequestTest.java b/hutool-http/src/test/java/cn/hutool/http/HttpRequestTest.java index d34012c7a..5c2919f94 100644 --- a/hutool-http/src/test/java/cn/hutool/http/HttpRequestTest.java +++ b/hutool-http/src/test/java/cn/hutool/http/HttpRequestTest.java @@ -3,7 +3,7 @@ package cn.hutool.http; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.StopWatch; import cn.hutool.core.lang.Console; -import cn.hutool.core.net.SSLProtocols; +import cn.hutool.core.net.ssl.SSLProtocols; import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.util.CharsetUtil; import org.junit.Ignore; diff --git a/hutool-http/src/test/java/cn/hutool/http/IssueI5TFPUTest.java b/hutool-http/src/test/java/cn/hutool/http/IssueI5TFPUTest.java new file mode 100644 index 000000000..ecb75d970 --- /dev/null +++ b/hutool-http/src/test/java/cn/hutool/http/IssueI5TFPUTest.java @@ -0,0 +1,13 @@ +package cn.hutool.http; + +import cn.hutool.core.net.url.UrlBuilder; +import org.junit.Assert; +import org.junit.Test; + +public class IssueI5TFPUTest { + @Test + public void urlBuilderTest() { + final UrlBuilder urlBuilder = UrlBuilder.of("https://hutool.cn", null).addQuery("opt", "%"); + Assert.assertEquals("https://hutool.cn?opt=%", urlBuilder.toString()); + } +} diff --git a/hutool-json/src/main/java/cn/hutool/json/JSON.java b/hutool-json/src/main/java/cn/hutool/json/JSON.java index 134cc98b1..1c3ac9edf 100755 --- a/hutool-json/src/main/java/cn/hutool/json/JSON.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSON.java @@ -178,7 +178,7 @@ public interface JSON extends Converter, Cloneable, Serializable { } @Override - default Object convert(Type targetType, Object value) throws ConvertException { + default Object convert(final Type targetType, final Object value) throws ConvertException { return JSONConverter.of(getConfig()).convert(targetType, value); } } diff --git a/hutool-json/src/main/java/cn/hutool/json/package-info.java b/hutool-json/src/main/java/cn/hutool/json/package-info.java index 19284b604..c9ef526da 100644 --- a/hutool-json/src/main/java/cn/hutool/json/package-info.java +++ b/hutool-json/src/main/java/cn/hutool/json/package-info.java @@ -6,9 +6,9 @@ * * JSON封装主要包括JSON表示和JSON转换: * - *
- *     Java对象   <---->   JSON对象   <----> JSON字符串
- * 
+ *
{@code
+ *     Java对象   <---->   JSON对象   <---->    JSON字符串
+ * }
* * * @author looly diff --git a/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java b/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java index 8d7da672c..d1feddc9d 100755 --- a/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java @@ -13,7 +13,7 @@ import cn.hutool.core.map.SafeConcurrentHashMap; import cn.hutool.core.map.TableMap; import cn.hutool.core.map.multi.RowKeyTable; import cn.hutool.core.map.multi.Table; -import cn.hutool.core.net.URLEncoder; +import cn.hutool.core.net.url.URLEncoder; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.poi.excel.cell.CellLocation; diff --git a/hutool-setting/src/main/java/cn/hutool/setting/GroupedSet.java b/hutool-setting/src/main/java/cn/hutool/setting/GroupedSet.java index 5663a8412..ae9f68990 100644 --- a/hutool-setting/src/main/java/cn/hutool/setting/GroupedSet.java +++ b/hutool-setting/src/main/java/cn/hutool/setting/GroupedSet.java @@ -3,7 +3,7 @@ package cn.hutool.setting; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.io.IoUtil; -import cn.hutool.core.net.URLUtil; +import cn.hutool.core.net.url.URLUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharsetUtil;