fix comment

This commit is contained in:
Looly
2019-10-08 18:16:30 +08:00
parent 1364656855
commit 0685a8a141
55 changed files with 2334 additions and 2106 deletions

View File

@@ -33,39 +33,51 @@ import cn.hutool.setting.dialect.Props;
/**
* 设置工具类。 用于支持设置(配置)文件<br>
* BasicSetting用于替换Properties类提供功能更加强大的配置文件同时对Properties文件向下兼容
*
*
* <pre>
* 1、支持变量默认变量命名为 ${变量名}变量只能识别读入行的变量例如第6行的变量在第三行无法读取
* 2、支持分组分组为中括号括起来的内容中括号以下的行都为此分组的内容无分组相当于空字符分组若某个key是name加上分组后的键相当于group.name
* 3、注释以#开头,但是空行和不带“=”的行也会被跳过,但是建议加#
* 4、store方法不会保存注释内容慎重使用
* </pre>
*
*
* @author looly
*
*/
public class Setting extends AbsSetting implements Map<String, String> {
private static final long serialVersionUID = 3618305164959883393L;
/** 默认字符集 */
/**
* 默认字符集
*/
public final static Charset DEFAULT_CHARSET = CharsetUtil.CHARSET_UTF_8;
/** 默认配置文件扩展名 */
/**
* 默认配置文件扩展名
*/
public final static String EXT_NAME = "setting";
/** 附带分组的键值对存储 */
/**
* 附带分组的键值对存储
*/
private final GroupedMap groupedMap = new GroupedMap();
/** 本设置对象的字符集 */
/**
* 本设置对象的字符集
*/
protected Charset charset;
/** 是否使用变量 */
/**
* 是否使用变量
*/
protected boolean isUseVariable;
/** 设定文件的URL */
/**
* 设定文件的URL
*/
protected URL settingUrl;
private SettingLoader settingLoader;
private WatchMonitor watchMonitor;
// ------------------------------------------------------------------------------------- Constructor start
/**
* 空构造
*/
@@ -75,7 +87,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 构造
*
*
* @param path 相对路径或绝对路径
*/
public Setting(String path) {
@@ -84,8 +96,8 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 构造
*
* @param path 相对路径或绝对路径
*
* @param path 相对路径或绝对路径
* @param isUseVariable 是否使用变量
*/
public Setting(String path, boolean isUseVariable) {
@@ -94,9 +106,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 构造使用相对于Class文件根目录的相对路径
*
* @param path 相对路径或绝对路径
* @param charset 字符集
*
* @param path 相对路径或绝对路径
* @param charset 字符集
* @param isUseVariable 是否使用变量
*/
public Setting(String path, Charset charset, boolean isUseVariable) {
@@ -106,9 +118,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 构造
*
* @param configFile 配置文件对象
* @param charset 字符集
*
* @param configFile 配置文件对象
* @param charset 字符集
* @param isUseVariable 是否使用变量
*/
public Setting(File configFile, Charset charset, boolean isUseVariable) {
@@ -118,10 +130,10 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 构造相对于classes读取文件
*
* @param path 相对ClassPath路径或绝对路径
* @param clazz 基准类
* @param charset 字符集
*
* @param path 相对ClassPath路径或绝对路径
* @param clazz 基准类
* @param charset 字符集
* @param isUseVariable 是否使用变量
*/
public Setting(String path, Class<?> clazz, Charset charset, boolean isUseVariable) {
@@ -131,9 +143,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 构造
*
* @param url 设定文件的URL
* @param charset 字符集
*
* @param url 设定文件的URL
* @param charset 字符集
* @param isUseVariable 是否使用变量
*/
public Setting(URL url, Charset charset, boolean isUseVariable) {
@@ -144,9 +156,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 初始化设定文件
*
* @param resource {@link Resource}
* @param charset 字符集
*
* @param resource {@link Resource}
* @param charset 字符集
* @param isUseVariable 是否使用变量
* @return 成功初始化与否
*/
@@ -163,7 +175,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 重新加载配置文件
*
*
* @return 是否加载成功
*/
synchronized public boolean load() {
@@ -175,7 +187,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 在配置文件变更时自动加载
*
*
* @param autoReload 是否自动加载
*/
public void autoLoad(boolean autoReload) {
@@ -208,7 +220,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 键值总数
*
*
* @return 键值总数
*/
public int size() {
@@ -222,7 +234,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取并删除键值对,当指定键对应值非空时,返回并删除这个值,后边的键对应的值不再查找
*
*
* @param keys 键列表,常用于别名
* @return 值
* @since 3.1.2
@@ -240,7 +252,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取并删除键值对,当指定键对应值非空时,返回并删除这个值,后边的键对应的值不再查找
*
*
* @param keys 键列表,常用于别名
* @return 字符串值
* @since 3.1.2
@@ -258,7 +270,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获得指定分组的所有键值对,此方法获取的是原始键值对,获取的键值对可以被修改
*
*
* @param group 分组
* @return map
*/
@@ -269,7 +281,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取group分组下所有配置键值对组成新的{@link Setting}
*
*
* @param group 分组
* @return {@link Setting}
*/
@@ -281,7 +293,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取group分组下所有配置键值对组成新的{@link Properties}
*
*
* @param group 分组
* @return Properties对象
*/
@@ -293,7 +305,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取group分组下所有配置键值对组成新的{@link Props}
*
*
* @param group 分组
* @return Props对象
* @since 4.1.21
@@ -305,10 +317,11 @@ public class Setting extends AbsSetting implements Map<String, String> {
}
// --------------------------------------------------------------------------------- Functions
/**
* 持久化当前设置,会覆盖掉之前的设置<br>
* 持久化不会保留之前的分组
*
*
* @param absolutePath 设置文件的绝对路径
*/
public void store(String absolutePath) {
@@ -320,7 +333,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 转换为Properties对象原分组变为前缀
*
*
* @return Properties对象
*/
public Properties toProperties() {
@@ -337,7 +350,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取GroupedMap
*
*
* @return GroupedMap
* @since 4.0.12
*/
@@ -347,7 +360,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取所有分组
*
*
* @return 获得所有分组名
*/
public List<String> getGroups() {
@@ -357,8 +370,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 设置变量的正则<br>
* 正则只能有一个group表示变量本身剩余为字符 例如 \$\{(name)\}表示${name}变量名为name的一个变量表示
*
*
* @param regex 正则
* @return this
*/
public Setting setVarRegex(String regex) {
if (null == this.settingLoader) {
@@ -367,10 +381,10 @@ public class Setting extends AbsSetting implements Map<String, String> {
this.settingLoader.setVarRegex(regex);
return this;
}
/**
* 自定义字符编码
*
*
* @param charset 字符编码
* @return this
* @since 4.6.2
@@ -381,9 +395,10 @@ public class Setting extends AbsSetting implements Map<String, String> {
}
// ------------------------------------------------- Map interface with group
/**
* 某个分组对应的键值对是否为空
*
*
* @param group 分组
* @return 是否为空
*/
@@ -393,9 +408,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 指定分组中是否包含指定key
*
*
* @param group 分组
* @param key 键
* @param key
* @return 是否包含key
*/
public boolean containsKey(String group, String key) {
@@ -404,7 +419,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 指定分组中是否包含指定值
*
*
* @param group 分组
* @param value 值
* @return 是否包含值
@@ -415,9 +430,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取分组对应的值如果分组不存在或者值不存在则返回null
*
*
* @param group 分组
* @param key 键
* @param key
* @return 值如果分组不存在或者值不存在则返回null
*/
public String get(String group, String key) {
@@ -426,9 +441,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 将键值对加入到对应分组中
*
*
* @param group 分组
* @param key 键
* @param key
* @param value 值
* @return 此key之前存在的值如果没有返回null
*/
@@ -438,9 +453,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 从指定分组中删除指定值
*
*
* @param group 分组
* @param key 键
* @param key
* @return 被删除的值如果值不存在返回null
*/
public String remove(String group, Object key) {
@@ -449,9 +464,9 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 加入多个键值对到某个分组下
*
*
* @param group 分组
* @param m 键值对
* @param m 键值对
* @return this
*/
public Setting putAll(String group, Map<? extends String, ? extends String> m) {
@@ -461,7 +476,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 清除指定分组下的所有键值对
*
*
* @param group 分组
* @return this
*/
@@ -472,7 +487,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 指定分组所有键的Set
*
*
* @param group 分组
* @return 键Set
*/
@@ -482,7 +497,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 指定分组下所有值
*
*
* @param group 分组
* @return 值
*/
@@ -492,18 +507,18 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 指定分组下所有键值对
*
*
* @param group 分组
* @return 键值对
*/
public Set<Entry<String, String>> entrySet(String group) {
return this.groupedMap.entrySet(group);
}
/**
* 设置值
*
* @param key 键
*
* @param key
* @param value 值
* @return this
* @since 3.3.1
@@ -512,12 +527,12 @@ public class Setting extends AbsSetting implements Map<String, String> {
this.put(key, value);
return this;
}
/**
* 将键值对加入到对应分组中
*
*
* @param group 分组
* @param key 键
* @param key
* @param value 值
* @return 此key之前存在的值如果没有返回null
*/
@@ -534,7 +549,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 默认分组空分组中是否包含指定key对应的值
*
*
* @param key 键
* @return 默认分组中是否包含指定key对应的值
*/
@@ -545,7 +560,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 默认分组(空分组)中是否包含指定值
*
*
* @param value 值
* @return 默认分组中是否包含指定值
*/
@@ -556,7 +571,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取默认分组空分组中指定key对应的值
*
*
* @param key 键
* @return 默认分组空分组中指定key对应的值
*/
@@ -567,8 +582,8 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 将指定键值对加入到默认分组(空分组)中
*
* @param key 键
*
* @param key
* @param value 值
* @return 加入的值
*/
@@ -579,7 +594,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 移除默认分组(空分组)中指定值
*
*
* @param key 键
* @return 移除的值
*/
@@ -590,7 +605,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 将键值对Map加入默认分组空分组
*
*
* @param m Map
*/
@Override
@@ -608,7 +623,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取默认分组(空分组)中的所有键列表
*
*
* @return 默认分组(空分组)中的所有键列表
*/
@Override
@@ -618,7 +633,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取默认分组(空分组)中的所有值列表
*
*
* @return 默认分组(空分组)中的所有值列表
*/
@Override
@@ -628,7 +643,7 @@ public class Setting extends AbsSetting implements Map<String, String> {
/**
* 获取默认分组(空分组)中的所有键值对列表
*
*
* @return 默认分组(空分组)中的所有键值对列表
*/
@Override

View File

@@ -484,7 +484,8 @@ public final class Props extends Properties implements BasicTypeGetter<String>,
* person.friends[5].name
* ['person']['friends'][5]['name']
* </pre>
*
*
* @param <T> Bean类型
* @param beanClass Bean类
* @return Bean对象
* @since 4.6.3
@@ -504,7 +505,8 @@ public final class Props extends Properties implements BasicTypeGetter<String>,
* person.friends[5].name
* ['person']['friends'][5]['name']
* </pre>
*
*
* @param <T> Bean类型
* @param beanClass Bean类
* @param prefix 公共前缀不指定前缀传null当指定前缀后非此前缀的属性被忽略
* @return Bean对象
@@ -526,7 +528,8 @@ public final class Props extends Properties implements BasicTypeGetter<String>,
* person.friends[5].name
* ['person']['friends'][5]['name']
* </pre>
*
*
* @param <T> Bean类型
* @param bean Bean对象
* @param prefix 公共前缀不指定前缀传null当指定前缀后非此前缀的属性被忽略
* @return Bean对象