This commit is contained in:
Looly 2023-04-18 00:10:46 +08:00
parent 6e6079725d
commit 1d1c881aa6
24 changed files with 1147 additions and 1039 deletions

View File

@ -10,7 +10,7 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.util;
package org.dromara.hutool.core.data;
import java.io.Serializable;
import java.util.Objects;

View File

@ -10,12 +10,13 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.util;
package org.dromara.hutool.core.data;
import org.dromara.hutool.core.map.SafeConcurrentHashMap;
import org.dromara.hutool.core.regex.PatternPool;
import org.dromara.hutool.core.regex.ReUtil;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.util.RandomUtil;
import java.util.Map;
import java.util.regex.Pattern;

View File

@ -10,8 +10,9 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.text;
package org.dromara.hutool.core.data;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.util.CharUtil;
/**

View File

@ -10,7 +10,9 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.text;
package org.dromara.hutool.core.data;
import org.dromara.hutool.core.text.StrUtil;
/**
* 检测密码强度<br>

View File

@ -10,7 +10,7 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.util;
package org.dromara.hutool.core.data;
import org.dromara.hutool.core.regex.PatternPool;
import org.dromara.hutool.core.lang.Validator;

View File

@ -0,0 +1,20 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
/**
* 数据相关封装和工具类<br>
* 在Hutool中数据是指社会属性的内容<br>
* 如电话统一社会信用代码密码坐标系数据脱敏等
*
* @author looly
*/
package org.dromara.hutool.core.data;

View File

@ -17,7 +17,7 @@ import org.dromara.hutool.core.exceptions.ValidateException;
import org.dromara.hutool.core.regex.PatternPool;
import org.dromara.hutool.core.regex.RegexPool;
import org.dromara.hutool.core.util.CharsetUtil;
import org.dromara.hutool.core.util.CreditCodeUtil;
import org.dromara.hutool.core.data.CreditCodeUtil;
import org.dromara.hutool.core.math.NumberUtil;
import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.core.regex.ReUtil;

View File

@ -23,6 +23,7 @@ import org.dromara.hutool.core.text.finder.CharFinder;
import org.dromara.hutool.core.text.finder.CharMatcherFinder;
import org.dromara.hutool.core.text.finder.Finder;
import org.dromara.hutool.core.text.finder.StrFinder;
import org.dromara.hutool.core.text.placeholder.StrFormatter;
import org.dromara.hutool.core.text.replacer.RangeReplacerByChar;
import org.dromara.hutool.core.text.replacer.RangeReplacerByStr;
import org.dromara.hutool.core.text.replacer.SearchReplacer;

View File

@ -13,6 +13,7 @@
package org.dromara.hutool.core.text;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.text.placeholder.StrFormatter;
import org.dromara.hutool.core.util.CharsetUtil;
import java.io.StringReader;

View File

@ -10,10 +10,11 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.text;
package org.dromara.hutool.core.text.placeholder;
import org.dromara.hutool.core.exceptions.UtilException;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.text.StrChecker;
import org.dromara.hutool.core.util.CharUtil;
import java.util.Objects;

View File

@ -10,10 +10,10 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.text;
package org.dromara.hutool.core.text.placeholder;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.text.placeholder.StrTemplate;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.text.placeholder.template.NamedPlaceholderStrTemplate;
import java.util.Map;

View File

@ -10,9 +10,10 @@
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.text;
package org.dromara.hutool.core.text.placeholder;
import org.dromara.hutool.core.map.MapUtil;
import org.dromara.hutool.core.text.StrUtil;
import java.util.ArrayList;
import java.util.HashMap;

View File

@ -0,0 +1,16 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
/**
* 字符串占位符相关封装包括占位符替换变量和解析变量
*/
package org.dromara.hutool.core.text.placeholder;

View File

@ -7,8 +7,8 @@ import org.dromara.hutool.core.collection.CollUtil;
import org.dromara.hutool.core.collection.ListUtil;
import org.dromara.hutool.core.convert.Convert;
import org.dromara.hutool.core.exceptions.UtilException;
import org.dromara.hutool.core.func.LambdaUtil;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.lang.func.LambdaUtil;
import org.dromara.hutool.core.math.NumberUtil;
import org.dromara.hutool.core.text.StrPool;
import org.dromara.hutool.core.text.placeholder.StrTemplate;

View File

@ -1,4 +1,16 @@
package org.dromara.hutool.core.util;
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -1,5 +1,18 @@
package org.dromara.hutool.core.util;
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.data;
import org.dromara.hutool.core.data.CreditCodeUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -1,6 +1,18 @@
package org.dromara.hutool.core.util;
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
import org.dromara.hutool.core.text.MaskingUtil;
package org.dromara.hutool.core.data;
import org.dromara.hutool.core.data.MaskingUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -0,0 +1,30 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class PasswdStrengthTest {
@Test
public void strengthTest(){
final String passwd = "2hAj5#mne-ix.86H";
Assertions.assertEquals(13, PasswdStrength.check(passwd));
}
@Test
public void strengthNumberTest(){
final String passwd = "9999999999999";
Assertions.assertEquals(0, PasswdStrength.check(passwd));
}
}

View File

@ -1,5 +1,18 @@
package org.dromara.hutool.core.util;
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.core.data;
import org.dromara.hutool.core.data.PhoneUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -1,6 +1,6 @@
package org.dromara.hutool.core.lang;
import org.dromara.hutool.core.text.StrFormatter;
import org.dromara.hutool.core.text.placeholder.StrFormatter;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -1,18 +0,0 @@
package org.dromara.hutool.core.text;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class PasswdStrengthTest {
@Test
public void strengthTest(){
final String passwd = "2hAj5#mne-ix.86H";
Assertions.assertEquals(13, PasswdStrength.check(passwd));
}
@Test
public void strengthNumberTest(){
final String passwd = "9999999999999";
Assertions.assertEquals(0, PasswdStrength.check(passwd));
}
}

View File

@ -1,5 +1,6 @@
package org.dromara.hutool.core.text;
import org.dromara.hutool.core.text.placeholder.PlaceholderParser;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -1,5 +1,6 @@
package org.dromara.hutool.core.text;
import org.dromara.hutool.core.text.placeholder.StrMatcher;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;