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