Class StringTemplate.AbstractBuilder<BuilderChild extends StringTemplate.AbstractBuilder<BuilderChild,TemplateChild>,TemplateChild extends StringTemplate>

java.lang.Object
org.miaixz.bus.core.text.placeholder.StringTemplate.AbstractBuilder<BuilderChild,TemplateChild>
Type Parameters:
BuilderChild - Builder子类
TemplateChild - 模板子类
Direct Known Subclasses:
NamedStringTemplate.Builder, SingleStringTemplate.Builder
Enclosing class:
StringTemplate

protected abstract static class StringTemplate.AbstractBuilder<BuilderChild extends StringTemplate.AbstractBuilder<BuilderChild,TemplateChild>,TemplateChild extends StringTemplate> extends Object
抽象Builder
  • Field Details

    • template

      protected final String template
      字符串模板
    • defaultValue

      protected String defaultValue
      默认值
    • defaultValueHandler

      protected UnaryOperator<String> defaultValueHandler
      默认值处理器
    • escape$set

      protected boolean escape$set
      用户是否设置了 转义符
    • escape

      protected char escape
      转义符
    • features

      protected int features
      策略值
  • Constructor Details

    • AbstractBuilder

      protected AbstractBuilder(String template)
  • Method Details

    • escape

      public BuilderChild escape(char escape)
      设置 转义符
      Parameters:
      escape - 转义符
      Returns:
      builder子对象
    • features

      public BuilderChild features(StringTemplate.Feature... newFeatures)
      设置 新的策略值,完全覆盖旧的策略值
      Parameters:
      newFeatures - 新策略枚举
      Returns:
      builder子对象
    • addFeatures

      public BuilderChild addFeatures(StringTemplate.Feature... appendFeatures)
      向 策略值 中 添加策略

      同组内的策略是互斥的,一但设置为组内的某个新策略,就会清除之前的同组策略,仅保留新策略

      Parameters:
      appendFeatures - 需要新增的策略
      Returns:
      builder子对象
    • removeFeatures

      public BuilderChild removeFeatures(StringTemplate.Feature... removeFeatures)
      从 策略值 中 删除策略

      删除的策略 可以 不存在

      Parameters:
      removeFeatures - 需要删除的策略
      Returns:
      builder子对象
    • defaultValue

      public BuilderChild defaultValue(String defaultValue)
      设置 默认值

      不可能为 null,可以为 "null"

      Parameters:
      defaultValue - 默认值
      Returns:
      builder子对象
    • defaultValue

      public BuilderChild defaultValue(UnaryOperator<String> defaultValueHandler)
      设置 默认值处理器
      Parameters:
      defaultValueHandler - 默认值处理器,根据 占位变量 返回 默认值
      Returns:
      builder子对象
    • build

      public TemplateChild build()
      创建 模板对象
      Returns:
      模板对象
    • self

      protected abstract BuilderChild self()
      设置 转义符
      Returns:
      builder子对象
    • buildInstance

      protected abstract TemplateChild buildInstance()
      子类Builder 返回 创建的 模板对象
      Returns:
      模板对象