public interface io.vertx.ext.web.api.validation.ParameterTypeValidator
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.ext.web.api.validation.ParameterTypeValidator
  super_class: java.lang.Object
{
  public abstract io.vertx.ext.web.api.RequestParameter isValid(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/api/RequestParameter;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    MethodParameters:
       Name  Flags
      value  

  public io.vertx.ext.web.api.RequestParameter isValidCollection(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Lio/vertx/ext/web/api/RequestParameter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator this
        start local 1 // java.util.List value
         0: .line 47
            aload 1 /* value */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 2
            aload 0 /* this */
            instanceof io.vertx.ext.web.api.validation.impl.ArrayTypeValidator
            ifne 2
            aload 0 /* this */
            instanceof io.vertx.ext.web.api.validation.impl.ObjectTypeValidator
            ifne 2
         1: .line 48
            aconst_null
            aconst_null
            invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateUnexpectedArrayValidationException:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterValidationRule;)Lio/vertx/ext/web/api/validation/ValidationException;
            athrow
         2: .line 49
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.isValid:(Ljava/lang/String;)Lio/vertx/ext/web/api/RequestParameter;
            areturn
        end local 1 // java.util.List value
        end local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            0    3     1  value  Ljava/util/List<Ljava/lang/String;>;
    Exceptions:
      throws io.vertx.ext.web.api.validation.ValidationException
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Lio/vertx/ext/web/api/RequestParameter;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.Object getDefault();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator this
         0: .line 58
            aconst_null
            areturn
        end local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;

  public boolean hasDefault();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator this
         0: .line 66
            aload 0 /* this */
            invokeinterface io.vertx.ext.web.api.validation.ParameterTypeValidator.getDefault:()Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createIntegerTypeValidator(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Integer defaultValue
         0: .line 78
            aconst_null
            aconst_null
            aconst_null
            aload 0 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createIntegerTypeValidator:(Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 0 // java.lang.Integer defaultValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  defaultValue  Ljava/lang/Integer;
    MethodParameters:
              Name  Flags
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createIntegerTypeValidator(java.lang.Double, java.lang.Double, java.lang.Double, java.lang.Integer);
    descriptor: (Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Double maximum
        start local 1 // java.lang.Double minimum
        start local 2 // java.lang.Double multipleOf
        start local 3 // java.lang.Integer defaultValue
         0: .line 93
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 0 /* maximum */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* minimum */
            aload 2 /* multipleOf */
            aload 3 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createIntegerTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 3 // java.lang.Integer defaultValue
        end local 2 // java.lang.Double multipleOf
        end local 1 // java.lang.Double minimum
        end local 0 // java.lang.Double maximum
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       maximum  Ljava/lang/Double;
            0    1     1       minimum  Ljava/lang/Double;
            0    1     2    multipleOf  Ljava/lang/Double;
            0    1     3  defaultValue  Ljava/lang/Integer;
    MethodParameters:
              Name  Flags
      maximum       
      minimum       
      multipleOf    
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createIntegerTypeValidator(java.lang.Boolean, java.lang.Double, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Object);
    descriptor: (Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // java.lang.Boolean exclusiveMaximum
        start local 1 // java.lang.Double maximum
        start local 2 // java.lang.Boolean exclusiveMinimum
        start local 3 // java.lang.Double minimum
        start local 4 // java.lang.Double multipleOf
        start local 5 // java.lang.Object defaultValue
         0: .line 113
            new io.vertx.ext.web.api.validation.impl.NumericTypeValidator
            dup
            ldc Ljava/lang/Integer;
            aload 0 /* exclusiveMaximum */
            aload 1 /* maximum */
         1: .line 114
            aload 2 /* exclusiveMinimum */
            aload 3 /* minimum */
            aload 4 /* multipleOf */
            aload 5 /* defaultValue */
         2: .line 113
            invokespecial io.vertx.ext.web.api.validation.impl.NumericTypeValidator.<init>:(Ljava/lang/Class;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Object defaultValue
        end local 4 // java.lang.Double multipleOf
        end local 3 // java.lang.Double minimum
        end local 2 // java.lang.Boolean exclusiveMinimum
        end local 1 // java.lang.Double maximum
        end local 0 // java.lang.Boolean exclusiveMaximum
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  exclusiveMaximum  Ljava/lang/Boolean;
            0    3     1           maximum  Ljava/lang/Double;
            0    3     2  exclusiveMinimum  Ljava/lang/Boolean;
            0    3     3           minimum  Ljava/lang/Double;
            0    3     4        multipleOf  Ljava/lang/Double;
            0    3     5      defaultValue  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      exclusiveMaximum  
      maximum           
      exclusiveMinimum  
      minimum           
      multipleOf        
      defaultValue      

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createLongTypeValidator(java.lang.Long);
    descriptor: (Ljava/lang/Long;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Long defaultValue
         0: .line 125
            aconst_null
            aconst_null
            aconst_null
            aload 0 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createLongTypeValidator:(Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Long;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 0 // java.lang.Long defaultValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  defaultValue  Ljava/lang/Long;
    MethodParameters:
              Name  Flags
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createLongTypeValidator(java.lang.Double, java.lang.Double, java.lang.Double, java.lang.Long);
    descriptor: (Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Long;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Double maximum
        start local 1 // java.lang.Double minimum
        start local 2 // java.lang.Double multipleOf
        start local 3 // java.lang.Long defaultValue
         0: .line 140
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 0 /* maximum */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* minimum */
            aload 2 /* multipleOf */
            aload 3 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createLongTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 3 // java.lang.Long defaultValue
        end local 2 // java.lang.Double multipleOf
        end local 1 // java.lang.Double minimum
        end local 0 // java.lang.Double maximum
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       maximum  Ljava/lang/Double;
            0    1     1       minimum  Ljava/lang/Double;
            0    1     2    multipleOf  Ljava/lang/Double;
            0    1     3  defaultValue  Ljava/lang/Long;
    MethodParameters:
              Name  Flags
      maximum       
      minimum       
      multipleOf    
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createLongTypeValidator(java.lang.Boolean, java.lang.Double, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Object);
    descriptor: (Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // java.lang.Boolean exclusiveMaximum
        start local 1 // java.lang.Double maximum
        start local 2 // java.lang.Boolean exclusiveMinimum
        start local 3 // java.lang.Double minimum
        start local 4 // java.lang.Double multipleOf
        start local 5 // java.lang.Object defaultValue
         0: .line 160
            new io.vertx.ext.web.api.validation.impl.NumericTypeValidator
            dup
            ldc Ljava/lang/Long;
            aload 0 /* exclusiveMaximum */
            aload 1 /* maximum */
         1: .line 161
            aload 2 /* exclusiveMinimum */
            aload 3 /* minimum */
            aload 4 /* multipleOf */
            aload 5 /* defaultValue */
         2: .line 160
            invokespecial io.vertx.ext.web.api.validation.impl.NumericTypeValidator.<init>:(Ljava/lang/Class;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Object defaultValue
        end local 4 // java.lang.Double multipleOf
        end local 3 // java.lang.Double minimum
        end local 2 // java.lang.Boolean exclusiveMinimum
        end local 1 // java.lang.Double maximum
        end local 0 // java.lang.Boolean exclusiveMaximum
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  exclusiveMaximum  Ljava/lang/Boolean;
            0    3     1           maximum  Ljava/lang/Double;
            0    3     2  exclusiveMinimum  Ljava/lang/Boolean;
            0    3     3           minimum  Ljava/lang/Double;
            0    3     4        multipleOf  Ljava/lang/Double;
            0    3     5      defaultValue  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      exclusiveMaximum  
      maximum           
      exclusiveMinimum  
      minimum           
      multipleOf        
      defaultValue      

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createFloatTypeValidator(java.lang.Float);
    descriptor: (Ljava/lang/Float;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Float defaultValue
         0: .line 172
            aconst_null
            aconst_null
            aconst_null
            aload 0 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createFloatTypeValidator:(Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Float;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 0 // java.lang.Float defaultValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  defaultValue  Ljava/lang/Float;
    MethodParameters:
              Name  Flags
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createFloatTypeValidator(java.lang.Double, java.lang.Double, java.lang.Double, java.lang.Float);
    descriptor: (Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Float;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Double maximum
        start local 1 // java.lang.Double minimum
        start local 2 // java.lang.Double multipleOf
        start local 3 // java.lang.Float defaultValue
         0: .line 187
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 0 /* maximum */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* minimum */
            aload 2 /* multipleOf */
            aload 3 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createFloatTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 3 // java.lang.Float defaultValue
        end local 2 // java.lang.Double multipleOf
        end local 1 // java.lang.Double minimum
        end local 0 // java.lang.Double maximum
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       maximum  Ljava/lang/Double;
            0    1     1       minimum  Ljava/lang/Double;
            0    1     2    multipleOf  Ljava/lang/Double;
            0    1     3  defaultValue  Ljava/lang/Float;
    MethodParameters:
              Name  Flags
      maximum       
      minimum       
      multipleOf    
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createFloatTypeValidator(java.lang.Boolean, java.lang.Double, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Object);
    descriptor: (Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // java.lang.Boolean exclusiveMaximum
        start local 1 // java.lang.Double maximum
        start local 2 // java.lang.Boolean exclusiveMinimum
        start local 3 // java.lang.Double minimum
        start local 4 // java.lang.Double multipleOf
        start local 5 // java.lang.Object defaultValue
         0: .line 207
            new io.vertx.ext.web.api.validation.impl.NumericTypeValidator
            dup
            ldc Ljava/lang/Float;
            aload 0 /* exclusiveMaximum */
            aload 1 /* maximum */
         1: .line 208
            aload 2 /* exclusiveMinimum */
            aload 3 /* minimum */
            aload 4 /* multipleOf */
            aload 5 /* defaultValue */
         2: .line 207
            invokespecial io.vertx.ext.web.api.validation.impl.NumericTypeValidator.<init>:(Ljava/lang/Class;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Object defaultValue
        end local 4 // java.lang.Double multipleOf
        end local 3 // java.lang.Double minimum
        end local 2 // java.lang.Boolean exclusiveMinimum
        end local 1 // java.lang.Double maximum
        end local 0 // java.lang.Boolean exclusiveMaximum
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  exclusiveMaximum  Ljava/lang/Boolean;
            0    3     1           maximum  Ljava/lang/Double;
            0    3     2  exclusiveMinimum  Ljava/lang/Boolean;
            0    3     3           minimum  Ljava/lang/Double;
            0    3     4        multipleOf  Ljava/lang/Double;
            0    3     5      defaultValue  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      exclusiveMaximum  
      maximum           
      exclusiveMinimum  
      minimum           
      multipleOf        
      defaultValue      

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createDoubleTypeValidator(java.lang.Double);
    descriptor: (Ljava/lang/Double;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Double defaultValue
         0: .line 219
            aconst_null
            aconst_null
            aconst_null
            aload 0 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createDoubleTypeValidator:(Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 0 // java.lang.Double defaultValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  defaultValue  Ljava/lang/Double;
    MethodParameters:
              Name  Flags
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createDoubleTypeValidator(java.lang.Double, java.lang.Double, java.lang.Double, java.lang.Double);
    descriptor: (Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Double maximum
        start local 1 // java.lang.Double minimum
        start local 2 // java.lang.Double multipleOf
        start local 3 // java.lang.Double defaultValue
         0: .line 234
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 0 /* maximum */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* minimum */
            aload 2 /* multipleOf */
            aload 3 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createDoubleTypeValidator:(Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 3 // java.lang.Double defaultValue
        end local 2 // java.lang.Double multipleOf
        end local 1 // java.lang.Double minimum
        end local 0 // java.lang.Double maximum
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       maximum  Ljava/lang/Double;
            0    1     1       minimum  Ljava/lang/Double;
            0    1     2    multipleOf  Ljava/lang/Double;
            0    1     3  defaultValue  Ljava/lang/Double;
    MethodParameters:
              Name  Flags
      maximum       
      minimum       
      multipleOf    
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createDoubleTypeValidator(java.lang.Boolean, java.lang.Double, java.lang.Boolean, java.lang.Double, java.lang.Double, java.lang.Object);
    descriptor: (Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // java.lang.Boolean exclusiveMaximum
        start local 1 // java.lang.Double maximum
        start local 2 // java.lang.Boolean exclusiveMinimum
        start local 3 // java.lang.Double minimum
        start local 4 // java.lang.Double multipleOf
        start local 5 // java.lang.Object defaultValue
         0: .line 254
            new io.vertx.ext.web.api.validation.impl.NumericTypeValidator
            dup
            ldc Ljava/lang/Double;
            aload 0 /* exclusiveMaximum */
            aload 1 /* maximum */
         1: .line 255
            aload 2 /* exclusiveMinimum */
            aload 3 /* minimum */
            aload 4 /* multipleOf */
            aload 5 /* defaultValue */
         2: .line 254
            invokespecial io.vertx.ext.web.api.validation.impl.NumericTypeValidator.<init>:(Ljava/lang/Class;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Boolean;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Object defaultValue
        end local 4 // java.lang.Double multipleOf
        end local 3 // java.lang.Double minimum
        end local 2 // java.lang.Boolean exclusiveMinimum
        end local 1 // java.lang.Double maximum
        end local 0 // java.lang.Boolean exclusiveMaximum
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  exclusiveMaximum  Ljava/lang/Boolean;
            0    3     1           maximum  Ljava/lang/Double;
            0    3     2  exclusiveMinimum  Ljava/lang/Boolean;
            0    3     3           minimum  Ljava/lang/Double;
            0    3     4        multipleOf  Ljava/lang/Double;
            0    3     5      defaultValue  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      exclusiveMaximum  
      maximum           
      exclusiveMinimum  
      minimum           
      multipleOf        
      defaultValue      

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createStringTypeValidator(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Object defaultValue
         0: .line 266
            aconst_null
            aconst_null
            aconst_null
            aload 0 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createStringTypeValidator:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 0 // java.lang.Object defaultValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  defaultValue  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createStringTypeValidator(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String pattern
        start local 1 // java.lang.Object defaultValue
         0: .line 278
            aload 0 /* pattern */
            aconst_null
            aconst_null
            aload 1 /* defaultValue */
            invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createStringTypeValidator:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            areturn
        end local 1 // java.lang.Object defaultValue
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       pattern  Ljava/lang/String;
            0    1     1  defaultValue  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      pattern       
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createStringTypeValidator(java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.String pattern
        start local 1 // java.lang.Integer minLength
        start local 2 // java.lang.Integer maxLength
        start local 3 // java.lang.Object defaultValue
         0: .line 293
            new io.vertx.ext.web.api.validation.impl.StringTypeValidator
            dup
            aload 0 /* pattern */
            aload 1 /* minLength */
            aload 2 /* maxLength */
            aload 3 /* defaultValue */
            checkcast java.lang.String
            invokespecial io.vertx.ext.web.api.validation.impl.StringTypeValidator.<init>:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;)V
            areturn
        end local 3 // java.lang.Object defaultValue
        end local 2 // java.lang.Integer maxLength
        end local 1 // java.lang.Integer minLength
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       pattern  Ljava/lang/String;
            0    1     1     minLength  Ljava/lang/Integer;
            0    1     2     maxLength  Ljava/lang/Integer;
            0    1     3  defaultValue  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      pattern       
      minLength     
      maxLength     
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createBooleanTypeValidator(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object defaultValue
         0: .line 304
            aload 0 /* defaultValue */
            ifnull 3
         1: .line 305
            aload 0 /* defaultValue */
            instanceof java.lang.String
            ifeq 2
            new io.vertx.ext.web.api.validation.impl.BooleanTypeValidator
            dup
            aload 0 /* defaultValue */
            checkcast java.lang.String
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokespecial io.vertx.ext.web.api.validation.impl.BooleanTypeValidator.<init>:(Ljava/lang/Boolean;)V
            areturn
         2: .line 306
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.impl.BooleanTypeValidator
            dup
            aload 0 /* defaultValue */
            checkcast java.lang.Boolean
            invokespecial io.vertx.ext.web.api.validation.impl.BooleanTypeValidator.<init>:(Ljava/lang/Boolean;)V
            areturn
         3: .line 308
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.web.api.validation.impl.BooleanTypeValidator
            dup
            aconst_null
            invokespecial io.vertx.ext.web.api.validation.impl.BooleanTypeValidator.<init>:(Ljava/lang/Boolean;)V
            areturn
        end local 0 // java.lang.Object defaultValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  defaultValue  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      defaultValue  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createStringEnumTypeValidator(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.List allowedValues
         0: .line 319
            new io.vertx.ext.web.api.validation.impl.EnumTypeValidator
            dup
            aload 0 /* allowedValues */
            getstatic io.vertx.ext.web.api.validation.ParameterType.GENERIC_STRING:Lio/vertx/ext/web/api/validation/ParameterType;
            invokevirtual io.vertx.ext.web.api.validation.ParameterType.validationMethod:()Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            invokespecial io.vertx.ext.web.api.validation.impl.EnumTypeValidator.<init>:(Ljava/util/List;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)V
            areturn
        end local 0 // java.util.List allowedValues
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  allowedValues  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    MethodParameters:
               Name  Flags
      allowedValues  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createEnumTypeValidatorWithInnerValidator(java.util.List<java.lang.Object>, io.vertx.ext.web.api.validation.ParameterTypeValidator);
    descriptor: (Ljava/util/List;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.List allowedValues
        start local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator innerValidator
         0: .line 332
            new io.vertx.ext.web.api.validation.impl.EnumTypeValidator
            dup
            aload 0 /* allowedValues */
            aload 1 /* innerValidator */
            invokespecial io.vertx.ext.web.api.validation.impl.EnumTypeValidator.<init>:(Ljava/util/List;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)V
            areturn
        end local 1 // io.vertx.ext.web.api.validation.ParameterTypeValidator innerValidator
        end local 0 // java.util.List allowedValues
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0   allowedValues  Ljava/util/List<Ljava/lang/Object;>;
            0    1     1  innerValidator  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    Signature: (Ljava/util/List<Ljava/lang/Object;>;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    MethodParameters:
                Name  Flags
      allowedValues   
      innerValidator  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createArrayTypeValidator(io.vertx.ext.web.api.validation.ParameterTypeValidator);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator arrayMembersValidator
         0: .line 342
            aload 0 /* arrayMembersValidator */
            invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
            areturn
        end local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator arrayMembersValidator
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0  arrayMembersValidator  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    MethodParameters:
                       Name  Flags
      arrayMembersValidator  

  public static io.vertx.ext.web.api.validation.ParameterTypeValidator createArrayTypeValidator(io.vertx.ext.web.api.validation.ParameterTypeValidator, java.lang.String, java.lang.Integer, java.lang.Integer);
    descriptor: (Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator arrayMembersValidator
        start local 1 // java.lang.String collectionFormat
        start local 2 // java.lang.Integer maxItems
        start local 3 // java.lang.Integer minItems
         0: .line 357
            aload 0 /* arrayMembersValidator */
         1: .line 358
            aload 1 /* collectionFormat */
            aload 2 /* maxItems */
            aload 3 /* minItems */
         2: .line 357
            invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
            areturn
        end local 3 // java.lang.Integer minItems
        end local 2 // java.lang.Integer maxItems
        end local 1 // java.lang.String collectionFormat
        end local 0 // io.vertx.ext.web.api.validation.ParameterTypeValidator arrayMembersValidator
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0  arrayMembersValidator  Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
            0    3     1       collectionFormat  Ljava/lang/String;
            0    3     2               maxItems  Ljava/lang/Integer;
            0    3     3               minItems  Ljava/lang/Integer;
    MethodParameters:
                       Name  Flags
      arrayMembersValidator  
      collectionFormat       
      maxItems               
      minItems               
}
SourceFile: "ParameterTypeValidator.java"
InnerClasses:
  public ValidationExceptionFactory = io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory of io.vertx.ext.web.api.validation.ValidationException
  public ArrayTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.ArrayTypeValidator
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()
      java.lang.FunctionalInterface()
      java.lang.Deprecated()