Package io.vertx.openapi.contract

## Enum OpenAPIVersion

- java.lang.Object
- - java.lang.Enum<OpenAPIVersion>
  - - io.vertx.openapi.contract.OpenAPIVersion

- All Implemented Interfaces:
    `Serializable`, `Comparable<OpenAPIVersion>`

      public enum OpenAPIVersion
      extends Enum<OpenAPIVersion>

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `V3_0` |
    `V3_1` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static OpenAPIVersion` | `fromContract​(JsonObject contract)` |
    `Future<SchemaRepository>` | `getRepository​(Vertx vertx, String baseUri)` |
    `Future<JsonObject>` | `resolve​(Vertx vertx, SchemaRepository repo, JsonObject contract)` |
    `List<String>` | `schemaFiles()` |
    `Future<Void>` | `validateAdditionalContractFile​(Vertx vertx, SchemaRepository repo, JsonObject file)` | Validates additional contract files against the openapi schema.
    `Future<OutputUnit>` | `validateContract​(Vertx vertx, SchemaRepository repo, JsonObject contract)` |
    `static OpenAPIVersion` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
    `static OpenAPIVersion[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### V3_0

          public static final OpenAPIVersion V3_0

    - #### V3_1

          public static final OpenAPIVersion V3_1

  - ### Method Detail

    - #### values

          public static OpenAPIVersion[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (OpenAPIVersion c : OpenAPIVersion.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static OpenAPIVersion valueOf​(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

    - #### schemaFiles

          public List<String> schemaFiles()

    - #### fromContract

          public static OpenAPIVersion fromContract​(JsonObject contract)

    - #### validateContract

          public Future<OutputUnit> validateContract​(Vertx vertx,
                                                     SchemaRepository repo,
                                                     JsonObject contract)

    - #### validateAdditionalContractFile

          public Future<Void> validateAdditionalContractFile​(Vertx vertx,
                                                             SchemaRepository repo,
                                                             JsonObject file)

      Validates additional contract files against the openapi schema. If validations fails, try to validate against the json schema specifications only.
      Parameters:
        `vertx` - The related Vert.x instance.
        `repo` - The SchemaRepository to do the validations with.
        `file` - The additional json contract to validate.

    - #### resolve

          public Future<JsonObject> resolve​(Vertx vertx,
                                            SchemaRepository repo,
                                            JsonObject contract)

    - #### getRepository

          public Future<SchemaRepository> getRepository​(Vertx vertx,
                                                        String baseUri)