public class org.hibernate.dialect.function.AnsiTrimEmulationFunction extends org.hibernate.dialect.function.AbstractAnsiTrimEmulationFunction
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.dialect.function.AnsiTrimEmulationFunction
  super_class: org.hibernate.dialect.function.AbstractAnsiTrimEmulationFunction
{
  public static final java.lang.String LTRIM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ltrim"

  public static final java.lang.String RTRIM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "rtrim"

  public static final java.lang.String REPLACE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "replace"

  public static final java.lang.String SPACE_PLACEHOLDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "${space}$"

  public static final java.lang.String LEADING_SPACE_TRIM_TEMPLATE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ltrim(?1)"

  public static final java.lang.String TRAILING_SPACE_TRIM_TEMPLATE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "rtrim(?1)"

  public static final java.lang.String BOTH_SPACE_TRIM_TEMPLATE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ltrim(rtrim(?1))"

  public static final java.lang.String BOTH_SPACE_TRIM_FROM_TEMPLATE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ltrim(rtrim(?2))"

  public static final java.lang.String LEADING_TRIM_TEMPLATE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "replace(replace(ltrim(replace(replace(?1,' ','${space}$'),?2,' ')),' ',?2),'${space}$',' ')"

  public static final java.lang.String TRAILING_TRIM_TEMPLATE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "replace(replace(rtrim(replace(replace(?1,' ','${space}$'),?2,' ')),' ',?2),'${space}$',' ')"

  public static final java.lang.String BOTH_TRIM_TEMPLATE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "replace(replace(ltrim(rtrim(replace(replace(?1,' ','${space}$'),?2,' '))),' ',?2),'${space}$',' ')"

  private final org.hibernate.dialect.function.SQLFunction leadingSpaceTrim;
    descriptor: Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.dialect.function.SQLFunction trailingSpaceTrim;
    descriptor: Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.dialect.function.SQLFunction bothSpaceTrim;
    descriptor: Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.dialect.function.SQLFunction bothSpaceTrimFrom;
    descriptor: Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.dialect.function.SQLFunction leadingTrim;
    descriptor: Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.dialect.function.SQLFunction trailingTrim;
    descriptor: Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.dialect.function.SQLFunction bothTrim;
    descriptor: Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 165
            aload 0 /* this */
            ldc "ltrim"
            ldc "rtrim"
            ldc "replace"
            invokespecial org.hibernate.dialect.function.AnsiTrimEmulationFunction.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 166
            return
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;

  public void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
        start local 1 // java.lang.String ltrimFunctionName
        start local 2 // java.lang.String rtrimFunctionName
        start local 3 // java.lang.String replaceFunctionName
         0: .line 175
            aload 0 /* this */
            invokespecial org.hibernate.dialect.function.AbstractAnsiTrimEmulationFunction.<init>:()V
         1: .line 176
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionTemplate
            dup
         2: .line 177
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
         3: .line 178
            ldc "ltrim(?1)"
            ldc "ltrim"
            aload 1 /* ltrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.hibernate.dialect.function.SQLFunctionTemplate.<init>:(Lorg/hibernate/type/Type;Ljava/lang/String;)V
         4: .line 176
            putfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.leadingSpaceTrim:Lorg/hibernate/dialect/function/SQLFunction;
         5: .line 181
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionTemplate
            dup
         6: .line 182
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
         7: .line 183
            ldc "rtrim(?1)"
            ldc "rtrim"
            aload 2 /* rtrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.hibernate.dialect.function.SQLFunctionTemplate.<init>:(Lorg/hibernate/type/Type;Ljava/lang/String;)V
         8: .line 181
            putfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.trailingSpaceTrim:Lorg/hibernate/dialect/function/SQLFunction;
         9: .line 186
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionTemplate
            dup
        10: .line 187
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
        11: .line 188
            ldc "ltrim(rtrim(?1))"
            ldc "ltrim"
            aload 1 /* ltrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        12: .line 189
            ldc "rtrim"
            aload 2 /* rtrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.hibernate.dialect.function.SQLFunctionTemplate.<init>:(Lorg/hibernate/type/Type;Ljava/lang/String;)V
        13: .line 186
            putfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.bothSpaceTrim:Lorg/hibernate/dialect/function/SQLFunction;
        14: .line 192
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionTemplate
            dup
        15: .line 193
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
        16: .line 194
            ldc "ltrim(rtrim(?2))"
            ldc "ltrim"
            aload 1 /* ltrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        17: .line 195
            ldc "rtrim"
            aload 2 /* rtrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.hibernate.dialect.function.SQLFunctionTemplate.<init>:(Lorg/hibernate/type/Type;Ljava/lang/String;)V
        18: .line 192
            putfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.bothSpaceTrimFrom:Lorg/hibernate/dialect/function/SQLFunction;
        19: .line 198
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionTemplate
            dup
        20: .line 199
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
        21: .line 200
            ldc "replace(replace(ltrim(replace(replace(?1,' ','${space}$'),?2,' ')),' ',?2),'${space}$',' ')"
            ldc "ltrim"
            aload 1 /* ltrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        22: .line 201
            ldc "rtrim"
            aload 2 /* rtrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        23: .line 202
            ldc "replace"
            aload 3 /* replaceFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.hibernate.dialect.function.SQLFunctionTemplate.<init>:(Lorg/hibernate/type/Type;Ljava/lang/String;)V
        24: .line 198
            putfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.leadingTrim:Lorg/hibernate/dialect/function/SQLFunction;
        25: .line 205
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionTemplate
            dup
        26: .line 206
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
        27: .line 207
            ldc "replace(replace(rtrim(replace(replace(?1,' ','${space}$'),?2,' ')),' ',?2),'${space}$',' ')"
            ldc "ltrim"
            aload 1 /* ltrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        28: .line 208
            ldc "rtrim"
            aload 2 /* rtrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        29: .line 209
            ldc "replace"
            aload 3 /* replaceFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.hibernate.dialect.function.SQLFunctionTemplate.<init>:(Lorg/hibernate/type/Type;Ljava/lang/String;)V
        30: .line 205
            putfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.trailingTrim:Lorg/hibernate/dialect/function/SQLFunction;
        31: .line 212
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionTemplate
            dup
        32: .line 213
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
        33: .line 214
            ldc "replace(replace(ltrim(rtrim(replace(replace(?1,' ','${space}$'),?2,' '))),' ',?2),'${space}$',' ')"
            ldc "ltrim"
            aload 1 /* ltrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        34: .line 215
            ldc "rtrim"
            aload 2 /* rtrimFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        35: .line 216
            ldc "replace"
            aload 3 /* replaceFunctionName */
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.hibernate.dialect.function.SQLFunctionTemplate.<init>:(Lorg/hibernate/type/Type;Ljava/lang/String;)V
        36: .line 212
            putfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.bothTrim:Lorg/hibernate/dialect/function/SQLFunction;
        37: .line 218
            return
        end local 3 // java.lang.String replaceFunctionName
        end local 2 // java.lang.String rtrimFunctionName
        end local 1 // java.lang.String ltrimFunctionName
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   38     0                 this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;
            0   38     1    ltrimFunctionName  Ljava/lang/String;
            0   38     2    rtrimFunctionName  Ljava/lang/String;
            0   38     3  replaceFunctionName  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      ltrimFunctionName    
      rtrimFunctionName    
      replaceFunctionName  

  protected org.hibernate.dialect.function.SQLFunction resolveBothSpaceTrimFunction();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 225
            aload 0 /* this */
            getfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.bothSpaceTrim:Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;

  protected org.hibernate.dialect.function.SQLFunction resolveBothSpaceTrimFromFunction();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 233
            aload 0 /* this */
            getfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.bothSpaceTrimFrom:Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;

  protected org.hibernate.dialect.function.SQLFunction resolveLeadingSpaceTrimFunction();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 241
            aload 0 /* this */
            getfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.leadingSpaceTrim:Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;

  protected org.hibernate.dialect.function.SQLFunction resolveTrailingSpaceTrimFunction();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 249
            aload 0 /* this */
            getfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.trailingSpaceTrim:Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;

  protected org.hibernate.dialect.function.SQLFunction resolveBothTrimFunction();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 257
            aload 0 /* this */
            getfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.bothTrim:Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;

  protected org.hibernate.dialect.function.SQLFunction resolveLeadingTrimFunction();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 265
            aload 0 /* this */
            getfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.leadingTrim:Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;

  protected org.hibernate.dialect.function.SQLFunction resolveTrailingTrimFunction();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
         0: .line 273
            aload 0 /* this */
            getfield org.hibernate.dialect.function.AnsiTrimEmulationFunction.trailingTrim:Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 0 // org.hibernate.dialect.function.AnsiTrimEmulationFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/function/AnsiTrimEmulationFunction;
}
SourceFile: "AnsiTrimEmulationFunction.java"