public class io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl extends io.vertx.ext.web.api.contract.impl.HTTPOperationRequestValidationHandlerImpl<io.swagger.v3.oas.models.Operation> implements io.vertx.ext.web.api.contract.openapi3.OpenAPI3RequestValidationHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
super_class: io.vertx.ext.web.api.contract.impl.HTTPOperationRequestValidationHandlerImpl
{
private static final io.vertx.ext.web.api.validation.ParameterTypeValidator CONTENT_TYPE_VALIDATOR;
descriptor: Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
java.util.List<io.swagger.v3.oas.models.parameters.Parameter> resolvedParameters;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Lio/swagger/v3/oas/models/parameters/Parameter;>;
io.swagger.v3.oas.models.OpenAPI spec;
descriptor: Lio/swagger/v3/oas/models/OpenAPI;
flags: (0x0000)
io.swagger.v3.parser.ResolverCache refsCache;
descriptor: Lio/swagger/v3/parser/ResolverCache;
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1
dup
invokespecial io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1.<init>:()V
putstatic io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.CONTENT_TYPE_VALIDATOR:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.swagger.v3.oas.models.Operation, java.util.List<io.swagger.v3.oas.models.parameters.Parameter>, io.swagger.v3.oas.models.OpenAPI, io.swagger.v3.parser.ResolverCache);
descriptor: (Lio/swagger/v3/oas/models/Operation;Ljava/util/List;Lio/swagger/v3/oas/models/OpenAPI;Lio/swagger/v3/parser/ResolverCache;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokespecial io.vertx.ext.web.api.contract.impl.HTTPOperationRequestValidationHandlerImpl.<init>:(Ljava/lang/Object;)V
1: aload 0
aload 2
putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolvedParameters:Ljava/util/List;
2: aload 0
aload 3
putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
3: aload 0
aload 4
putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.refsCache:Lio/swagger/v3/parser/ResolverCache;
4: aload 0
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.parseOperationSpec:()V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 6 1 pathSpec Lio/swagger/v3/oas/models/Operation;
0 6 2 resolvedParameters Ljava/util/List<Lio/swagger/v3/oas/models/parameters/Parameter;>;
0 6 3 spec Lio/swagger/v3/oas/models/OpenAPI;
0 6 4 refsCache Lio/swagger/v3/parser/ResolverCache;
Signature: (Lio/swagger/v3/oas/models/Operation;Ljava/util/List<Lio/swagger/v3/oas/models/parameters/Parameter;>;Lio/swagger/v3/oas/models/OpenAPI;Lio/swagger/v3/parser/ResolverCache;)V
MethodParameters:
Name Flags
pathSpec
resolvedParameters
spec
refsCache
public void parseOperationSpec();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolvedParameters:Ljava/util/List;
ifnull 7
1: aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolvedParameters:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.parameters.Parameter
astore 1
start local 1 3: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.get$ref:()Ljava/lang/String;
ifnull 5
4: aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.refsCache:Lio/swagger/v3/parser/ResolverCache;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.get$ref:()Ljava/lang/String;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.get$ref:()Ljava/lang/String;
invokestatic io.swagger.v3.parser.util.RefUtils.computeRefFormat:(Ljava/lang/String;)Lio/swagger/v3/parser/models/RefFormat;
ldc Lio/swagger/v3/oas/models/parameters/Parameter;
invokevirtual io.swagger.v3.parser.ResolverCache.loadRef:(Ljava/lang/String;Lio/swagger/v3/parser/models/RefFormat;Ljava/lang/Class;)Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.parameters.Parameter
astore 1
5: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Iterator
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.parseParameter:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
end local 1 6: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
StackMap stack:
aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.pathSpec:Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.Operation
invokevirtual io.swagger.v3.oas.models.Operation.getRequestBody:()Lio/swagger/v3/oas/models/parameters/RequestBody;
astore 1
start local 1 8: aload 1
ifnull 12
9: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.get$ref:()Ljava/lang/String;
ifnull 11
10: aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.refsCache:Lio/swagger/v3/parser/ResolverCache;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.get$ref:()Ljava/lang/String;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.get$ref:()Ljava/lang/String;
invokestatic io.swagger.v3.parser.util.RefUtils.computeRefFormat:(Ljava/lang/String;)Lio/swagger/v3/parser/models/RefFormat;
ldc Lio/swagger/v3/oas/models/parameters/RequestBody;
invokevirtual io.swagger.v3.parser.ResolverCache.loadRef:(Ljava/lang/String;Lio/swagger/v3/parser/models/RefFormat;Ljava/lang/Class;)Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.parameters.RequestBody
astore 1
11: StackMap locals: io.swagger.v3.oas.models.parameters.RequestBody
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.parseRequestBody:(Lio/swagger/v3/oas/models/parameters/RequestBody;)V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
3 6 1 opParameter Lio/swagger/v3/oas/models/parameters/Parameter;
8 13 1 body Lio/swagger/v3/oas/models/parameters/RequestBody;
private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveInnerSchemaPrimitiveTypeValidator(io.swagger.v3.oas.models.media.Schema, boolean);
descriptor: (Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: 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;
areturn
2: StackMap locals:
StackMap stack:
iload 2
ifeq 6
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getEnum:()Ljava/util/List;
ifnull 6
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getEnum:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ifeq 6
3: new java.util.ArrayList
dup
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getEnum:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
4: aload 0
aload 1
iconst_0
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
5: invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createEnumTypeValidatorWithInnerValidator:(Ljava/util/List;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1034364087: 7
-891985903: 8
64711720: 9
1958052158: 10
default: 95
}
StackMap locals: java.lang.String
StackMap stack:
7: aload 3
ldc "number"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 36
goto 95
StackMap locals:
StackMap stack:
8: aload 3
ldc "string"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 62
goto 95
StackMap locals:
StackMap stack:
9: aload 3
ldc "boolean"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 61
goto 95
StackMap locals:
StackMap stack:
10: aload 3
ldc "integer"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 95
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
ifnull 24
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
ldc "int64"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
12: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
ifnull 14
13: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 15
StackMap locals:
StackMap stack: java.lang.Boolean
14: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double
15: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
ifnull 17
16: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 18
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
17: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
18: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
ifnull 20
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
19: invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 21
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
20: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
21: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
ifnull 22
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
goto 23
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
22: aconst_null
23: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
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
24: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
ifnull 26
25: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 27
StackMap locals:
StackMap stack: java.lang.Boolean
26: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double
27: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
ifnull 29
28: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 30
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
29: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
30: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
ifnull 32
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
31: invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 33
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
32: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
33: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
ifnull 34
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
goto 35
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
34: aconst_null
35: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
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
36: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
ifnull 49
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
ldc "float"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
37: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
ifnull 39
38: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 40
StackMap locals:
StackMap stack: java.lang.Boolean
39: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double
40: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
ifnull 42
41: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 43
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
42: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
43: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
ifnull 45
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
44: invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 46
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
45: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
46: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
ifnull 47
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
goto 48
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
47: aconst_null
48: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
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
49: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMaximum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
ifnull 51
50: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaximum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 52
StackMap locals:
StackMap stack: java.lang.Boolean
51: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double
52: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getExclusiveMinimum:()Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
ifnull 54
53: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinimum:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 55
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean
54: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
55: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
ifnull 57
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMultipleOf:()Ljava/math/BigDecimal;
56: invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
goto 58
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double
57: aconst_null
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
58: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
ifnull 59
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
goto 60
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double
59: aconst_null
60: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.media.Schema int java.lang.String
StackMap stack: java.lang.Boolean java.lang.Double java.lang.Boolean java.lang.Double java.lang.Double java.lang.String
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
61: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
invokestatic io.vertx.ext.web.api.validation.ParameterTypeValidator.createBooleanTypeValidator:(Ljava/lang/Object;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
areturn
62: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 63: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
ifnull 90
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 9
-1388966911: 64
-299803597: 65
-295034484: 66
3039496: 67
3076014: 68
3239397: 69
3239399: 70
3601339: 71
96619420: 72
default: 89
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
64: aload 5
ldc "binary"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 90
goto 89
StackMap locals:
StackMap stack:
65: aload 5
ldc "hostname"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 83
goto 89
StackMap locals:
StackMap stack:
66: aload 5
ldc "date-time"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 77
goto 89
StackMap locals:
StackMap stack:
67: aload 5
ldc "byte"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 73
goto 89
StackMap locals:
StackMap stack:
68: aload 5
ldc "date"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 75
goto 89
StackMap locals:
StackMap stack:
69: aload 5
ldc "ipv4"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 79
goto 89
StackMap locals:
StackMap stack:
70: aload 5
ldc "ipv6"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 81
goto 89
StackMap locals:
StackMap stack:
71: aload 5
ldc "uuid"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 87
goto 89
StackMap locals:
StackMap stack:
72: aload 5
ldc "email"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 85
goto 89
73: StackMap locals:
StackMap stack:
ldc "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"
astore 4
74: goto 90
75: StackMap locals:
StackMap stack:
ldc "^\\d{4}-(?:0[0-9]|1[0-2])-[0-9]{2}$"
astore 4
76: goto 90
77: StackMap locals:
StackMap stack:
ldc "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d|60)(\\.\\d+)?(Z|(\\+|-)([01]\\d|2[0-3]):([0-5]\\d))$"
astore 4
78: goto 90
79: StackMap locals:
StackMap stack:
ldc "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
astore 4
80: goto 90
81: StackMap locals:
StackMap stack:
ldc "^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$"
astore 4
82: goto 90
83: StackMap locals:
StackMap stack:
ldc "^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\\-]*[A-Za-z0-9])$"
astore 4
84: goto 90
85: StackMap locals:
StackMap stack:
ldc "^(?:[\\w!#\\$%&'\\*\\+\\-/=\\?\\^`\\{\\|\\}~]+\\.)*[\\w!#\\$%&'\\*\\+\\-/=\\?\\^`\\{\\|\\}~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!\\.)){0,61}[a-zA-Z0-9]?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\\[(?:(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\]))$"
astore 4
86: goto 90
87: StackMap locals:
StackMap stack:
ldc "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$"
astore 4
88: goto 90
89: StackMap locals:
StackMap stack:
new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
dup
new java.lang.StringBuilder
dup
ldc "format "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
90: StackMap locals:
StackMap stack:
aload 4
ifnull 91
aload 4
goto 92
StackMap locals:
StackMap stack:
91: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getPattern:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
92: aload 1
93: invokevirtual io.swagger.v3.oas.models.media.Schema.getMinLength:()Ljava/lang/Integer;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxLength:()Ljava/lang/Integer;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getDefault:()Ljava/lang/Object;
94: 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 4 95: StackMap locals:
StackMap stack:
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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 96 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 96 1 schema Lio/swagger/v3/oas/models/media/Schema;
0 96 2 parseEnum Z
63 95 4 regex Ljava/lang/String;
MethodParameters:
Name Flags
schema
parseEnum
private void resolveObjectTypeFields(io.vertx.ext.web.api.validation.impl.ObjectTypeValidator, io.swagger.v3.oas.models.media.Schema);
descriptor: (Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.solveObjectParameters:(Lio/swagger/v3/oas/models/media/Schema;)Ljava/util/Map;
astore 3
start local 3 1: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.vertx.ext.web.api.validation.impl.ObjectTypeValidator io.swagger.v3.oas.models.media.Schema java.util.Map top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 3: aload 1
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 0
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
invokevirtual io.vertx.ext.web.api.validation.impl.ObjectTypeValidator.addField:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Z)V
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 6 1 validator Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
0 6 2 schema Lio/swagger/v3/oas/models/media/Schema;
1 6 3 parameters Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
3 4 4 entry Ljava/util/Map$Entry<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
MethodParameters:
Name Flags
validator
schema
private java.util.List<io.vertx.ext.web.api.validation.ParameterTypeValidator> resolveTypeValidatorsForAnyOfOneOf(java.util.List<io.swagger.v3.oas.models.media.Schema>, io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Ljava/util/List;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.List io.swagger.v3.oas.models.parameters.Parameter java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.Schema
astore 4
start local 4 3: aload 3
aload 0
aload 4
aload 2
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveAnyOfOneOfTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 6 1 schemas Ljava/util/List<Lio/swagger/v3/oas/models/media/Schema;>;
0 6 2 parent Lio/swagger/v3/oas/models/parameters/Parameter;
1 6 3 result Ljava/util/List<Lio/vertx/ext/web/api/validation/ParameterTypeValidator;>;
3 4 4 schema Lio/swagger/v3/oas/models/media/Schema;
Signature: (Ljava/util/List<Lio/swagger/v3/oas/models/media/Schema;>;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List<Lio/vertx/ext/web/api/validation/ParameterTypeValidator;>;
MethodParameters:
Name Flags
schemas
parent
private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveAnyOfOneOfTypeValidator(io.swagger.v3.oas.models.media.Schema, io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
ldc "array"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
1: aload 0
2: aload 1
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
aload 2
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
aload 2
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
3: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
4: invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
ldc "object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
6: aload 2
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
aload 2
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Ljava/lang/String;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
7: astore 3
start local 3 8: aload 0
aload 3
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
9: aload 3
areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 11 1 schema Lio/swagger/v3/oas/models/media/Schema;
0 11 2 parent Lio/swagger/v3/oas/models/parameters/Parameter;
8 10 3 objectTypeValidator Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
MethodParameters:
Name Flags
schema
parent
private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveAnyOfOneOfTypeValidator(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
instanceof io.swagger.v3.oas.models.media.ComposedSchema
ifeq 2
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
checkcast io.swagger.v3.oas.models.media.ComposedSchema
astore 2
start local 2 1: goto 3
end local 2 2: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 2 3: StackMap locals: io.swagger.v3.oas.models.media.ComposedSchema
StackMap stack:
aload 2
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isAnyOfSchema:(Lio/swagger/v3/oas/models/media/Schema;)Z
ifeq 7
4: new io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
dup
aload 0
new java.util.ArrayList
dup
aload 2
invokevirtual io.swagger.v3.oas.models.media.ComposedSchema.getAnyOf:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
5: aload 1
6: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveTypeValidatorsForAnyOfOneOf:(Ljava/util/List;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List;
invokespecial io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator.<init>:(Ljava/util/List;)V
areturn
7: StackMap locals:
StackMap stack:
aload 2
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isOneOfSchema:(Lio/swagger/v3/oas/models/media/Schema;)Z
ifeq 11
8: new io.vertx.ext.web.api.validation.impl.OneOfTypeValidator
dup
aload 0
new java.util.ArrayList
dup
aload 2
invokevirtual io.swagger.v3.oas.models.media.ComposedSchema.getOneOf:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
9: aload 1
10: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveTypeValidatorsForAnyOfOneOf:(Ljava/util/List;Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/util/List;
invokespecial io.vertx.ext.web.api.validation.impl.OneOfTypeValidator.<init>:(Ljava/util/List;)V
areturn
11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 12 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
1 2 2 composedSchema Lio/swagger/v3/oas/models/media/ComposedSchema;
3 12 2 composedSchema Lio/swagger/v3/oas/models/media/ComposedSchema;
MethodParameters:
Name Flags
parameter
private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveTypeValidator(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveAnyOfOneOfTypeValidator:(Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
areturn
2: StackMap locals: io.vertx.ext.web.api.validation.ParameterTypeValidator
StackMap stack:
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterArrayType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
ifeq 9
3: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
checkcast io.swagger.v3.oas.models.media.ArraySchema
astore 3
start local 3 4: aload 0
5: aload 3
invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
6: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
7: invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
8: invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterObjectOrAllOfType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
ifeq 14
10: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Ljava/lang/String;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
11: astore 3
start local 3 12: aload 0
aload 3
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
13: aload 3
areturn
end local 3 14: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 15 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
1 15 2 candidate Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
4 9 3 arraySchema Lio/swagger/v3/oas/models/media/ArraySchema;
12 14 3 objectTypeValidator Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
MethodParameters:
Name Flags
parameter
private void handleContent(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getContent:()Lio/swagger/v3/oas/models/media/Content;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveLocation:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ParameterLocation;
astore 3
start local 3 2: aload 2
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
io/vertx/ext/web/impl/Utils.isJsonContentType(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.extractTypesFromMediaTypesMap:(Ljava/util/Map;Ljava/util/function/Predicate;)Ljava/util/List;
astore 4
start local 4 3: aload 4
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 14
4: aload 0
5: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
6: aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
7: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 8
iconst_0
goto 9
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator
8: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator int
9: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
aload 3
10: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
11: aload 3
12: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
13: goto 38
StackMap locals:
StackMap stack:
14: aload 2
invokevirtual io.swagger.v3.oas.models.media.Content.size:()I
iconst_1
if_icmple 29
aload 4
invokeinterface java.util.List.size:()I
iconst_1
if_icmplt 29
15: aload 4
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 0
invokedynamic apply(Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;)Ljava/util/function/Function;
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;)Ljava/lang/Object;
io/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl.lambda$1(Lio/swagger/v3/oas/models/media/MediaType;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator; (7)
(Lio/swagger/v3/oas/models/media/MediaType;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
16: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
17: astore 5
start local 5 18: aload 5
getstatic io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.CONTENT_TYPE_VALIDATOR:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: new io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
dup
aload 5
invokespecial io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator.<init>:(Ljava/util/List;)V
astore 6
start local 6 20: aload 0
21: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 6
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 22
iconst_0
goto 23
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List java.util.List io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
22: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List java.util.List io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.AnyOfTypeValidator int
23: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
24: aload 3
25: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
26: aload 3
27: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
end local 6 end local 5 28: goto 38
29: StackMap locals:
StackMap stack:
aload 0
30: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
getstatic io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.CONTENT_TYPE_VALIDATOR:Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
aload 1
31: invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 32
iconst_0
goto 33
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
32: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.swagger.v3.oas.models.media.Content io.vertx.ext.web.api.validation.ParameterLocation java.util.List
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
33: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
34: aload 3
35: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
36: aload 3
37: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
38: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 39 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
1 39 2 contents Lio/swagger/v3/oas/models/media/Content;
2 39 3 location Lio/vertx/ext/web/api/validation/ParameterLocation;
3 39 4 jsonsContents Ljava/util/List<Lio/swagger/v3/oas/models/media/MediaType;>;
18 28 5 validators Ljava/util/List<Lio/vertx/ext/web/api/validation/ParameterTypeValidator;>;
20 28 6 validator Lio/vertx/ext/web/api/validation/impl/AnyOfTypeValidator;
MethodParameters:
Name Flags
parameter
private void magicParameterExplodedMatrixArray(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
1: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
checkcast io.swagger.v3.oas.models.media.ArraySchema
invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
ldc "matrix_exploded_array"
iconst_1
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
2: invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
3: invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
astore 2
start local 2 4: aload 0
5: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 2
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
iconst_0
getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
6: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addPathParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 8 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
4 8 2 validator Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
MethodParameters:
Name Flags
parameter
private void magicParameterExplodedObject(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.solveObjectParameters:(Lio/swagger/v3/oas/models/media/Schema;)Ljava/util/Map;
astore 2
start local 2 1: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 33
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: ldc "query"
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
4: aload 0
5: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
dup
aload 0
6: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
ifeq 7
iconst_0
goto 8
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
7: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
8: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
9: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
10: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addQueryParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
11: goto 33
StackMap locals:
StackMap stack:
12: ldc "cookie"
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
13: aload 0
14: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
dup
aload 0
15: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
ifeq 16
iconst_0
goto 17
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
16: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
17: iconst_0
getstatic io.vertx.ext.web.api.validation.ParameterLocation.COOKIE:Lio/vertx/ext/web/api/validation/ParameterLocation;
18: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
19: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addCookieParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
20: goto 33
StackMap locals:
StackMap stack:
21: ldc "path"
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
22: aload 0
23: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
dup
aload 0
24: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
ifeq 25
iconst_0
goto 26
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
25: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
26: iconst_0
getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
27: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
28: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addPathParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
29: goto 33
30: StackMap locals:
StackMap stack:
new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
dup
new java.lang.StringBuilder
dup
ldc "combination of style, type and location (in) of parameter fields not supported for parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
end local 3 33: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
34: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getAdditionalProperties:()Ljava/lang/Object;
instanceof io.swagger.v3.oas.models.media.Schema
ifeq 48
35: ldc "query"
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
36: aload 0
37: aload 0
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getAdditionalProperties:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.Schema
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
38: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
39: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.setQueryAdditionalPropertyHandler:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;)V
40: goto 48
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map
StackMap stack:
41: ldc "cookie"
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
42: aload 0
43: aload 0
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getAdditionalProperties:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.Schema
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
44: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
45: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.setCookieAdditionalPropertyHandler:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;)V
46: goto 48
47: StackMap locals:
StackMap stack:
new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
dup
new java.lang.StringBuilder
dup
ldc "additionalProperties with exploded object fields not supports in path parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 49 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
1 49 2 properties Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
3 33 3 entry Ljava/util/Map$Entry<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
MethodParameters:
Name Flags
parameter
private void magicParameterExplodedStyleSimpleTypeObject(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: getstatic io.vertx.ext.web.api.validation.ContainerSerializationStyle.simple_exploded_object:Lio/vertx/ext/web/api/validation/ContainerSerializationStyle;
iconst_0
invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Lio/vertx/ext/web/api/validation/ContainerSerializationStyle;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
1: astore 2
start local 2 2: aload 0
aload 2
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
3: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
-1221270899: 4
3433509: 5
default: 24
}
StackMap locals: io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
StackMap stack:
4: aload 3
ldc "header"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 24
StackMap locals:
StackMap stack:
5: aload 3
ldc "path"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 24
6: StackMap locals:
StackMap stack:
aload 0
7: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 2
8: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
ifeq 10
9: iconst_0
goto 11
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator
10: iconst_1
11: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator int
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
12: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
13: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addPathParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
14: goto 27
15: StackMap locals:
StackMap stack:
aload 0
16: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 2
17: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
ifeq 19
18: iconst_0
goto 20
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator
19: iconst_1
20: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.impl.ObjectTypeValidator java.lang.String
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ObjectTypeValidator int
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
getstatic io.vertx.ext.web.api.validation.ParameterLocation.HEADER:Lio/vertx/ext/web/api/validation/ParameterLocation;
21: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
22: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addHeaderParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
23: goto 27
24: StackMap locals:
StackMap stack:
new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
dup
new java.lang.StringBuilder
dup
ldc "combination of style, type and location (in) of parameter fields not supported for parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 28 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
2 28 2 objectTypeValidator Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
MethodParameters:
Name Flags
parameter
private void magicParameterExplodedStyleDeepObjectTypeObject(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.solveObjectParameters:(Lio/swagger/v3/oas/models/media/Schema;)Ljava/util/Map;
astore 2
start local 2 1: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
ldc "query"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
4: aload 0
5: new java.lang.StringBuilder
dup
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
dup
aload 0
6: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator.<init>:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;Ljava/lang/String;)V
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField.isRequired:()Z
ifeq 7
iconst_0
goto 8
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator
7: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.ExpandedObjectFieldValidator int
8: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
9: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
10: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addQueryParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
11: goto 15
12: StackMap locals:
StackMap stack:
new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
dup
new java.lang.StringBuilder
dup
ldc "combination of style, type and location (in) of parameter fields not supported for parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
end local 3 15: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 17 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
1 17 2 properties Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
3 15 3 entry Ljava/util/Map$Entry<Ljava/lang/String;Lio/vertx/ext/web/api/contract/openapi3/impl/OpenApi3Utils$ObjectField;>;
MethodParameters:
Name Flags
parameter
private boolean checkSupportedAndNeedWorkaround(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getAllowReserved:()Ljava/lang/Boolean;
if_acmpne 2
1: new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
dup
ldc "allowReserved field not supported!"
invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getContent:()Lio/swagger/v3/oas/models/media/Content;
ifnull 5
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getContent:()Lio/swagger/v3/oas/models/media/Content;
invokevirtual io.swagger.v3.oas.models.media.Content.size:()I
ifeq 5
3: aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.handleContent:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getExplode:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 21
6: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterObjectOrAllOfType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
istore 2
start local 2 7: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveStyle:(Lio/swagger/v3/oas/models/parameters/Parameter;)Ljava/lang/String;
astore 3
start local 3 8: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isParameterArrayType:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
ifeq 11
ldc "matrix"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedMatrixArray:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
10: iconst_1
ireturn
11: StackMap locals: int java.lang.String
StackMap stack:
iload 2
ifeq 14
ldc "form"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
ldc "matrix"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
ldc "label"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedObject:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
iload 2
ifeq 17
ldc "simple"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedStyleSimpleTypeObject:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
ldc "deepObject"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.magicParameterExplodedStyleDeepObjectTypeObject:(Lio/swagger/v3/oas/models/parameters/Parameter;)V
19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 21: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 22 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
7 21 2 isObject Z
8 21 3 style Ljava/lang/String;
MethodParameters:
Name Flags
parameter
private io.vertx.ext.web.api.validation.ParameterLocation resolveLocation(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ParameterLocation;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1354757532: 1
-1221270899: 2
3433509: 3
107944136: 4
default: 9
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 2
ldc "cookie"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 9
StackMap locals:
StackMap stack:
2: aload 2
ldc "header"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 9
StackMap locals:
StackMap stack:
3: aload 2
ldc "path"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 9
StackMap locals:
StackMap stack:
4: aload 2
ldc "query"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 9
5: StackMap locals:
StackMap stack:
getstatic io.vertx.ext.web.api.validation.ParameterLocation.HEADER:Lio/vertx/ext/web/api/validation/ParameterLocation;
areturn
6: StackMap locals:
StackMap stack:
getstatic io.vertx.ext.web.api.validation.ParameterLocation.QUERY:Lio/vertx/ext/web/api/validation/ParameterLocation;
areturn
7: StackMap locals:
StackMap stack:
getstatic io.vertx.ext.web.api.validation.ParameterLocation.COOKIE:Lio/vertx/ext/web/api/validation/ParameterLocation;
areturn
8: StackMap locals:
StackMap stack:
getstatic io.vertx.ext.web.api.validation.ParameterLocation.PATH:Lio/vertx/ext/web/api/validation/ParameterLocation;
areturn
9: StackMap locals:
StackMap stack:
new io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException
dup
ldc "in field wrong or not supported"
invokespecial io.vertx.ext.web.api.validation.SpecFeatureNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 10 1 in Ljava/lang/String;
MethodParameters:
Name Flags
in
private void parseParameter(io.swagger.v3.oas.models.parameters.Parameter);
descriptor: (Lio/swagger/v3/oas/models/parameters/Parameter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.checkSupportedAndNeedWorkaround:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
ifne 10
1: aload 0
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getIn:()Ljava/lang/String;
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveLocation:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ParameterLocation;
astore 2
start local 2 2: aload 0
3: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getName:()Ljava/lang/String;
aload 0
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveTypeValidator:(Lio/swagger/v3/oas/models/parameters/Parameter;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
4: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.Parameter.getRequired:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 5
iconst_0
goto 6
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.ParameterLocation
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
5: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.Parameter io.vertx.ext.web.api.validation.ParameterLocation
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
6: aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveAllowEmptyValue:(Lio/swagger/v3/oas/models/parameters/Parameter;)Z
aload 2
7: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
8: aload 2
9: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;Lio/vertx/ext/web/api/validation/ParameterLocation;)V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 11 1 parameter Lio/swagger/v3/oas/models/parameters/Parameter;
2 10 2 location Lio/vertx/ext/web/api/validation/ParameterLocation;
MethodParameters:
Name Flags
parameter
private io.vertx.ext.web.api.validation.ParameterTypeValidator resolveSchemaTypeValidatorFormEncoded(io.swagger.v3.oas.models.media.Schema);
descriptor: (Lio/swagger/v3/oas/models/media/Schema;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
ldc "array"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
1: aload 0
2: aload 1
checkcast io.swagger.v3.oas.models.media.ArraySchema
invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
ldc "csv"
iconst_0
aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMaxItems:()Ljava/lang/Integer;
3: aload 1
invokevirtual io.swagger.v3.oas.models.media.Schema.getMinItems:()Ljava/lang/Integer;
4: invokestatic io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory.createArrayTypeValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;Ljava/lang/String;ZLjava/lang/Integer;Ljava/lang/Integer;)Lio/vertx/ext/web/api/validation/impl/ArrayTypeValidator;
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaObjectOrAllOfType:(Lio/swagger/v3/oas/models/media/Schema;)Z
ifeq 10
6: ldc "csv"
iconst_0
invokestatic io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory.createObjectTypeValidator:(Ljava/lang/String;Z)Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
7: astore 2
start local 2 8: aload 0
aload 2
aload 1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveObjectTypeFields:(Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;Lio/swagger/v3/oas/models/media/Schema;)V
9: aload 2
areturn
end local 2 10: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveInnerSchemaPrimitiveTypeValidator:(Lio/swagger/v3/oas/models/media/Schema;Z)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 11 1 schema Lio/swagger/v3/oas/models/media/Schema;
8 10 2 objectTypeValidator Lio/vertx/ext/web/api/validation/impl/ObjectTypeValidator;
MethodParameters:
Name Flags
schema
private void handleMultimapParameter(java.lang.String, java.lang.String, io.swagger.v3.oas.models.media.Schema, io.swagger.v3.oas.models.media.Schema);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/media/Schema;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnonnull 30
1: aload 3
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaObjectOrAllOfType:(Lio/swagger/v3/oas/models/media/Schema;)Z
ifne 2
aload 3
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaArray:(Lio/swagger/v3/oas/models/media/Schema;)Z
ifeq 14
aload 3
checkcast io.swagger.v3.oas.models.media.ArraySchema
invokevirtual io.swagger.v3.oas.models.media.ArraySchema.getItems:()Lio/swagger/v3/oas/models/media/Schema;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isSchemaObjectOrAllOfType:(Lio/swagger/v3/oas/models/media/Schema;)Z
ifeq 14
2: StackMap locals:
StackMap stack:
aload 0
3: aload 1
4: aload 3
aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
5: aload 4
aload 1
6: invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
7: ifeq 9
8: iconst_0
goto 10
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator
9: iconst_1
10: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.impl.JsonTypeValidator int
iconst_0
getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
11: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
12: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addFormParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
13: goto 34
StackMap locals:
StackMap stack:
14: aload 3
invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
ldc "string"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
ldc "binary"
aload 3
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
ldc "base64"
aload 3
invokevirtual io.swagger.v3.oas.models.media.Schema.getFormat:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
15: StackMap locals:
StackMap stack:
aload 0
16: new io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator
dup
aload 0
ldc "application/octet-stream"
invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 1
aload 4
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
ifeq 17
iconst_0
goto 18
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 16 new 16 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String
17: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 16 new 16 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String int
18: invokespecial io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator.<init>:(Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;Ljava/util/regex/Pattern;Ljava/lang/String;Z)V
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addCustomValidator:(Lio/vertx/ext/web/api/validation/CustomValidator;)V
19: goto 34
20: StackMap locals:
StackMap stack:
aload 0
21: aload 1
22: aload 0
aload 3
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveSchemaTypeValidatorFormEncoded:(Lio/swagger/v3/oas/models/media/Schema;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
23: aload 4
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
ifeq 24
iconst_0
goto 25
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
24: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
25: iconst_0
26: getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
27: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
28: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addFormParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
29: goto 34
30: StackMap locals:
StackMap stack:
aload 0
31: new io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator
dup
aload 0
aload 2
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 1
aload 4
aload 1
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
ifeq 32
iconst_0
goto 33
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 31 new 31 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String
32: iconst_1
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String java.lang.String io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl new 31 new 31 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.util.regex.Pattern java.lang.String int
33: invokespecial io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator.<init>:(Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;Ljava/util/regex/Pattern;Ljava/lang/String;Z)V
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addCustomValidator:(Lio/vertx/ext/web/api/validation/CustomValidator;)V
34: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 35 1 parameterName Ljava/lang/String;
0 35 2 contentTypeRegex Ljava/lang/String;
0 35 3 schema Lio/swagger/v3/oas/models/media/Schema;
0 35 4 multipartObjectSchema Lio/swagger/v3/oas/models/media/Schema;
MethodParameters:
Name Flags
parameterName
contentTypeRegex
schema
multipartObjectSchema
private void parseRequestBody(io.swagger.v3.oas.models.parameters.RequestBody);
descriptor: (Lio/swagger/v3/oas/models/parameters/RequestBody;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnull 46
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getContent:()Lio/swagger/v3/oas/models/media/Content;
ifnull 46
1: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getContent:()Lio/swagger/v3/oas/models/media/Content;
invokevirtual io.swagger.v3.oas.models.media.Content.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 42
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 3: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic io.vertx.ext.web.impl.Utils.isJsonContentType:(Ljava/lang/String;)Z
ifeq 8
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
ifnull 8
4: aload 0
5: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
6: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.setEntireBodyValidator:(Lio/vertx/ext/web/api/validation/ParameterTypeValidator;)V
7: goto 42
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator
StackMap stack:
8: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
ldc "application/x-www-form-urlencoded"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
ifnull 25
9: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getProperties:()Ljava/util/Map;
10: invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 23
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 12: aload 0
13: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 0
14: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.Schema
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.resolveSchemaTypeValidatorFormEncoded:(Lio/swagger/v3/oas/models/media/Schema;)Lio/vertx/ext/web/api/validation/ParameterTypeValidator;
15: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
16: invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.isRequiredParam:(Lio/swagger/v3/oas/models/media/Schema;Ljava/lang/String;)Z
17: ifeq 19
18: iconst_0
goto 20
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator
19: iconst_1
20: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator java.util.Map$Entry java.util.Iterator
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl java.lang.String io.vertx.ext.web.api.validation.ParameterTypeValidator int
iconst_0
getstatic io.vertx.ext.web.api.validation.ParameterLocation.BODY_FORM:Lio/vertx/ext/web/api/validation/ParameterLocation;
21: invokestatic io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory.createValidationRuleWithCustomTypeValidator:(Ljava/lang/String;Lio/vertx/ext/web/api/validation/ParameterTypeValidator;ZZLio/vertx/ext/web/api/validation/ParameterLocation;)Lio/vertx/ext/web/api/validation/ParameterValidationRule;
22: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addFormParamRule:(Lio/vertx/ext/web/api/validation/ParameterValidationRule;)V
end local 4 23: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
24: goto 42
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator
StackMap stack:
25: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
ldc "multipart/form-data"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
ifnull 41
26: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getType:()Ljava/lang/String;
ldc "object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
27: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
invokevirtual io.swagger.v3.oas.models.media.Schema.getProperties:()Ljava/util/Map;
28: invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 39
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
29: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 30: aconst_null
astore 6
start local 6 31: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getEncoding:()Ljava/util/Map;
ifnull 33
32: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getEncoding:()Ljava/util/Map;
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.Encoding
astore 6
33: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator java.util.Map$Entry java.util.Iterator io.swagger.v3.oas.models.media.Encoding
StackMap stack:
aconst_null
astore 7
start local 7 34: aload 6
ifnull 36
aload 6
invokevirtual io.swagger.v3.oas.models.media.Encoding.getContentType:()Ljava/lang/String;
ifnull 36
35: aload 6
invokevirtual io.swagger.v3.oas.models.media.Encoding.getContentType:()Ljava/lang/String;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.resolveContentTypeRegex:(Ljava/lang/String;)Ljava/lang/String;
astore 7
36: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 7
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.Schema
37: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.swagger.v3.oas.models.media.MediaType
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
38: invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.handleMultimapParameter:(Ljava/lang/String;Ljava/lang/String;Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/media/Schema;)V
end local 7 end local 6 end local 4 39: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
40: goto 42
41: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 0
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.addBodyFileRule:(Ljava/lang/String;)V
end local 2 42: StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
43: aload 0
aload 1
invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getRequired:()Ljava/lang/Boolean;
ifnonnull 44
iconst_0
goto 45
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
44: aload 1
invokevirtual io.swagger.v3.oas.models.parameters.RequestBody.getRequired:()Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
StackMap locals: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl io.swagger.v3.oas.models.parameters.RequestBody
StackMap stack: io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl int
45: putfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.bodyRequired:Z
46: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 47 1 requestBody Lio/swagger/v3/oas/models/parameters/RequestBody;
3 42 2 mediaType Ljava/util/Map$Entry<Ljava/lang/String;+Lio/swagger/v3/oas/models/media/MediaType;>;
12 23 4 paramSchema Ljava/util/Map$Entry<Ljava/lang/String;+Lio/swagger/v3/oas/models/media/Schema;>;
30 39 4 multipartProperty Ljava/util/Map$Entry<Ljava/lang/String;+Lio/swagger/v3/oas/models/media/Schema;>;
31 39 6 encodingProperty Lio/swagger/v3/oas/models/media/Encoding;
34 39 7 contentTypeRegex Ljava/lang/String;
MethodParameters:
Name Flags
requestBody
private io.vertx.ext.web.api.validation.impl.JsonTypeValidator lambda$1(io.swagger.v3.oas.models.media.MediaType);
descriptor: (Lio/swagger/v3/oas/models/media/MediaType;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.swagger.v3.oas.models.media.MediaType.getSchema:()Lio/swagger/v3/oas/models/media/Schema;
aload 0
getfield io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl.spec:Lio/swagger/v3/oas/models/OpenAPI;
invokestatic io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils.generateSanitizedJsonSchemaNode:(Lio/swagger/v3/oas/models/media/Schema;Lio/swagger/v3/oas/models/OpenAPI;)Lcom/fasterxml/jackson/databind/JsonNode;
invokestatic io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory.createJsonTypeValidator:(Lcom/fasterxml/jackson/databind/JsonNode;)Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/api/contract/openapi3/impl/OpenAPI3RequestValidationHandlerImpl;
0 1 1 e Lio/swagger/v3/oas/models/media/MediaType;
}
Signature: Lio/vertx/ext/web/api/contract/impl/HTTPOperationRequestValidationHandlerImpl<Lio/swagger/v3/oas/models/Operation;>;Lio/vertx/ext/web/api/contract/openapi3/OpenAPI3RequestValidationHandler;
SourceFile: "OpenAPI3RequestValidationHandlerImpl.java"
NestMembers:
io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1 io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator
InnerClasses:
io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$1
private MultipartCustomValidator = io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl$MultipartCustomValidator of io.vertx.ext.web.api.contract.openapi3.impl.OpenAPI3RequestValidationHandlerImpl
protected ObjectField = io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils$ObjectField of io.vertx.ext.web.api.contract.openapi3.impl.OpenApi3Utils
public ArrayTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.ArrayTypeValidator$ArrayTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.ArrayTypeValidator
public JsonTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.JsonTypeValidator
public ObjectTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.ObjectTypeValidator$ObjectTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.ObjectTypeValidator
public ParameterValidationRuleFactory = io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl$ParameterValidationRuleFactory of io.vertx.ext.web.api.validation.impl.ParameterValidationRuleImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map