@Version(value="1.0")

# Package org.eclipse.microprofile.openapi.models

A set of interfaces for programmable models and their helper classes, many derived from Swagger Core library.

See: Description

Interface Summary
Components: Components
Constructible: Marker interface for OpenAPI model objects that can be constructed by the OASFactory.
Extensible<T extends Extensible<T>>: The base interface for OpenAPI model objects that can contain extensions.
ExternalDocumentation: ExternalDocumentation
OpenAPI: OpenAPI
Operation: Operation
PathItem: PathItem
Paths: Paths
Reference<T extends Reference<T>>: Base interface for OpenAPI model objects that can make reference to other objects.

Enum Summary
PathItem.HttpMethod: All of the possible types of HTTP operations for this path

## Package org.eclipse.microprofile.openapi.models Description

A set of interfaces for programmable models and their helper classes, many derived from Swagger Core library. These interfaces can be used to define OpenAPI document programmatically.

The behaviour of methods inherited from java.lang.Object are undefined by the MicroProfile OpenAPI specification.

Example:

     public class MyOASModelReaderImpl implements OASModelReader {

       @Override
      public OpenAPI buildModel() {
          return OASFactory.createObject(OpenAPI.class)
                  .info(OASFactory.createObject(Info.class)
                      .title("AirlinesRatingApp API")
                      .version("1.0")
                      .termsOfService("http://airlinesratingapp.com/terms")
                      .contact(OASFactory.createObject(Contact.class)
                          .name("AirlinesRatingApp API Support")
                          .url("http://exampleurl.com/contact")
                          .email("techsupport @airlinesratingapp.com"))
                      .license(OASFactory.createObject(License.class)
                          .name("Apache 2.0")
                          .url("http://www.apache.org/licenses/LICENSE-2.0.html")))
      }