Class GroupSet

All Implemented Interfaces:
Serializable, Cloneable, Map<String,LinkedHashSet<String>>

public class GroupSet extends HashMap<String,LinkedHashSet<String>>
分组化的Set集合类 在配置文件中可以用中括号分隔不同的分组,每个分组会放在独立的Set中,用group区别 无分组的集合和`[]`分组集合会合并成员,重名的分组也会合并成员 分组配置文件如下:
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • GroupSet

      public GroupSet(Charset charset)
      基本构造 需自定义初始化配置文件
      Parameters:
      charset - 字符集
    • GroupSet

      public GroupSet(String pathBaseClassLoader, Charset charset)
      构造,使用相对于Class文件根目录的相对路径
      Parameters:
      pathBaseClassLoader - 相对路径(相对于当前项目的classes路径)
      charset - 字符集
    • GroupSet

      public GroupSet(File configFile, Charset charset)
      构造
      Parameters:
      configFile - 配置文件对象
      charset - 字符集
    • GroupSet

      public GroupSet(String path, Class<?> clazz, Charset charset)
      构造,相对于classes读取文件
      Parameters:
      path - 相对路径
      clazz - 基准类
      charset - 字符集
    • GroupSet

      public GroupSet(URL url, Charset charset)
      构造
      Parameters:
      url - 设定文件的URL
      charset - 字符集
    • GroupSet

      public GroupSet(String pathBaseClassLoader)
      构造
      Parameters:
      pathBaseClassLoader - 相对路径(相对于当前项目的classes路径)
  • Method Details

    • init

      public boolean init(URL groupedSetUrl, Charset charset)
      初始化设定文件
      Parameters:
      groupedSetUrl - 设定文件的URL
      charset - 字符集
      Returns:
      成功初始化与否
    • load

      public boolean load(URL groupedSetUrl)
      加载设置文件
      Parameters:
      groupedSetUrl - 配置文件URL
      Returns:
      加载是否成功
    • reload

      public void reload()
      重新加载配置文件
    • load

      public boolean load(InputStream settingStream) throws IOException
      加载设置文件 此方法不会关闭流对象
      Parameters:
      settingStream - 文件流
      Returns:
      加载成功与否
      Throws:
      IOException - IO异常
    • getPath

      public String getPath()
      Returns:
      获得设定文件的路径
    • getGroups

      public Set<String> getGroups()
      Returns:
      获得所有分组名
    • getValues

      public LinkedHashSet<String> getValues(String group)
      获得对应分组的所有值
      Parameters:
      group - 分组名
      Returns:
      分组的值集合
    • contains

      public boolean contains(String group, String value, String... otherValues)
      是否在给定分组的集合中包含指定值 如果给定分组对应集合不存在,则返回false
      Parameters:
      group - 分组名
      value - 测试的值
      otherValues - 其他值
      Returns:
      是否包含
    • contains

      public boolean contains(String group, Collection<String> values)
      是否在给定分组的集合中全部包含指定值集合 如果给定分组对应集合不存在,则返回false
      Parameters:
      group - 分组名
      values - 测试的值集合
      Returns:
      是否包含