public class org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator extends org.springframework.boot.actuate.health.AbstractHealthIndicator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator
super_class: org.springframework.boot.actuate.health.AbstractHealthIndicator
{
private final org.springframework.boot.availability.ApplicationAvailability applicationAvailability;
descriptor: Lorg/springframework/boot/availability/ApplicationAvailability;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<? extends org.springframework.boot.availability.AvailabilityState> stateType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<+Lorg/springframework/boot/availability/AvailabilityState;>;
private final java.util.Map<org.springframework.boot.availability.AvailabilityState, org.springframework.boot.actuate.health.Status> statusMappings;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/springframework/boot/availability/AvailabilityState;Lorg/springframework/boot/actuate/health/Status;>;
public <S extends org.springframework.boot.availability.AvailabilityState> void <init>(org.springframework.boot.availability.ApplicationAvailability, java.lang.Class<S>, java.util.function.Consumer<org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator$StatusMappings<S>>);
descriptor: (Lorg/springframework/boot/availability/ApplicationAvailability;Ljava/lang/Class;Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.springframework.boot.actuate.health.AbstractHealthIndicator.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.statusMappings:Ljava/util/Map;
2: aload 1
ldc "ApplicationAvailability must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 2
ldc "StateType must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
4: aload 3
ldc "StatusMappings must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
5: aload 0
aload 1
putfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.applicationAvailability:Lorg/springframework/boot/availability/ApplicationAvailability;
6: aload 0
aload 2
putfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.stateType:Ljava/lang/Class;
7: aload 3
aload 0
getfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.statusMappings:Ljava/util/Map;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic add(Ljava/util/Map;)Lorg/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator$StatusMappings;
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:
(Lorg/springframework/boot/availability/AvailabilityState;Lorg/springframework/boot/actuate/health/Status;)V
java/util/Map.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
(Lorg/springframework/boot/availability/AvailabilityState;Lorg/springframework/boot/actuate/health/Status;)V
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
8: aload 0
aload 2
invokevirtual org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.assertAllEnumsMapped:(Ljava/lang/Class;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator;
0 10 1 applicationAvailability Lorg/springframework/boot/availability/ApplicationAvailability;
0 10 2 stateType Ljava/lang/Class<TS;>;
0 10 3 statusMappings Ljava/util/function/Consumer<Lorg/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator$StatusMappings<TS;>;>;
Signature: <S::Lorg/springframework/boot/availability/AvailabilityState;>(Lorg/springframework/boot/availability/ApplicationAvailability;Ljava/lang/Class<TS;>;Ljava/util/function/Consumer<Lorg/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator$StatusMappings<TS;>;>;)V
MethodParameters:
Name Flags
applicationAvailability
stateType
statusMappings
private <S extends org.springframework.boot.availability.AvailabilityState> void assertAllEnumsMapped(java.lang.Class<S>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.statusMappings:Ljava/util/Map;
aconst_null
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 8
ldc Ljava/lang/Enum;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 8
1: aload 1
invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 2
start local 2 2: aload 2
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator java.lang.Class java.util.EnumSet top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 4: aload 0
getfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.statusMappings:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
5: aload 3
invokedynamic get(Ljava/lang/Object;)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/availability/AvailabilityStateHealthIndicator.lambda$1(Ljava/lang/Object;)Ljava/lang/String; (6)
()Ljava/lang/String;
6: invokestatic org.springframework.util.Assert.isTrue:(ZLjava/util/function/Supplier;)V
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 8: StackMap locals: org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator java.lang.Class
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator;
0 9 1 stateType Ljava/lang/Class<TS;>;
2 8 2 elements Ljava/util/EnumSet;
4 7 3 element Ljava/lang/Object;
Signature: <S::Lorg/springframework/boot/availability/AvailabilityState;>(Ljava/lang/Class<TS;>;)V
MethodParameters:
Name Flags
stateType
protected void doHealthCheck(org.springframework.boot.actuate.health.Health$Builder);
descriptor: (Lorg/springframework/boot/actuate/health/Health$Builder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.applicationAvailability:Lorg/springframework/boot/availability/ApplicationAvailability;
invokevirtual org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.getState:(Lorg/springframework/boot/availability/ApplicationAvailability;)Lorg/springframework/boot/availability/AvailabilityState;
astore 2
start local 2 1: aload 0
getfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.statusMappings:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.boot.actuate.health.Status
astore 3
start local 3 2: aload 3
ifnonnull 4
3: aload 0
getfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.statusMappings:Ljava/util/Map;
aconst_null
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.boot.actuate.health.Status
astore 3
4: StackMap locals: org.springframework.boot.availability.AvailabilityState org.springframework.boot.actuate.health.Status
StackMap stack:
aload 3
ifnull 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: aload 2
invokedynamic get(Lorg/springframework/boot/availability/AvailabilityState;)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/availability/AvailabilityStateHealthIndicator.lambda$2(Lorg/springframework/boot/availability/AvailabilityState;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic org.springframework.util.Assert.state:(ZLjava/util/function/Supplier;)V
7: aload 1
aload 3
invokevirtual org.springframework.boot.actuate.health.Health$Builder.status:(Lorg/springframework/boot/actuate/health/Status;)Lorg/springframework/boot/actuate/health/Health$Builder;
pop
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator;
0 9 1 builder Lorg/springframework/boot/actuate/health/Health$Builder;
1 9 2 state Lorg/springframework/boot/availability/AvailabilityState;
2 9 3 status Lorg/springframework/boot/actuate/health/Status;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
builder
protected org.springframework.boot.availability.AvailabilityState getState(org.springframework.boot.availability.ApplicationAvailability);
descriptor: (Lorg/springframework/boot/availability/ApplicationAvailability;)Lorg/springframework/boot/availability/AvailabilityState;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator.stateType:Ljava/lang/Class;
invokeinterface org.springframework.boot.availability.ApplicationAvailability.getState:(Ljava/lang/Class;)Lorg/springframework/boot/availability/AvailabilityState;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator;
0 1 1 applicationAvailability Lorg/springframework/boot/availability/ApplicationAvailability;
MethodParameters:
Name Flags
applicationAvailability
private static java.lang.String lambda$1(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "StatusMappings does not include "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$2(org.springframework.boot.availability.AvailabilityState);
descriptor: (Lorg/springframework/boot/availability/AvailabilityState;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "No mapping provided for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "AvailabilityStateHealthIndicator.java"
NestMembers:
org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator$StatusMappings
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract StatusMappings = org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator$StatusMappings of org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator
public Builder = org.springframework.boot.actuate.health.Health$Builder of org.springframework.boot.actuate.health.Health