Package 

Class FileFetcher.FileResource

  • All Implemented Interfaces:
    org.readium.r2.shared.fetcher.Resource , org.readium.r2.shared.util.SuspendingCloseable

    
    public final class FileFetcher.FileResource
     implements Resource
                        
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private final Link link
      private final File file
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Link getLink()
      File getFile() Direct file to this resource, when available.
      Link link() Returns the link from which the resource was retrieved.
      Unit close() Closes this object and releases any resources associated with it.
      Try<ByteArray, Resource.Exception> read(LongRange range) Reads the bytes at the given range.
      Try<Long, Resource.Exception> length() Returns data length from metadata if available, or calculated from reading the bytes otherwise.
      String toString()
      • Methods inherited from class org.readium.r2.shared.fetcher.Resource

        readAsBitmap, readAsJson, readAsString, readAsXml
      • Methods inherited from class java.lang.Object

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

      • FileFetcher.FileResource

        FileFetcher.FileResource(Link link, File file)
    • Method Detail

      • getFile

         File getFile()

        Direct file to this resource, when available.

        This is meant to be used as an optimization for consumers which can't work efficiently with streams. However, file is not guaranteed to be set, for example if the resource underwent transformations or is being read from an archive. Therefore, consumers should always fallback on regular stream reading, using read or ResourceInputStream.

      • link

         Link link()

        Returns the link from which the resource was retrieved.

        It might be modified by the Resource to include additional metadata, e.g. the Content-Type HTTP header in Link.type.

      • close

         Unit close()

        Closes this object and releases any resources associated with it. If the object is already closed then invoking this method has no effect.

      • length

         Try<Long, Resource.Exception> length()

        Returns data length from metadata if available, or calculated from reading the bytes otherwise.

        This value must be treated as a hint, as it might not reflect the actual bytes length. To get the real length, you need to read the whole resource.