abstract class org.springframework.jdbc.config.DatabasePopulatorConfigUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.jdbc.config.DatabasePopulatorConfigUtils
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.config.DatabasePopulatorConfigUtils this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.jdbc.config.DatabasePopulatorConfigUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jdbc/config/DatabasePopulatorConfigUtils;

  public static void setDatabasePopulator(org.w3c.dom.Element, org.springframework.beans.factory.support.BeanDefinitionBuilder);
    descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.w3c.dom.Element element
        start local 1 // org.springframework.beans.factory.support.BeanDefinitionBuilder builder
         0: .line 44
            aload 0 /* element */
            ldc "script"
            invokestatic org.springframework.util.xml.DomUtils.getChildElementsByTagName:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;
            astore 2 /* scripts */
        start local 2 // java.util.List scripts
         1: .line 45
            aload 2 /* scripts */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 4
         2: .line 46
            aload 1 /* builder */
            ldc "databasePopulator"
            aload 0 /* element */
            aload 2 /* scripts */
            ldc "INIT"
            invokestatic org.springframework.jdbc.config.DatabasePopulatorConfigUtils.createDatabasePopulator:(Lorg/w3c/dom/Element;Ljava/util/List;Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
         3: .line 47
            aload 1 /* builder */
            ldc "databaseCleaner"
            aload 0 /* element */
            aload 2 /* scripts */
            ldc "DESTROY"
            invokestatic org.springframework.jdbc.config.DatabasePopulatorConfigUtils.createDatabasePopulator:(Lorg/w3c/dom/Element;Ljava/util/List;Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
         4: .line 49
      StackMap locals: java.util.List
      StackMap stack:
            return
        end local 2 // java.util.List scripts
        end local 1 // org.springframework.beans.factory.support.BeanDefinitionBuilder builder
        end local 0 // org.w3c.dom.Element element
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  element  Lorg/w3c/dom/Element;
            0    5     1  builder  Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            1    5     2  scripts  Ljava/util/List<Lorg/w3c/dom/Element;>;
    MethodParameters:
         Name  Flags
      element  
      builder  

  private static org.springframework.beans.factory.config.BeanDefinition createDatabasePopulator(org.w3c.dom.Element, java.util.List<org.w3c.dom.Element>, java.lang.String);
    descriptor: (Lorg/w3c/dom/Element;Ljava/util/List;Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // org.w3c.dom.Element element
        start local 1 // java.util.List scripts
        start local 2 // java.lang.String execution
         0: .line 52
            ldc Lorg/springframework/jdbc/datasource/init/CompositeDatabasePopulator;
            invokestatic org.springframework.beans.factory.support.BeanDefinitionBuilder.genericBeanDefinition:(Ljava/lang/Class;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            astore 3 /* builder */
        start local 3 // org.springframework.beans.factory.support.BeanDefinitionBuilder builder
         1: .line 54
            aload 0 /* element */
            ldc "ignore-failures"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ldc "DROPS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 4 /* ignoreFailedDrops */
        start local 4 // boolean ignoreFailedDrops
         2: .line 55
            aload 0 /* element */
            ldc "ignore-failures"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            ldc "ALL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 5 /* continueOnError */
        start local 5 // boolean continueOnError
         3: .line 57
            new org.springframework.beans.factory.support.ManagedList
            dup
            invokespecial org.springframework.beans.factory.support.ManagedList.<init>:()V
            astore 6 /* delegates */
        start local 6 // org.springframework.beans.factory.support.ManagedList delegates
         4: .line 58
            aload 1 /* scripts */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 23
      StackMap locals: org.w3c.dom.Element java.util.List java.lang.String org.springframework.beans.factory.support.BeanDefinitionBuilder int int org.springframework.beans.factory.support.ManagedList top java.util.Iterator
      StackMap stack:
         5: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.w3c.dom.Element
            astore 7 /* scriptElement */
        start local 7 // org.w3c.dom.Element scriptElement
         6: .line 59
            aload 7 /* scriptElement */
            ldc "execution"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* executionAttr */
        start local 9 // java.lang.String executionAttr
         7: .line 60
            aload 9 /* executionAttr */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 9
         8: .line 61
            ldc "INIT"
            astore 9 /* executionAttr */
         9: .line 63
      StackMap locals: org.w3c.dom.Element java.util.List java.lang.String org.springframework.beans.factory.support.BeanDefinitionBuilder int int org.springframework.beans.factory.support.ManagedList org.w3c.dom.Element java.util.Iterator java.lang.String
      StackMap stack:
            aload 2 /* execution */
            aload 9 /* executionAttr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 64
            goto 23
        11: .line 66
      StackMap locals:
      StackMap stack:
            ldc Lorg/springframework/jdbc/datasource/init/ResourceDatabasePopulator;
            invokestatic org.springframework.beans.factory.support.BeanDefinitionBuilder.genericBeanDefinition:(Ljava/lang/Class;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            astore 10 /* delegate */
        start local 10 // org.springframework.beans.factory.support.BeanDefinitionBuilder delegate
        12: .line 67
            aload 10 /* delegate */
            ldc "ignoreFailedDrops"
            iload 4 /* ignoreFailedDrops */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
        13: .line 68
            aload 10 /* delegate */
            ldc "continueOnError"
            iload 5 /* continueOnError */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
        14: .line 71
            ldc Lorg/springframework/jdbc/config/SortedResourcesFactoryBean;
            invokestatic org.springframework.beans.factory.support.BeanDefinitionBuilder.genericBeanDefinition:(Ljava/lang/Class;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            astore 11 /* resourcesFactory */
        start local 11 // org.springframework.beans.factory.support.BeanDefinitionBuilder resourcesFactory
        15: .line 72
            aload 11 /* resourcesFactory */
            new org.springframework.beans.factory.config.TypedStringValue
            dup
            aload 7 /* scriptElement */
            ldc "location"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.springframework.beans.factory.config.TypedStringValue.<init>:(Ljava/lang/String;)V
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addConstructorArgValue:(Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
        16: .line 73
            aload 10 /* delegate */
            ldc "scripts"
            aload 11 /* resourcesFactory */
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.getBeanDefinition:()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
        17: .line 74
            aload 7 /* scriptElement */
            ldc "encoding"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 75
            aload 10 /* delegate */
            ldc "sqlScriptEncoding"
            new org.springframework.beans.factory.config.TypedStringValue
            dup
            aload 7 /* scriptElement */
            ldc "encoding"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.springframework.beans.factory.config.TypedStringValue.<init>:(Ljava/lang/String;)V
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
        19: .line 77
      StackMap locals: org.springframework.beans.factory.support.BeanDefinitionBuilder org.springframework.beans.factory.support.BeanDefinitionBuilder
      StackMap stack:
            aload 0 /* element */
            aload 7 /* scriptElement */
            invokestatic org.springframework.jdbc.config.DatabasePopulatorConfigUtils.getSeparator:(Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)Ljava/lang/String;
            astore 12 /* separator */
        start local 12 // java.lang.String separator
        20: .line 78
            aload 12 /* separator */
            ifnull 22
        21: .line 79
            aload 10 /* delegate */
            ldc "separator"
            new org.springframework.beans.factory.config.TypedStringValue
            dup
            aload 12 /* separator */
            invokespecial org.springframework.beans.factory.config.TypedStringValue.<init>:(Ljava/lang/String;)V
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
        22: .line 81
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* delegates */
            aload 10 /* delegate */
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.getBeanDefinition:()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
            invokevirtual org.springframework.beans.factory.support.ManagedList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.lang.String separator
        end local 11 // org.springframework.beans.factory.support.BeanDefinitionBuilder resourcesFactory
        end local 10 // org.springframework.beans.factory.support.BeanDefinitionBuilder delegate
        end local 9 // java.lang.String executionAttr
        end local 7 // org.w3c.dom.Element scriptElement
        23: .line 58
      StackMap locals: org.w3c.dom.Element java.util.List java.lang.String org.springframework.beans.factory.support.BeanDefinitionBuilder int int org.springframework.beans.factory.support.ManagedList top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        24: .line 83
            aload 3 /* builder */
            ldc "populators"
            aload 6 /* delegates */
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.addPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            pop
        25: .line 85
            aload 3 /* builder */
            invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.getBeanDefinition:()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
            areturn
        end local 6 // org.springframework.beans.factory.support.ManagedList delegates
        end local 5 // boolean continueOnError
        end local 4 // boolean ignoreFailedDrops
        end local 3 // org.springframework.beans.factory.support.BeanDefinitionBuilder builder
        end local 2 // java.lang.String execution
        end local 1 // java.util.List scripts
        end local 0 // org.w3c.dom.Element element
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0            element  Lorg/w3c/dom/Element;
            0   26     1            scripts  Ljava/util/List<Lorg/w3c/dom/Element;>;
            0   26     2          execution  Ljava/lang/String;
            1   26     3            builder  Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
            2   26     4  ignoreFailedDrops  Z
            3   26     5    continueOnError  Z
            4   26     6          delegates  Lorg/springframework/beans/factory/support/ManagedList<Lorg/springframework/beans/BeanMetadataElement;>;
            6   23     7      scriptElement  Lorg/w3c/dom/Element;
            7   23     9      executionAttr  Ljava/lang/String;
           12   23    10           delegate  Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
           15   23    11   resourcesFactory  Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
           20   23    12          separator  Ljava/lang/String;
    Signature: (Lorg/w3c/dom/Element;Ljava/util/List<Lorg/w3c/dom/Element;>;Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
    MethodParameters:
           Name  Flags
      element    
      scripts    
      execution  

  private static java.lang.String getSeparator(org.w3c.dom.Element, org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.w3c.dom.Element element
        start local 1 // org.w3c.dom.Element scriptElement
         0: .line 90
            aload 1 /* scriptElement */
            ldc "separator"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* scriptSeparator */
        start local 2 // java.lang.String scriptSeparator
         1: .line 91
            aload 2 /* scriptSeparator */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 92
            aload 2 /* scriptSeparator */
            areturn
         3: .line 94
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* element */
            ldc "separator"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* elementSeparator */
        start local 3 // java.lang.String elementSeparator
         4: .line 95
            aload 3 /* elementSeparator */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 96
            aload 3 /* elementSeparator */
            areturn
         6: .line 98
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.String elementSeparator
        end local 2 // java.lang.String scriptSeparator
        end local 1 // org.w3c.dom.Element scriptElement
        end local 0 // org.w3c.dom.Element element
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0           element  Lorg/w3c/dom/Element;
            0    7     1     scriptElement  Lorg/w3c/dom/Element;
            1    7     2   scriptSeparator  Ljava/lang/String;
            4    7     3  elementSeparator  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      element        
      scriptElement  
}
SourceFile: "DatabasePopulatorConfigUtils.java"