Module org.eclipse.microprofile.openapi
Package org.eclipse.microprofile.openapi.models

## Interface Reference<T extends Reference<T>>

All Known Subinterfaces:
  `APIResponse`, `Callback`, `Example`, `Header`, `Link`, `Parameter`, `PathItem`, `RequestBody`, `Schema`, `SecurityScheme`

    public interface Reference<T extends Reference<T>>

Base interface for OpenAPI model objects that can make reference to other objects.

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`String` `getRef()` Returns the reference property from this Reference instance.
`default T` `ref​(String ref)` Sets this Reference's reference property to the given string.
`void` `setRef​(String ref)` Sets this Reference's reference property to the given string.

### Method Detail

#### getRef

    String getRef()

Returns the reference property from this Reference instance.

Returns:
  a reference to a T object in the components in this OpenAPI document

#### setRef

    void setRef​(String ref)

Sets this Reference's reference property to the given string.

Normally a full reference string is a JSON pointer RFC6901 which indicates an object definition in the components section of the current OpenAPI document. For example the schema of a request body may be #/components/schemas/Payload or the definition of a parameter could be #/components/parameters/Routing.HostName.

If you provide a short name then the name will automatically be expanded to the appropriate full reference string. A short name is a string which is not a JSON pointer in that it does not contain a "/".

The appropriate full reference is determined by the context. For a parameter the short name will be prefixed by "#/components/parameters/" to create "#/components/parameters/ShortName".

     parameter.setRef("ShortName"); // #/components/parameters/ShortName

For a response the prefix is "#/components/responses/":

     response.setRef("NotFound"); // #/components/responses/NotFound

This property provides a reference to an object defined elsewhere. This property may be used alongside `description` and `summary` if they exist on the object, but is mutually exclusive with all other properties. If properties other than `description` and `summary` are defined in addition to the reference property then the result is undefined.

Parameters:
  `ref` - a reference to a T object in the components section of this OpenAPI document or a JSON pointer to another document.

#### ref

    default T ref​(String ref)

Sets this Reference's reference property to the given string.

Parameters:
  `ref` - a reference to a T object in the components in this OpenAPI document
Returns:
  the current instance