content: /*
   * Selling Partner API for Listings Items
   * The Selling Partner API for Listings Items (Listings Items API) provides programmatic access to selling partner listings on Amazon. Use this API in collaboration with the Selling Partner API for Product Type Definitions, which you use to retrieve the information about Amazon product types needed to use the Listings Items API.  For more information, see the [Listings Items API Use Case Guide](doc:listings-items-api-v2021-08-01-use-case-guide).
   *
   * OpenAPI spec version: 2021-08-01
   * 
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   * Do not edit the class manually.
   */
  
  
  package io.swagger.client;
  
  import java.io.IOException;
  
  import java.util.Map;
  import java.util.List;
  
  /**
   * Callback for asynchronous API call.
   *
   * @param <T> The return type
   */
  public interface ApiCallback<T> {
      /**
       * This is called when the API call fails.
       *
       * @param e The exception causing the failure
       * @param statusCode Status code of the response if available, otherwise it would be 0
       * @param responseHeaders Headers of the response if available, otherwise it would be null
       */
      void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders);
  
      /**
       * This is called when the API call succeeded.
       *
       * @param result The result deserialized from response
       * @param statusCode Status code of the response
       * @param responseHeaders Headers of the response
       */
      void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders);
  
      /**
       * This is called when the API upload processing.
       *
       * @param bytesWritten bytes Written
       * @param contentLength content length of request body
       * @param done write end
       */
      void onUploadProgress(long bytesWritten, long contentLength, boolean done);
  
      /**
       * This is called when the API downlond processing.
       *
       * @param bytesRead bytes Read
       * @param contentLength content lenngth of the response
       * @param done Read end
       */
      void onDownloadProgress(long bytesRead, long contentLength, boolean done);
  }
  