public class org.springframework.data.jpa.util.BeanDefinitionUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.data.jpa.util.BeanDefinitionUtils
  super_class: java.lang.Object
{
  private static final java.lang.String JNDI_OBJECT_FACTORY_BEAN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.springframework.jndi.JndiObjectFactoryBean"

  private static final java.util.List<java.lang.Class<?>> EMF_TYPES;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/Class<*>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 55
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* types */
        start local 0 // java.util.List types
         1: .line 56
            aload 0 /* types */
            ldc Ljavax/persistence/EntityManagerFactory;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 57
            aload 0 /* types */
            ldc Lorg/springframework/orm/jpa/AbstractEntityManagerFactoryBean;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 59
            ldc "org.springframework.jndi.JndiObjectFactoryBean"
            invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.isPresent:(Ljava/lang/String;Ljava/lang/ClassLoader;)Z
            ifeq 5
         4: .line 60
            aload 0 /* types */
            ldc Lorg/springframework/jndi/JndiObjectFactoryBean;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 63
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* types */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putstatic org.springframework.data.jpa.util.BeanDefinitionUtils.EMF_TYPES:Ljava/util/List;
        end local 0 // java.util.List types
         6: .line 64
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    6     0  types  Ljava/util/List<Ljava/lang/Class<*>;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.util.BeanDefinitionUtils this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.data.jpa.util.BeanDefinitionUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/util/BeanDefinitionUtils;

  public static java.lang.Iterable<java.lang.String> getEntityManagerFactoryBeanNames(org.springframework.beans.factory.ListableBeanFactory);
    descriptor: (Lorg/springframework/beans/factory/ListableBeanFactory;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.springframework.beans.factory.ListableBeanFactory beanFactory
         0: .line 77
            aload 0 /* beanFactory */
            ldc Ljavax/persistence/EntityManagerFactory;
            iconst_1
            iconst_0
            invokestatic org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/Class;ZZ)[Ljava/lang/String;
            astore 1 /* beanNames */
        start local 1 // java.lang.String[] beanNames
         1: .line 78
            new java.util.HashSet
            dup
            aload 1 /* beanNames */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 2 /* names */
        start local 2 // java.util.Set names
         2: .line 80
            aload 0 /* beanFactory */
         3: .line 81
            ldc Lorg/springframework/orm/jpa/AbstractEntityManagerFactoryBean;
            iconst_1
            iconst_0
         4: .line 80
            invokestatic org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/Class;ZZ)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: org.springframework.beans.factory.ListableBeanFactory java.lang.String[] java.util.Set top int int java.lang.String[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* factoryBeanName */
        start local 3 // java.lang.String factoryBeanName
         6: .line 82
            aload 2 /* names */
            aload 3 /* factoryBeanName */
            invokestatic org.springframework.beans.factory.BeanFactoryUtils.transformedBeanName:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String factoryBeanName
         7: .line 80
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 5
         9: .line 85
            aload 2 /* names */
            areturn
        end local 2 // java.util.Set names
        end local 1 // java.lang.String[] beanNames
        end local 0 // org.springframework.beans.factory.ListableBeanFactory beanFactory
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0      beanFactory  Lorg/springframework/beans/factory/ListableBeanFactory;
            1   10     1        beanNames  [Ljava/lang/String;
            2   10     2            names  Ljava/util/Set<Ljava/lang/String;>;
            6    7     3  factoryBeanName  Ljava/lang/String;
    Signature: (Lorg/springframework/beans/factory/ListableBeanFactory;)Ljava/lang/Iterable<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      beanFactory  

  public static java.util.Collection<org.springframework.data.jpa.util.BeanDefinitionUtils$EntityManagerFactoryBeanDefinition> getEntityManagerFactoryBeanDefinitions(org.springframework.beans.factory.config.ConfigurableListableBeanFactory);
    descriptor: (Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
         0: .line 98
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* definitions */
        start local 1 // java.util.Set definitions
         1: .line 100
            getstatic org.springframework.data.jpa.util.BeanDefinitionUtils.EMF_TYPES:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* type */
        start local 2 // java.lang.Class type
         3: .line 102
            aload 0 /* beanFactory */
            aload 2 /* type */
            iconst_1
            iconst_0
            invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanNamesForType:(Ljava/lang/Class;ZZ)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Set java.lang.Class java.util.Iterator top int int java.lang.String[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* name */
        start local 4 // java.lang.String name
         5: .line 103
            aload 4 /* name */
            invokestatic org.springframework.beans.factory.BeanFactoryUtils.transformedBeanName:(Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* beanFactory */
            aload 1 /* definitions */
            invokestatic org.springframework.data.jpa.util.BeanDefinitionUtils.registerEntityManagerFactoryBeanDefinition:(Ljava/lang/String;Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;Ljava/util/Collection;)V
        end local 4 // java.lang.String name
         6: .line 102
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
        end local 2 // java.lang.Class type
         8: .line 100
      StackMap locals: org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 107
            aload 0 /* beanFactory */
            invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getParentBeanFactory:()Lorg/springframework/beans/factory/BeanFactory;
            astore 2 /* parentBeanFactory */
        start local 2 // org.springframework.beans.factory.BeanFactory parentBeanFactory
        10: .line 109
            aload 2 /* parentBeanFactory */
            instanceof org.springframework.beans.factory.config.ConfigurableListableBeanFactory
            ifeq 12
        11: .line 110
            aload 1 /* definitions */
            aload 2 /* parentBeanFactory */
            checkcast org.springframework.beans.factory.config.ConfigurableListableBeanFactory
            invokestatic org.springframework.data.jpa.util.BeanDefinitionUtils.getEntityManagerFactoryBeanDefinitions:(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 113
      StackMap locals: org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Set org.springframework.beans.factory.BeanFactory
      StackMap stack:
            aload 1 /* definitions */
            areturn
        end local 2 // org.springframework.beans.factory.BeanFactory parentBeanFactory
        end local 1 // java.util.Set definitions
        end local 0 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0        beanFactory  Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
            1   13     1        definitions  Ljava/util/Set<Lorg/springframework/data/jpa/util/BeanDefinitionUtils$EntityManagerFactoryBeanDefinition;>;
            3    8     2               type  Ljava/lang/Class<*>;
            5    6     4               name  Ljava/lang/String;
           10   13     2  parentBeanFactory  Lorg/springframework/beans/factory/BeanFactory;
    Signature: (Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)Ljava/util/Collection<Lorg/springframework/data/jpa/util/BeanDefinitionUtils$EntityManagerFactoryBeanDefinition;>;
    MethodParameters:
             Name  Flags
      beanFactory  

  private static void registerEntityManagerFactoryBeanDefinition(java.lang.String, org.springframework.beans.factory.config.ConfigurableListableBeanFactory, java.util.Collection<org.springframework.data.jpa.util.BeanDefinitionUtils$EntityManagerFactoryBeanDefinition>);
    descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;Ljava/util/Collection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.String name
        start local 1 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
        start local 2 // java.util.Collection definitions
         0: .line 127
            aload 1 /* beanFactory */
            aload 0 /* name */
            invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
            astore 3 /* definition */
        start local 3 // org.springframework.beans.factory.config.BeanDefinition definition
         1: .line 129
            ldc "org.springframework.jndi.JndiObjectFactoryBean"
            aload 3 /* definition */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 130
            ldc Ljavax/persistence/EntityManagerFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 3 /* definition */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
            ldc "expectedType"
            invokevirtual org.springframework.beans.MutablePropertyValues.get:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 131
            return
         4: .line 135
      StackMap locals: org.springframework.beans.factory.config.BeanDefinition
      StackMap stack:
            aload 1 /* beanFactory */
            aload 0 /* name */
            invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getType:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         5: .line 136
            aload 4 /* type */
            ifnull 6
            ldc Ljavax/persistence/EntityManagerFactory;
            aload 4 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 7
         6: .line 137
      StackMap locals: java.lang.Class
      StackMap stack:
            return
         7: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* definitions */
            new org.springframework.data.jpa.util.BeanDefinitionUtils$EntityManagerFactoryBeanDefinition
            dup
            aload 0 /* name */
            aload 1 /* beanFactory */
            invokespecial org.springframework.data.jpa.util.BeanDefinitionUtils$EntityManagerFactoryBeanDefinition.<init>:(Ljava/lang/String;Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         8: .line 141
            return
        end local 4 // java.lang.Class type
        end local 3 // org.springframework.beans.factory.config.BeanDefinition definition
        end local 2 // java.util.Collection definitions
        end local 1 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         name  Ljava/lang/String;
            0    9     1  beanFactory  Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
            0    9     2  definitions  Ljava/util/Collection<Lorg/springframework/data/jpa/util/BeanDefinitionUtils$EntityManagerFactoryBeanDefinition;>;
            1    9     3   definition  Lorg/springframework/beans/factory/config/BeanDefinition;
            5    9     4         type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;Ljava/util/Collection<Lorg/springframework/data/jpa/util/BeanDefinitionUtils$EntityManagerFactoryBeanDefinition;>;)V
    MethodParameters:
             Name  Flags
      name         
      beanFactory  
      definitions  

  public static org.springframework.beans.factory.config.BeanDefinition getBeanDefinition(java.lang.String, org.springframework.beans.factory.config.ConfigurableListableBeanFactory);
    descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)Lorg/springframework/beans/factory/config/BeanDefinition;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.String name
        start local 1 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
         0: .line 154
            aload 1 /* beanFactory */
            aload 0 /* name */
            invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
         1: areturn
         2: .line 155
      StackMap locals:
      StackMap stack: org.springframework.beans.factory.NoSuchBeanDefinitionException
            astore 2 /* o_O */
        start local 2 // org.springframework.beans.factory.NoSuchBeanDefinitionException o_O
         3: .line 157
            aload 1 /* beanFactory */
            invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getParentBeanFactory:()Lorg/springframework/beans/factory/BeanFactory;
            astore 3 /* parentBeanFactory */
        start local 3 // org.springframework.beans.factory.BeanFactory parentBeanFactory
         4: .line 159
            aload 3 /* parentBeanFactory */
            instanceof org.springframework.beans.factory.config.ConfigurableListableBeanFactory
            ifeq 6
         5: .line 160
            aload 0 /* name */
            aload 3 /* parentBeanFactory */
            checkcast org.springframework.beans.factory.config.ConfigurableListableBeanFactory
            invokestatic org.springframework.data.jpa.util.BeanDefinitionUtils.getBeanDefinition:(Ljava/lang/String;Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)Lorg/springframework/beans/factory/config/BeanDefinition;
            areturn
         6: .line 163
      StackMap locals: org.springframework.beans.factory.NoSuchBeanDefinitionException org.springframework.beans.factory.BeanFactory
      StackMap stack:
            aload 2 /* o_O */
            athrow
        end local 3 // org.springframework.beans.factory.BeanFactory parentBeanFactory
        end local 2 // org.springframework.beans.factory.NoSuchBeanDefinitionException o_O
        end local 1 // org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               name  Ljava/lang/String;
            0    7     1        beanFactory  Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
            3    7     2                o_O  Lorg/springframework/beans/factory/NoSuchBeanDefinitionException;
            4    7     3  parentBeanFactory  Lorg/springframework/beans/factory/BeanFactory;
      Exception table:
        from    to  target  type
           0     1       2  Class org.springframework.beans.factory.NoSuchBeanDefinitionException
    MethodParameters:
             Name  Flags
      name         
      beanFactory  
}
SourceFile: "BeanDefinitionUtils.java"
NestMembers:
  org.springframework.data.jpa.util.BeanDefinitionUtils$EntityManagerFactoryBeanDefinition
InnerClasses:
  public EntityManagerFactoryBeanDefinition = org.springframework.data.jpa.util.BeanDefinitionUtils$EntityManagerFactoryBeanDefinition of org.springframework.data.jpa.util.BeanDefinitionUtils