public class io.vertx.ext.web.api.validation.impl.JsonTypeValidator implements io.vertx.ext.web.api.validation.ParameterTypeValidator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.web.api.validation.impl.JsonTypeValidator
super_class: java.lang.Object
{
com.networknt.schema.JsonSchema schema;
descriptor: Lcom/networknt/schema/JsonSchema;
flags: (0x0000)
public void <init>(com.networknt.schema.JsonSchema);
descriptor: (Lcom/networknt/schema/JsonSchema;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // io.vertx.ext.web.api.validation.impl.JsonTypeValidator this
start local 1 // com.networknt.schema.JsonSchema schema
0: .line 25
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 26
aload 0 /* this */
aload 1 /* schema */
putfield io.vertx.ext.web.api.validation.impl.JsonTypeValidator.schema:Lcom/networknt/schema/JsonSchema;
2: .line 27
return
end local 1 // com.networknt.schema.JsonSchema schema
end local 0 // io.vertx.ext.web.api.validation.impl.JsonTypeValidator this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
0 3 1 schema Lcom/networknt/schema/JsonSchema;
MethodParameters:
Name Flags
schema
public io.vertx.ext.web.api.RequestParameter isValid(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/api/RequestParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 // io.vertx.ext.web.api.validation.impl.JsonTypeValidator this
start local 1 // java.lang.String value
0: .line 33
aload 1 /* value */
ifnonnull 2
1: .line 34
ldc "Json should not be null"
invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotParsableJsonBodyException:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
athrow
2: .line 35
StackMap locals:
StackMap stack:
aload 1 /* value */
invokevirtual java.lang.String.length:()I
ifne 5
3: .line 36
getstatic com.fasterxml.jackson.databind.node.JsonNodeFactory.instance:Lcom/fasterxml/jackson/databind/node/JsonNodeFactory;
ldc ""
invokevirtual com.fasterxml.jackson.databind.node.JsonNodeFactory.textNode:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/TextNode;
astore 2 /* node */
start local 2 // com.fasterxml.jackson.databind.JsonNode node
4: goto 6
end local 2 // com.fasterxml.jackson.databind.JsonNode node
5: .line 38
StackMap locals:
StackMap stack:
invokestatic io.vertx.core.json.jackson.DatabindCodec.mapper:()Lcom/fasterxml/jackson/databind/ObjectMapper;
aload 1 /* value */
invokevirtual com.fasterxml.jackson.databind.ObjectMapper.readTree:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
astore 2 /* node */
start local 2 // com.fasterxml.jackson.databind.JsonNode node
6: .line 40
StackMap locals: com.fasterxml.jackson.databind.JsonNode
StackMap stack:
aload 0 /* this */
getfield io.vertx.ext.web.api.validation.impl.JsonTypeValidator.schema:Lcom/networknt/schema/JsonSchema;
aload 2 /* node */
invokevirtual com.networknt.schema.JsonSchema.validate:(Lcom/fasterxml/jackson/databind/JsonNode;)Ljava/util/Set;
astore 3 /* errors */
start local 3 // java.util.Set errors
7: .line 41
aload 3 /* errors */
invokeinterface java.util.Set.size:()I
ifne 16
8: .line 42
aload 2 /* node */
invokevirtual com.fasterxml.jackson.databind.JsonNode.isArray:()Z
ifeq 11
9: .line 43
new io.vertx.core.json.JsonArray
dup
aload 1 /* value */
invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/lang/String;)V
invokestatic io.vertx.ext.web.api.RequestParameter.create:(Ljava/lang/Object;)Lio/vertx/ext/web/api/RequestParameter;
10: areturn
11: .line 44
StackMap locals: java.util.Set
StackMap stack:
aload 2 /* node */
invokevirtual com.fasterxml.jackson.databind.JsonNode.isObject:()Z
ifeq 14
12: .line 45
new io.vertx.core.json.JsonObject
dup
aload 1 /* value */
invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/lang/String;)V
invokestatic io.vertx.ext.web.api.RequestParameter.create:(Ljava/lang/Object;)Lio/vertx/ext/web/api/RequestParameter;
13: areturn
14: .line 47
StackMap locals:
StackMap stack:
aload 1 /* value */
invokestatic io.vertx.ext.web.api.RequestParameter.create:(Ljava/lang/Object;)Lio/vertx/ext/web/api/RequestParameter;
15: areturn
16: .line 49
StackMap locals:
StackMap stack:
aload 3 /* errors */
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.networknt.schema.ValidationMessage
astore 4 /* firstError */
start local 4 // com.networknt.schema.ValidationMessage firstError
17: .line 50
aload 4 /* firstError */
invokevirtual com.networknt.schema.ValidationMessage.getPath:()Ljava/lang/String;
aload 1 /* value */
aload 4 /* firstError */
invokevirtual com.networknt.schema.ValidationMessage.getMessage:()Ljava/lang/String;
invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateInvalidJsonBodyException:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
athrow
end local 4 // com.networknt.schema.ValidationMessage firstError
end local 3 // java.util.Set errors
end local 2 // com.fasterxml.jackson.databind.JsonNode node
18: .line 52
StackMap locals: io.vertx.ext.web.api.validation.impl.JsonTypeValidator java.lang.String
StackMap stack: java.io.IOException
astore 2 /* e */
start local 2 // java.io.IOException e
19: .line 53
aload 2 /* e */
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokestatic io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory.generateNotParsableJsonBodyException:(Ljava/lang/String;)Lio/vertx/ext/web/api/validation/ValidationException;
athrow
end local 2 // java.io.IOException e
end local 1 // java.lang.String value
end local 0 // io.vertx.ext.web.api.validation.impl.JsonTypeValidator this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/vertx/ext/web/api/validation/impl/JsonTypeValidator;
0 20 1 value Ljava/lang/String;
4 5 2 node Lcom/fasterxml/jackson/databind/JsonNode;
6 18 2 node Lcom/fasterxml/jackson/databind/JsonNode;
7 18 3 errors Ljava/util/Set<Lcom/networknt/schema/ValidationMessage;>;
17 18 4 firstError Lcom/networknt/schema/ValidationMessage;
19 20 2 e Ljava/io/IOException;
Exception table:
from to target type
0 10 18 Class java.io.IOException
11 13 18 Class java.io.IOException
14 15 18 Class java.io.IOException
16 18 18 Class java.io.IOException
Exceptions:
throws io.vertx.ext.web.api.validation.ValidationException
MethodParameters:
Name Flags
value
}
SourceFile: "JsonTypeValidator.java"
NestMembers:
io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory
InnerClasses:
public ValidationExceptionFactory = io.vertx.ext.web.api.validation.ValidationException$ValidationExceptionFactory of io.vertx.ext.web.api.validation.ValidationException
public JsonTypeValidatorFactory = io.vertx.ext.web.api.validation.impl.JsonTypeValidator$JsonTypeValidatorFactory of io.vertx.ext.web.api.validation.impl.JsonTypeValidator