Class PrivacyReplacer

java.lang.Object
org.aoju.bus.core.text.replacer.PrivacyReplacer
All Implemented Interfaces:
Serializable, Replacer<Object>

public class PrivacyReplacer extends Object implements Replacer<Object>, Serializable
按值替换字符串中的变量
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Field Details

    • DEFAULT_PREFIX

      public static final Matchers DEFAULT_PREFIX
      默认变量前缀
    • DEFAULT_SUFFIX

      public static final Matchers DEFAULT_SUFFIX
      默认变量后缀
    • DEFAULT_VALUE_DELIMITER

      public static final Matchers DEFAULT_VALUE_DELIMITER
      默认值分隔符
  • Constructor Details

    • PrivacyReplacer

      public PrivacyReplacer()
      默认值为变量前缀和后缀以及转义字符.
    • PrivacyReplacer

      public PrivacyReplacer(Map<String,V> valueMap)
      创建一个新实例并初始化它 对变量使用默认值 前缀和后缀以及转义字符
      Type Parameters:
      V - 映射中值的类型
      Parameters:
      valueMap - 带有变量值的映射可能为null
    • PrivacyReplacer

      public PrivacyReplacer(Map<String,V> valueMap, String prefix, String suffix)
      创建一个新实例并初始化它 使用默认转义字符
      Type Parameters:
      V - 映射中值的类型
      Parameters:
      valueMap - 带有变量值的映射可能为null
      prefix - 变量的前缀,而不是null
      suffix - 变量的后缀,而不是null
    • PrivacyReplacer

      public PrivacyReplacer(Map<String,V> valueMap, String prefix, String suffix, char escape)
      创建一个新实例并初始化.
      Type Parameters:
      V - 映射中值的类型
      Parameters:
      valueMap - 带有变量值的映射可能为null
      prefix - 变量的前缀,而不是null
      suffix - 变量的后缀,而不是null
      escape - 转义字符
    • PrivacyReplacer

      public PrivacyReplacer(Map<String,V> valueMap, String prefix, String suffix, char escape, String delimiter)
      创建一个新实例并初始化.
      Type Parameters:
      V - 映射中值的类型
      Parameters:
      valueMap - 带有变量值的映射可能为null
      prefix - 变量的前缀,而不是null
      suffix - 变量的后缀,而不是null
      escape - 转义字符
      delimiter - 变量默认值分隔符可以为空
    • PrivacyReplacer

      public PrivacyReplacer(Lookups<?> resolver)
      创建一个新实例并初始化.
      Parameters:
      resolver - 变量解析器可以为空
    • PrivacyReplacer

      public PrivacyReplacer(Lookups<?> resolver, String prefix, String suffix, char escape)
      创建一个新实例并初始化.
      Parameters:
      resolver - 变量解析器可以为空
      prefix - 变量的前缀,而不是null
      suffix - 变量的后缀,而不是null
      escape - 转义字符
    • PrivacyReplacer

      public PrivacyReplacer(Lookups<?> resolver, String prefix, String suffix, char escape, String delimiter)
      创建一个新实例并初始化.
      Parameters:
      resolver - 变量解析器可以为空
      prefix - 变量的前缀,而不是null
      suffix - 变量的后缀,而不是null
      escape - 转义字符
      delimiter - 变量默认值分隔符可以为空
    • PrivacyReplacer

      public PrivacyReplacer(Lookups<?> resolver, Matchers prefixMatcher, Matchers suffixMatcher, char escape)
      创建一个新实例并初始化.
      Parameters:
      resolver - 变量解析器,可以为空
      prefixMatcher - 前缀解析器,而不是null
      suffixMatcher - 后缀解析器,而不是null
      escape - 转义转义字符
    • PrivacyReplacer

      public PrivacyReplacer(Lookups<?> resolver, Matchers prefixMatcher, Matchers suffixMatcher, char escape, Matchers delimiter)
      创建一个新实例并初始化.
      Parameters:
      resolver - 变量解析器,可以为空
      prefixMatcher - 前缀解析器,而不是null
      suffixMatcher - 后缀解析器,而不是null
      escape - 转义转义字符
      delimiter - 变量默认值分隔符可以为空
  • Method Details

    • replace

      public static <V> String replace(Object source, Map<String,V> valueMap)
      替换给定源对象中出现的所有变量 它们在映射中的匹配值
      Type Parameters:
      V - 映射中值的类型
      Parameters:
      source - 包含要替换的变量的源文本
      valueMap - 映射的值可能为空
      Returns:
      替换操作的结果
    • replace

      public static <V> String replace(Object source, Map<String,V> valueMap, String prefix, String suffix)
      将给定源对象中出现的所有变量替换 它们在映射中匹配的值 这种方法允许指定自定义变量前缀和后缀
      Type Parameters:
      V - 映射中值的类型
      Parameters:
      source - 包含要替换的变量的源文本
      valueMap - 映射的值可能为空
      prefix - 变量的前缀,而不是null
      suffix - 变量的后缀,而不是null
      Returns:
      替换操作的结果
    • replace

      public static String replace(Object source, Properties value)
      用匹配的变量替换给定源对象中出现的所有变量
      Parameters:
      source - 包含要替换的变量的源文本
      value - 带值的属性可以为空
      Returns:
      替换操作的结果
    • replaceSystemProperties

      public static String replaceSystemProperties(Object source)
      替换给定源对象中出现的所有变量 它们在系统属性中匹配的值
      Parameters:
      source - 包含要替换的变量的源文本
      Returns:
      返回替换操作的结果
    • replace

      public String replace(Object source)
      用匹配的值替换所有出现的变量
      Specified by:
      replace in interface Replacer<Object>
      Parameters:
      source - 获取要替换的字符数组的源代码
      Returns:
      替换操作的结果
    • replace

      public String replace(TextBuilder source)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      Returns:
      替换操作的结果
    • replace

      public String replace(String source)
      用匹配的值替换所有出现的变量 从使用给定源字符串作为模板的解析器
      Parameters:
      source - 获取要替换的字符串
      Returns:
      替换操作的结果
    • replace

      public String replace(char[] source)
      用匹配的值替换所有出现的变量 从使用给定源数组作为模板的解析器 该方法不改变数组
      Parameters:
      source - 获取要替换的字符数组的源代码
      Returns:
      返回替换操作的结果
    • replace

      public String replace(String source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符串
      offset - 偏移数组中的起始偏移必须有效
      length - 偏移数组中的起始偏移必须有效
      Returns:
      替换操作的结果
    • replace

      public String replace(char[] source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      offset - 偏移数组中的起始偏移必须有效
      length - 要处理的数组中的长度必须是有效的
      Returns:
      替换操作的结果
    • replace

      public String replace(StringBuffer source)
      用匹配值替换所有出现的变量 从使用给定源缓冲区作为模板的解析器
      Parameters:
      source - 获取要替换的字符数组的源代码
      Returns:
      替换操作的结果
    • replace

      public String replace(StringBuffer source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 源缓冲区用作模板,没有更改
      offset - 偏移数组中的起始偏移必须有效
      length - 要处理的数组中的长度必须是有效的
      Returns:
      返回替换操作的结果
    • replace

      public String replace(CharSequence source)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 源缓冲区用作模板,没有更改
      Returns:
      返回替换操作的结果
    • replace

      public String replace(CharSequence source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      offset - 偏移数组中的起始偏移必须有效
      length - 要处理的数组中的长度必须是有效的
      Returns:
      替换操作的结果
    • replace

      public String replace(TextBuilder source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      offset - 偏移数组中的起始偏移必须有效
      length - 要处理的数组中的长度必须是有效的
      Returns:
      替换操作的结果
    • replaceIn

      public boolean replaceIn(StringBuffer source)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      Returns:
      替换操作的结果
    • replaceIn

      public boolean replaceIn(StringBuffer source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      offset - 偏移数组中的起始偏移必须有效
      length - 要处理的数组中的长度必须是有效的
      Returns:
      替换操作的结果
    • replaceIn

      public boolean replaceIn(StringBuilder source)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      Returns:
      替换操作的结果
    • replaceIn

      public boolean replaceIn(StringBuilder source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      offset - 偏移数组中的起始偏移必须有效
      length - 要处理的数组中的长度必须是有效的
      Returns:
      替换操作的结果
    • replaceIn

      public boolean replaceIn(TextBuilder source)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      Returns:
      替换操作的结果
    • replaceIn

      public boolean replaceIn(TextBuilder source, int offset, int length)
      用匹配的值替换所有出现的变量
      Parameters:
      source - 获取要替换的字符数组的源代码
      offset - 偏移数组中的起始偏移必须有效
      length - 要处理的数组中的长度必须是有效的
      Returns:
      替换操作的结果
    • substitute

      protected boolean substitute(TextBuilder buffer, int offset, int length)
      替换变量的内部方法
      Parameters:
      buffer - 要替换为的字符串生成器,而不是null
      offset - 构造器中的起始偏移量必须有效
      length - 要处理的构建器中的长度必须是有效的
      Returns:
      true/false
    • resolveVariable

      protected String resolveVariable(String variableName, TextBuilder buf, int startPos, int endPos)
      解析变量值的内部方法 getVariableResolver(),其中变量名作为键
      Parameters:
      variableName - 变量名,而不是null
      buf - 是发生替换的缓冲区,而不是null
      startPos - 变量的起始位置,包括前缀,有效
      endPos - 变量的结束位置,包括后缀,有效
      Returns:
      返回变量的值, 如果变量未知, 则null
    • getEscapeChar

      public char getEscapeChar()
      返回转义字符.
      Returns:
      用于转义变量引用的字符
    • setEscapeChar

      public void setEscapeChar(char escapeCharacter)
      设置转义字符 如果该字符放在源中的变量引用之前,这个变量将被忽略
      Parameters:
      escapeCharacter - 转义字符(0表示禁用转义)
    • getVariablePrefixMatcher

      public Matchers getVariablePrefixMatcher()
      获取当前使用的变量前缀匹配器
      Returns:
      正在使用的前缀匹配器
    • setVariablePrefixMatcher

      public PrivacyReplacer setVariablePrefixMatcher(Matchers prefixMatcher)
      设置当前使用的变量前缀匹配器
      Parameters:
      prefixMatcher - 前缀匹配器,null被忽略
      Returns:
      this, 以启用链接
    • setVariablePrefix

      public PrivacyReplacer setVariablePrefix(char prefix)
      设置要使用的变量前缀
      Parameters:
      prefix - 要使用的前缀字符
      Returns:
      this, 以启用链接
    • setVariablePrefix

      public PrivacyReplacer setVariablePrefix(String prefix)
      设置要使用的变量前缀
      Parameters:
      prefix - 变量的前缀,而不是null
      Returns:
      this, 以启用链接
    • getVariableSuffixMatcher

      public Matchers getVariableSuffixMatcher()
      获取当前使用的变量后缀匹配器
      Returns:
      正在使用的后缀匹配器
    • setVariableSuffixMatcher

      public PrivacyReplacer setVariableSuffixMatcher(Matchers suffixMatcher)
      设置当前使用的变量后缀匹配器
      Parameters:
      suffixMatcher - 后缀匹配器,null被忽略
      Returns:
      this, 以启用链接
    • setVariableSuffix

      public PrivacyReplacer setVariableSuffix(char suffix)
      设置要使用的变量后缀
      Parameters:
      suffix - 要使用的后缀字符
      Returns:
      this, 以启用链接
    • setVariableSuffix

      public PrivacyReplacer setVariableSuffix(String suffix)
      设置要使用的变量后缀
      Parameters:
      suffix - 变量的后缀,而不是null
      Returns:
      this, 以启用链接
    • getValueDelimiterMatcher

      public Matchers getValueDelimiterMatcher()
    • setValueDelimiterMatcher

      public PrivacyReplacer setValueDelimiterMatcher(Matchers valueDelimiterMatcher)
    • setValueDelimiter

      public PrivacyReplacer setValueDelimiter(char valueDelimiter)
    • setValueDelimiter

      public PrivacyReplacer setValueDelimiter(String valueDelimiter)
      设置要使用的变量默认值分隔符
      Parameters:
      valueDelimiter - 要使用的变量默认值分隔符字符串可以为null或空
      Returns:
      this, 以启用链接
    • getVariableResolver

      public Lookups<?> getVariableResolver()
    • setVariableResolver

      public void setVariableResolver(Lookups<?> variableResolver)
    • isEnableSubstitutionInVariables

      public boolean isEnableSubstitutionInVariables()
    • setEnableSubstitutionInVariables

      public void setEnableSubstitutionInVariables(boolean enableSubstitutionInVariables)
    • isPreserveEscapes

      public boolean isPreserveEscapes()
    • setPreserveEscapes

      public void setPreserveEscapes(boolean preserveEscapes)