public class org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor implements org.springframework.boot.actuate.endpoint.invoke.OperationInvokerAdvisor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor
  super_class: java.lang.Object
{
  private final java.util.function.Function<org.springframework.boot.actuate.endpoint.EndpointId, java.lang.Long> endpointIdTimeToLive;
    descriptor: Ljava/util/function/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Function<Lorg/springframework/boot/actuate/endpoint/EndpointId;Ljava/lang/Long;>;

  public void <init>(java.util.function.Function<org.springframework.boot.actuate.endpoint.EndpointId, java.lang.Long>);
    descriptor: (Ljava/util/function/Function;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor this
        start local 1 // java.util.function.Function endpointIdTimeToLive
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            aload 1 /* endpointIdTimeToLive */
            putfield org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor.endpointIdTimeToLive:Ljava/util/function/Function;
         2: .line 42
            return
        end local 1 // java.util.function.Function endpointIdTimeToLive
        end local 0 // org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lorg/springframework/boot/actuate/endpoint/invoker/cache/CachingOperationInvokerAdvisor;
            0    3     1  endpointIdTimeToLive  Ljava/util/function/Function<Lorg/springframework/boot/actuate/endpoint/EndpointId;Ljava/lang/Long;>;
    Signature: (Ljava/util/function/Function<Lorg/springframework/boot/actuate/endpoint/EndpointId;Ljava/lang/Long;>;)V
    MethodParameters:
                      Name  Flags
      endpointIdTimeToLive  

  public org.springframework.boot.actuate.endpoint.invoke.OperationInvoker apply(org.springframework.boot.actuate.endpoint.EndpointId, org.springframework.boot.actuate.endpoint.OperationType, org.springframework.boot.actuate.endpoint.invoke.OperationParameters, org.springframework.boot.actuate.endpoint.invoke.OperationInvoker);
    descriptor: (Lorg/springframework/boot/actuate/endpoint/EndpointId;Lorg/springframework/boot/actuate/endpoint/OperationType;Lorg/springframework/boot/actuate/endpoint/invoke/OperationParameters;Lorg/springframework/boot/actuate/endpoint/invoke/OperationInvoker;)Lorg/springframework/boot/actuate/endpoint/invoke/OperationInvoker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor this
        start local 1 // org.springframework.boot.actuate.endpoint.EndpointId endpointId
        start local 2 // org.springframework.boot.actuate.endpoint.OperationType operationType
        start local 3 // org.springframework.boot.actuate.endpoint.invoke.OperationParameters parameters
        start local 4 // org.springframework.boot.actuate.endpoint.invoke.OperationInvoker invoker
         0: .line 47
            aload 2 /* operationType */
            getstatic org.springframework.boot.actuate.endpoint.OperationType.READ:Lorg/springframework/boot/actuate/endpoint/OperationType;
            if_acmpne 4
            aload 0 /* this */
            aload 3 /* parameters */
            invokevirtual org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor.hasMandatoryParameter:(Lorg/springframework/boot/actuate/endpoint/invoke/OperationParameters;)Z
            ifne 4
         1: .line 48
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor.endpointIdTimeToLive:Ljava/util/function/Function;
            aload 1 /* endpointId */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 5 /* timeToLive */
        start local 5 // java.lang.Long timeToLive
         2: .line 49
            aload 5 /* timeToLive */
            ifnull 4
            aload 5 /* timeToLive */
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            ifle 4
         3: .line 50
            new org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker
            dup
            aload 4 /* invoker */
            aload 5 /* timeToLive */
            invokevirtual java.lang.Long.longValue:()J
            invokespecial org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker.<init>:(Lorg/springframework/boot/actuate/endpoint/invoke/OperationInvoker;J)V
            areturn
        end local 5 // java.lang.Long timeToLive
         4: .line 53
      StackMap locals:
      StackMap stack:
            aload 4 /* invoker */
            areturn
        end local 4 // org.springframework.boot.actuate.endpoint.invoke.OperationInvoker invoker
        end local 3 // org.springframework.boot.actuate.endpoint.invoke.OperationParameters parameters
        end local 2 // org.springframework.boot.actuate.endpoint.OperationType operationType
        end local 1 // org.springframework.boot.actuate.endpoint.EndpointId endpointId
        end local 0 // org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/springframework/boot/actuate/endpoint/invoker/cache/CachingOperationInvokerAdvisor;
            0    5     1     endpointId  Lorg/springframework/boot/actuate/endpoint/EndpointId;
            0    5     2  operationType  Lorg/springframework/boot/actuate/endpoint/OperationType;
            0    5     3     parameters  Lorg/springframework/boot/actuate/endpoint/invoke/OperationParameters;
            0    5     4        invoker  Lorg/springframework/boot/actuate/endpoint/invoke/OperationInvoker;
            2    4     5     timeToLive  Ljava/lang/Long;
    MethodParameters:
               Name  Flags
      endpointId     
      operationType  
      parameters     
      invoker        

  private boolean hasMandatoryParameter(org.springframework.boot.actuate.endpoint.invoke.OperationParameters);
    descriptor: (Lorg/springframework/boot/actuate/endpoint/invoke/OperationParameters;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor this
        start local 1 // org.springframework.boot.actuate.endpoint.invoke.OperationParameters parameters
         0: .line 57
            aload 1 /* parameters */
            invokeinterface org.springframework.boot.actuate.endpoint.invoke.OperationParameters.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor org.springframework.boot.actuate.endpoint.invoke.OperationParameters top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.boot.actuate.endpoint.invoke.OperationParameter
            astore 2 /* parameter */
        start local 2 // org.springframework.boot.actuate.endpoint.invoke.OperationParameter parameter
         2: .line 58
            aload 2 /* parameter */
            invokeinterface org.springframework.boot.actuate.endpoint.invoke.OperationParameter.isMandatory:()Z
            ifeq 5
            ldc Lorg/springframework/boot/actuate/endpoint/http/ApiVersion;
            aload 2 /* parameter */
            invokeinterface org.springframework.boot.actuate.endpoint.invoke.OperationParameter.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 5
         3: .line 59
            ldc Lorg/springframework/boot/actuate/endpoint/SecurityContext;
            aload 2 /* parameter */
            invokeinterface org.springframework.boot.actuate.endpoint.invoke.OperationParameter.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 5
         4: .line 60
            iconst_1
            ireturn
        end local 2 // org.springframework.boot.actuate.endpoint.invoke.OperationParameter parameter
         5: .line 57
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 63
            iconst_0
            ireturn
        end local 1 // org.springframework.boot.actuate.endpoint.invoke.OperationParameters parameters
        end local 0 // org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/springframework/boot/actuate/endpoint/invoker/cache/CachingOperationInvokerAdvisor;
            0    7     1  parameters  Lorg/springframework/boot/actuate/endpoint/invoke/OperationParameters;
            2    5     2   parameter  Lorg/springframework/boot/actuate/endpoint/invoke/OperationParameter;
    MethodParameters:
            Name  Flags
      parameters  
}
SourceFile: "CachingOperationInvokerAdvisor.java"