Class FileResourceFactory

  • All Implemented Interfaces:
    ResourceFactory

    @Contract(threading=IMMUTABLE)
    public class FileResourceFactory
    extends java.lang.Object
    implements ResourceFactory
    Generates Resource instances whose body is stored in a temporary file.
    Since:
    4.1
    • Constructor Summary

      Constructors 
      Constructor Description
      FileResourceFactory​(java.io.File cacheDir)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Resource copy​(java.lang.String requestId, Resource resource)
      Clones an existing Resource.
      Resource generate​(java.lang.String requestId, java.io.InputStream instream, InputLimit limit)
      Creates a Resource from a given response body.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FileResourceFactory

        public FileResourceFactory​(java.io.File cacheDir)
    • Method Detail

      • generate

        public Resource generate​(java.lang.String requestId,
                                 java.io.InputStream instream,
                                 InputLimit limit)
                          throws java.io.IOException
        Description copied from interface: ResourceFactory
        Creates a Resource from a given response body.
        Specified by:
        generate in interface ResourceFactory
        Parameters:
        requestId - a unique identifier for this particular response body
        instream - the original InputStream containing the response body of the origin HTTP response.
        limit - maximum number of bytes to consume of the response body; if this limit is reached before the response body is fully consumed, mark the limit has having been reached and return a Resource containing the data read to that point.
        Returns:
        a Resource containing however much of the response body was successfully read.
        Throws:
        java.io.IOException
      • copy

        public Resource copy​(java.lang.String requestId,
                             Resource resource)
                      throws java.io.IOException
        Description copied from interface: ResourceFactory
        Clones an existing Resource.
        Specified by:
        copy in interface ResourceFactory
        Parameters:
        requestId - unique identifier provided to associate with the cloned response body.
        resource - the original response body to clone.
        Returns:
        the Resource copy
        Throws:
        java.io.IOException