org.eclipse.microprofile.openapi.models.callbacks

## Interface Callback

All Superinterfaces:
  Constructible, Extensible<Callback>, Reference<Callback>

    public interface Callback
    extends Constructible, Extensible<Callback>, Reference<Callback>

Callback

A map of possible out-of-band callbacks related to the parent operation. Each value in the map is a Path Item Object that describes a set of requests that may be initiated by the API provider and the expected responses. The key value used to identify the callback object is an expression, evaluated at runtime, that identifies a URL to use for the callback operation.

See Also:
  OpenAPI Specification Callback Object

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`Callback` `addPathItem(String name, PathItem pathItem)` Adds the given PathItem to this Callback's list of PathItems using the string as its key.
`default PathItem` `getPathItem(String name)` Returns a path item for a given name.
`Map<String,PathItem>` `getPathItems()` Returns a copy map (potentially immutable) of the path items.
`default boolean` `hasPathItem(String name)` Check whether a path item is present to the map.
`void` `removePathItem(String name)` Removes the given path item of the Callback PathItems.
`void` `setPathItems(Map<String,PathItem> items)` Set the path items map to this Callback.

### Methods inherited from interface org.eclipse.microprofile.openapi.models.Extensible

`addExtension, extensions, getExtensions, removeExtension, setExtensions`

### Methods inherited from interface org.eclipse.microprofile.openapi.models.Reference

`getRef, ref, setRef`

### Method Detail

#### addPathItem

    Callback addPathItem(String name,
                         PathItem pathItem)

Adds the given PathItem to this Callback's list of PathItems using the string as its key. The key that identifies the Path Item Object is a runtime expression that can be evaluated in the context of a runtime HTTP request/response to identify the URL to be used for the callback request. A simple example might be $request.body#/url. However, using a runtime expression the complete HTTP message can be accessed. This includes accessing any part of a body that a JSON Pointer RFC6901 can reference.

Parameters:
  `name` - a runtime expression that can be evaluated in the context of a runtime HTTP request/response
  `pathItem` - a path to add to this Callback's list of PathItems. null values will be rejected (implementation will throw an exception) or ignored.
Returns:
  the current Callback instance

#### removePathItem

    void removePathItem(String name)

Removes the given path item of the Callback PathItems.

Parameters:
  `name` - a path name that will be removed.

#### getPathItems

    Map<String,PathItem> getPathItems()

Returns a copy map (potentially immutable) of the path items.

Returns:
  all items

#### setPathItems

    void setPathItems(Map<String,PathItem> items)

Set the path items map to this Callback.

Parameters:
  `items` - a map containing the list of paths.

#### hasPathItem

    default boolean hasPathItem(String name)

Check whether a path item is present to the map. This is a convenience method for `getPathItems().containsKey(name)`

Parameters:
  `name` - a path name in the format valid for a Paths object.
Returns:
  a boolean to indicate if the path item is present or not.

#### getPathItem

    default PathItem getPathItem(String name)

Returns a path item for a given name. This is a convenience method for `getPathItems().get(name)`

Parameters:
  `name` - a path name in the format valid for a Paths object.
Returns:
  the corresponding path item or null.