class org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean
  super_class: java.lang.Object
{
  private final java.lang.String beanName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?> beanType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final java.util.function.Supplier<java.lang.Object> beanSupplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Ljava/lang/Object;>;

  private final org.springframework.boot.actuate.endpoint.EndpointId id;
    descriptor: Lorg/springframework/boot/actuate/endpoint/EndpointId;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean enabledByDefault;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Class<?> filter;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private java.util.Set<org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean> extensions;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;>;

  void <init>(org.springframework.core.env.Environment, java.lang.String, java.lang.Class<?>, java.util.function.Supplier<java.lang.Object>);
    descriptor: (Lorg/springframework/core/env/Environment;Ljava/lang/String;Ljava/lang/Class;Ljava/util/function/Supplier;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
        start local 1 // org.springframework.core.env.Environment environment
        start local 2 // java.lang.String beanName
        start local 3 // java.lang.Class beanType
        start local 4 // java.util.function.Supplier beanSupplier
         0: .line 411
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 409
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.extensions:Ljava/util/Set;
         2: .line 412
            aload 3 /* beanType */
            getstatic org.springframework.core.annotation.MergedAnnotations$SearchStrategy.TYPE_HIERARCHY:Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;
            invokestatic org.springframework.core.annotation.MergedAnnotations.from:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;)Lorg/springframework/core/annotation/MergedAnnotations;
         3: .line 413
            ldc Lorg/springframework/boot/actuate/endpoint/annotation/Endpoint;
            invokeinterface org.springframework.core.annotation.MergedAnnotations.get:(Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
         4: .line 412
            astore 5 /* annotation */
        start local 5 // org.springframework.core.annotation.MergedAnnotation annotation
         5: .line 414
            aload 5 /* annotation */
            ldc "id"
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* id */
        start local 6 // java.lang.String id
         6: .line 415
            aload 6 /* id */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
         7: .line 416
            aload 3 /* beanType */
            invokedynamic get(Ljava/lang/Class;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean.lambda$0(Ljava/lang/Class;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
         8: .line 415
            invokestatic org.springframework.util.Assert.state:(ZLjava/util/function/Supplier;)V
         9: .line 417
            aload 0 /* this */
            aload 2 /* beanName */
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.beanName:Ljava/lang/String;
        10: .line 418
            aload 0 /* this */
            aload 3 /* beanType */
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.beanType:Ljava/lang/Class;
        11: .line 419
            aload 0 /* this */
            aload 4 /* beanSupplier */
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.beanSupplier:Ljava/util/function/Supplier;
        12: .line 420
            aload 0 /* this */
            aload 1 /* environment */
            aload 6 /* id */
            invokestatic org.springframework.boot.actuate.endpoint.EndpointId.of:(Lorg/springframework/core/env/Environment;Ljava/lang/String;)Lorg/springframework/boot/actuate/endpoint/EndpointId;
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.id:Lorg/springframework/boot/actuate/endpoint/EndpointId;
        13: .line 421
            aload 0 /* this */
            aload 5 /* annotation */
            ldc "enableByDefault"
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getBoolean:(Ljava/lang/String;)Z
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.enabledByDefault:Z
        14: .line 422
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* beanType */
            invokevirtual org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.getFilter:(Ljava/lang/Class;)Ljava/lang/Class;
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.filter:Ljava/lang/Class;
        15: .line 423
            return
        end local 6 // java.lang.String id
        end local 5 // org.springframework.core.annotation.MergedAnnotation annotation
        end local 4 // java.util.function.Supplier beanSupplier
        end local 3 // java.lang.Class beanType
        end local 2 // java.lang.String beanName
        end local 1 // org.springframework.core.env.Environment environment
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;
            0   16     1   environment  Lorg/springframework/core/env/Environment;
            0   16     2      beanName  Ljava/lang/String;
            0   16     3      beanType  Ljava/lang/Class<*>;
            0   16     4  beanSupplier  Ljava/util/function/Supplier<Ljava/lang/Object;>;
            5   16     5    annotation  Lorg/springframework/core/annotation/MergedAnnotation<Lorg/springframework/boot/actuate/endpoint/annotation/Endpoint;>;
            6   16     6            id  Ljava/lang/String;
    Signature: (Lorg/springframework/core/env/Environment;Ljava/lang/String;Ljava/lang/Class<*>;Ljava/util/function/Supplier<Ljava/lang/Object;>;)V
    MethodParameters:
              Name  Flags
      environment   
      beanName      
      beanType      
      beanSupplier  

  void addExtension(org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean);
    descriptor: (Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
        start local 1 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean extensionBean
         0: .line 426
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.extensions:Ljava/util/Set;
            aload 1 /* extensionBean */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 427
            return
        end local 1 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean extensionBean
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;
            0    2     1  extensionBean  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;
    MethodParameters:
               Name  Flags
      extensionBean  

  java.util.Set<org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean> getExtensions();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
         0: .line 430
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.extensions:Ljava/util/Set;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;
    Signature: ()Ljava/util/Set<Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;>;

  private java.lang.Class<?> getFilter(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
        start local 1 // java.lang.Class type
         0: .line 434
            aload 1 /* type */
            getstatic org.springframework.core.annotation.MergedAnnotations$SearchStrategy.TYPE_HIERARCHY:Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;
            invokestatic org.springframework.core.annotation.MergedAnnotations.from:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;)Lorg/springframework/core/annotation/MergedAnnotations;
            ldc Lorg/springframework/boot/actuate/endpoint/annotation/FilteredEndpoint;
            invokeinterface org.springframework.core.annotation.MergedAnnotations.get:(Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
         1: .line 435
            ldc "value"
            ldc Ljava/lang/Class;
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getValue:(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
         2: .line 434
            areturn
        end local 1 // java.lang.Class type
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;
            0    3     1  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      type  

  java.lang.String getBeanName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
         0: .line 439
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.beanName:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;

  java.lang.Class<?> getBeanType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
         0: .line 443
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.beanType:Ljava/lang/Class;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;
    Signature: ()Ljava/lang/Class<*>;

  java.lang.Object getBean();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
         0: .line 447
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.beanSupplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;

  org.springframework.boot.actuate.endpoint.EndpointId getId();
    descriptor: ()Lorg/springframework/boot/actuate/endpoint/EndpointId;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
         0: .line 451
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.id:Lorg/springframework/boot/actuate/endpoint/EndpointId;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;

  boolean isEnabledByDefault();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
         0: .line 455
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.enabledByDefault:Z
            ireturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;

  java.lang.Class<?> getFilter();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
         0: .line 459
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean.filter:Ljava/lang/Class;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$EndpointBean;
    Signature: ()Ljava/lang/Class<*>;

  private static java.lang.String lambda$0(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 416
            new java.lang.StringBuilder
            dup
            ldc "No @Endpoint id attribute specified for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "EndpointDiscoverer.java"
NestHost: org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private EndpointBean = org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$EndpointBean of org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer
  private ExtensionBean = org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean of org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer
  public final SearchStrategy = org.springframework.core.annotation.MergedAnnotations$SearchStrategy of org.springframework.core.annotation.MergedAnnotations