public abstract class io.vertx.ext.web.api.contract.impl.BaseRouterFactory<Specification> implements io.vertx.ext.web.api.contract.RouterFactory<Specification>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.ext.web.api.contract.impl.BaseRouterFactory
  super_class: java.lang.Object
{
  public static final io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> DEFAULT_VALIDATION_FAILURE_HANDLER;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;

  public static final io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> DEFAULT_NOT_IMPLEMENTED_HANDLER;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;

  public static final java.util.function.Function<io.vertx.ext.web.RoutingContext, io.vertx.core.json.JsonObject> DEFAULT_EXTRA_OPERATION_CONTEXT_PAYLOAD_MAPPER;
    descriptor: Ljava/util/function/Function;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Lio/vertx/ext/web/RoutingContext;Lio/vertx/core/json/JsonObject;>;

  protected io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0004) ACC_PROTECTED

  protected Specification spec;
    descriptor: Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Signature: TSpecification;

  protected io.vertx.ext.web.api.contract.RouterFactoryOptions options;
    descriptor: Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
    flags: (0x0004) ACC_PROTECTED

  private io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> validationFailureHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;

  private io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> notImplementedFailureHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;

  private io.vertx.ext.web.handler.BodyHandler bodyHandler;
    descriptor: Lio/vertx/ext/web/handler/BodyHandler;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>> globalHandlers;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;>;

  private java.util.function.Function<io.vertx.ext.web.RoutingContext, io.vertx.core.json.JsonObject> extraOperationContextPayloadMapper;
    descriptor: Ljava/util/function/Function;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/function/Function<Lio/vertx/ext/web/RoutingContext;Lio/vertx/core/json/JsonObject;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 26
            invokedynamic handle()Lio/vertx/core/Handler;
              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;)V
                  io/vertx/ext/web/api/contract/impl/BaseRouterFactory.lambda$0(Lio/vertx/ext/web/RoutingContext;)V (6)
                  (Lio/vertx/ext/web/RoutingContext;)V
            putstatic io.vertx.ext.web.api.contract.impl.BaseRouterFactory.DEFAULT_VALIDATION_FAILURE_HANDLER:Lio/vertx/core/Handler;
         1: .line 40
            invokedynamic handle()Lio/vertx/core/Handler;
              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;)V
                  io/vertx/ext/web/api/contract/impl/BaseRouterFactory.lambda$1(Lio/vertx/ext/web/RoutingContext;)V (6)
                  (Lio/vertx/ext/web/RoutingContext;)V
            putstatic io.vertx.ext.web.api.contract.impl.BaseRouterFactory.DEFAULT_NOT_IMPLEMENTED_HANDLER:Lio/vertx/core/Handler;
         2: .line 45
            aconst_null
            putstatic io.vertx.ext.web.api.contract.impl.BaseRouterFactory.DEFAULT_EXTRA_OPERATION_CONTEXT_PAYLOAD_MAPPER:Ljava/util/function/Function;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.vertx.core.Vertx, Specification, io.vertx.ext.web.api.contract.RouterFactoryOptions);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/Object;Lio/vertx/ext/web/api/contract/RouterFactoryOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // java.lang.Object spec
        start local 3 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.vertx:Lio/vertx/core/Vertx;
         2: .line 59
            aload 0 /* this */
            aload 2 /* spec */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.spec:Ljava/lang/Object;
         3: .line 60
            aload 0 /* this */
            aload 3 /* options */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.options:Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
         4: .line 62
            aload 0 /* this */
            getstatic io.vertx.ext.web.api.contract.impl.BaseRouterFactory.DEFAULT_VALIDATION_FAILURE_HANDLER:Lio/vertx/core/Handler;
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.validationFailureHandler:Lio/vertx/core/Handler;
         5: .line 63
            aload 0 /* this */
            getstatic io.vertx.ext.web.api.contract.impl.BaseRouterFactory.DEFAULT_NOT_IMPLEMENTED_HANDLER:Lio/vertx/core/Handler;
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.notImplementedFailureHandler:Lio/vertx/core/Handler;
         6: .line 64
            aload 0 /* this */
            invokestatic io.vertx.ext.web.handler.BodyHandler.create:()Lio/vertx/ext/web/handler/BodyHandler;
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.bodyHandler:Lio/vertx/ext/web/handler/BodyHandler;
         7: .line 65
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.globalHandlers:Ljava/util/List;
         8: .line 66
            aload 0 /* this */
            getstatic io.vertx.ext.web.api.contract.impl.BaseRouterFactory.DEFAULT_EXTRA_OPERATION_CONTEXT_PAYLOAD_MAPPER:Ljava/util/function/Function;
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.extraOperationContextPayloadMapper:Ljava/util/function/Function;
         9: .line 67
            return
        end local 3 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
        end local 2 // java.lang.Object spec
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0   10     1    vertx  Lio/vertx/core/Vertx;
            0   10     2     spec  TSpecification;
            0   10     3  options  Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
    Signature: (Lio/vertx/core/Vertx;TSpecification;Lio/vertx/ext/web/api/contract/RouterFactoryOptions;)V
    MethodParameters:
         Name  Flags
      vertx    
      spec     
      options  

  public void <init>(io.vertx.core.Vertx, );
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // java.lang.Object spec
         0: .line 70
            aload 0 /* this */
            aload 1 /* vertx */
            aload 2 /* spec */
            new io.vertx.ext.web.api.contract.RouterFactoryOptions
            dup
            invokespecial io.vertx.ext.web.api.contract.RouterFactoryOptions.<init>:()V
            invokespecial io.vertx.ext.web.api.contract.impl.BaseRouterFactory.<init>:(Lio/vertx/core/Vertx;Ljava/lang/Object;Lio/vertx/ext/web/api/contract/RouterFactoryOptions;)V
         1: .line 71
            return
        end local 2 // java.lang.Object spec
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0    2     1  vertx  Lio/vertx/core/Vertx;
            0    2     2   spec  TSpecification;
    Signature: (Lio/vertx/core/Vertx;TSpecification;)V
    MethodParameters:
       Name  Flags
      vertx  
      spec   

  public io.vertx.ext.web.api.contract.RouterFactory setOptions(io.vertx.ext.web.api.contract.RouterFactoryOptions);
    descriptor: (Lio/vertx/ext/web/api/contract/RouterFactoryOptions;)Lio/vertx/ext/web/api/contract/RouterFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
         0: .line 75
            aload 0 /* this */
            aload 1 /* options */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.options:Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
         1: .line 76
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.ext.web.api.contract.RouterFactoryOptions options
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0    2     1  options  Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.ext.web.api.contract.RouterFactoryOptions getOptions();
    descriptor: ()Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
         0: .line 81
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.options:Lio/vertx/ext/web/api/contract/RouterFactoryOptions;
            areturn
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;

  public io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> getValidationFailureHandler();
    descriptor: ()Lio/vertx/core/Handler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
         0: .line 86
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.validationFailureHandler:Lio/vertx/core/Handler;
            areturn
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
    Signature: ()Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;

  public io.vertx.ext.web.api.contract.RouterFactory setValidationFailureHandler(io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/RouterFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // io.vertx.core.Handler validationFailureHandler
         0: .line 92
            aload 0 /* this */
            aload 1 /* validationFailureHandler */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.validationFailureHandler:Lio/vertx/core/Handler;
         1: .line 93
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler validationFailureHandler
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0    2     1  validationFailureHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;)Lio/vertx/ext/web/api/contract/RouterFactory;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                          Name  Flags
      validationFailureHandler  

  protected io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> getNotImplementedFailureHandler();
    descriptor: ()Lio/vertx/core/Handler;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
         0: .line 97
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.notImplementedFailureHandler:Lio/vertx/core/Handler;
            areturn
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
    Signature: ()Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;

  public io.vertx.ext.web.api.contract.RouterFactory setNotImplementedFailureHandler(io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/RouterFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // io.vertx.core.Handler notImplementedFailureHandler
         0: .line 103
            aload 0 /* this */
            aload 1 /* notImplementedFailureHandler */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.notImplementedFailureHandler:Lio/vertx/core/Handler;
         1: .line 104
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler notImplementedFailureHandler
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    2     0                          this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0    2     1  notImplementedFailureHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;)Lio/vertx/ext/web/api/contract/RouterFactory;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                              Name  Flags
      notImplementedFailureHandler  

  protected io.vertx.ext.web.handler.BodyHandler getBodyHandler();
    descriptor: ()Lio/vertx/ext/web/handler/BodyHandler;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
         0: .line 108
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.bodyHandler:Lio/vertx/ext/web/handler/BodyHandler;
            areturn
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;

  public io.vertx.ext.web.api.contract.RouterFactory setBodyHandler(io.vertx.ext.web.handler.BodyHandler);
    descriptor: (Lio/vertx/ext/web/handler/BodyHandler;)Lio/vertx/ext/web/api/contract/RouterFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // io.vertx.ext.web.handler.BodyHandler bodyHandler
         0: .line 114
            aload 0 /* this */
            aload 1 /* bodyHandler */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.bodyHandler:Lio/vertx/ext/web/handler/BodyHandler;
         1: .line 115
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.ext.web.handler.BodyHandler bodyHandler
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0    2     1  bodyHandler  Lio/vertx/ext/web/handler/BodyHandler;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
             Name  Flags
      bodyHandler  

  protected java.util.List<io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>> getGlobalHandlers();
    descriptor: ()Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
         0: .line 119
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.globalHandlers:Ljava/util/List;
            areturn
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
    Signature: ()Ljava/util/List<Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;>;

  public io.vertx.ext.web.api.contract.RouterFactory addGlobalHandler(io.vertx.core.Handler<io.vertx.ext.web.RoutingContext>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/web/api/contract/RouterFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // io.vertx.core.Handler globalHandler
         0: .line 125
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.globalHandlers:Ljava/util/List;
            aload 1 /* globalHandler */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 126
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler globalHandler
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0    2     1  globalHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;)Lio/vertx/ext/web/api/contract/RouterFactory;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
               Name  Flags
      globalHandler  

  protected java.util.function.Function<io.vertx.ext.web.RoutingContext, io.vertx.core.json.JsonObject> getExtraOperationContextPayloadMapper();
    descriptor: ()Ljava/util/function/Function;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
         0: .line 130
            aload 0 /* this */
            getfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.extraOperationContextPayloadMapper:Ljava/util/function/Function;
            areturn
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
    Signature: ()Ljava/util/function/Function<Lio/vertx/ext/web/RoutingContext;Lio/vertx/core/json/JsonObject;>;

  public io.vertx.ext.web.api.contract.RouterFactory setExtraOperationContextPayloadMapper(java.util.function.Function<io.vertx.ext.web.RoutingContext, io.vertx.core.json.JsonObject>);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/ext/web/api/contract/RouterFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
        start local 1 // java.util.function.Function extraOperationContextPayloadMapper
         0: .line 136
            aload 0 /* this */
            aload 1 /* extraOperationContextPayloadMapper */
            putfield io.vertx.ext.web.api.contract.impl.BaseRouterFactory.extraOperationContextPayloadMapper:Ljava/util/function/Function;
         1: .line 137
            aload 0 /* this */
            areturn
        end local 1 // java.util.function.Function extraOperationContextPayloadMapper
        end local 0 // io.vertx.ext.web.api.contract.impl.BaseRouterFactory this
      LocalVariableTable:
        Start  End  Slot                                Name  Signature
            0    2     0                                this  Lio/vertx/ext/web/api/contract/impl/BaseRouterFactory<TSpecification;>;
            0    2     1  extraOperationContextPayloadMapper  Ljava/util/function/Function<Lio/vertx/ext/web/RoutingContext;Lio/vertx/core/json/JsonObject;>;
    Signature: (Ljava/util/function/Function<Lio/vertx/ext/web/RoutingContext;Lio/vertx/core/json/JsonObject;>;)Lio/vertx/ext/web/api/contract/RouterFactory;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                                    Name  Flags
      extraOperationContextPayloadMapper  

  private static void lambda$0(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 27
            aload 0 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.failure:()Ljava/lang/Throwable;
            instanceof io.vertx.ext.web.api.validation.ValidationException
            ifeq 7
         1: .line 28
            aload 0 /* routingContext */
         2: .line 29
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
         3: .line 30
            sipush 400
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
         4: .line 31
            ldc "Bad Request"
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusMessage:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
         5: .line 32
            aload 0 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.failure:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokeinterface io.vertx.core.http.HttpServerResponse.end:(Ljava/lang/String;)Lio/vertx/core/Future;
            pop
         6: .line 33
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.next:()V
         8: .line 34
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.ext.web.RoutingContext routingContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0  routingContext  Lio/vertx/ext/web/RoutingContext;

  private static void lambda$1(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.RoutingContext routingContext
         0: .line 40
            aload 0 /* routingContext */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            sipush 501
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
            ldc "Not Implemented"
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusMessage:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
            invokeinterface io.vertx.core.http.HttpServerResponse.end:()Lio/vertx/core/Future;
            return
        end local 0 // io.vertx.ext.web.RoutingContext routingContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  routingContext  Lio/vertx/ext/web/RoutingContext;
}
Signature: <Specification:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/ext/web/api/contract/RouterFactory<TSpecification;>;
SourceFile: "BaseRouterFactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles