org.apache.hc.client5.http.cache

## Interface ResourceFactory

- All Known Implementing Classes:
    FileResourceFactory, HeapResourceFactory

      @Contract(threading=STATELESS)
      public interface ResourceFactory

  Generates `Resource` instances for handling cached HTTP response bodies.
  Since:
    4.1

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Resource` | `copy(String requestId, Resource resource)` Deprecated. Do not use.
    `Resource` | `generate(String requestId, byte[] content)` Creates a `Resource` from a given response body.
    `Resource` | `generate(String requestId, byte[] content, int off, int len)` Creates a `Resource` from a given response body.
    `default Resource` | `generate(String requestId, String eTag, byte[] content, int off, int len)` Creates a `Resource` from a given response body.

- - ### Method Detail

    - #### generate

          Resource generate(String requestId,
                            byte[] content)
                     throws ResourceIOException

      Creates a `Resource` from a given response body.
      Parameters:
        `requestId` - a unique identifier for this particular response body.
        `content` - byte array that represents the origin HTTP response body.
      Returns:
        a `Resource` containing however much of the response body was successfully read.
      Throws:
        `ResourceIOException`

    - #### generate

          Resource generate(String requestId,
                            byte[] content,
                            int off,
                            int len)
                     throws ResourceIOException

      Creates a `Resource` from a given response body.
      Parameters:
        `requestId` - a unique identifier for this particular response body.
        `content` - byte array that represents the origin HTTP response body.
        `off` - the start offset in the array.
        `len` - the number of bytes to read from the array.
      Returns:
        a `Resource` containing however much of the response body was successfully read.
      Throws:
        `ResourceIOException`

    - #### generate

          default Resource generate(String requestId,
                                    String eTag,
                                    byte[] content,
                                    int off,
                                    int len)
                             throws ResourceIOException

      Creates a `Resource` from a given response body.
      Parameters:
        `requestId` - a unique identifier for this particular response body.
        `eTag` - eTag Strong (unique) identifier for the resource entity with the given requestId, or `null` when not given or is weak (non-unique).
        `content` - byte array that represents the origin HTTP response body.
        `off` - the start offset in the array.
        `len` - the number of bytes to read from the array.
      Returns:
        a `Resource` containing however much of the response body was successfully read.
      Throws:
        `ResourceIOException`

    - #### copy

          @Deprecated
          Resource copy(String requestId,
                                    Resource resource)
                             throws ResourceIOException

      Deprecated. Do not use.
      Throws:
        `ResourceIOException`

Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.