//readium-shared/org.readium.r2.shared.fetcher
Package-level declarations¶
Types¶
Name | Summary |
---|---|
ArchiveFetcher | [androidJvm] class ArchiveFetcher : Fetcher Provides access to entries of an archive. |
BaseBytesResource | [androidJvm] sealed class BaseBytesResource : Resource |
BufferingResource | [androidJvm] class BufferingResource(resource: Resource, resourceLength: Long? = null, bufferSize: Long = DEFAULT_BUFFER_SIZE) : ProxyResource Wraps a Resource and buffers its content. |
BytesResource | [androidJvm] class BytesResource(val link: Link, val bytes: suspend () -> ByteArray) : BaseBytesResource Creates a Resource serving ByteArray. |
DefaultResourceContentExtractorFactory | [androidJvm] class DefaultResourceContentExtractorFactory : ResourceContentExtractor.Factory |
EmptyFetcher | [androidJvm] class EmptyFetcher : Fetcher A Fetcher providing no resources at all. |
FailureResource | [androidJvm] class FailureResource(link: Link, error: Resource.Exception) : Resource Creates a Resource that will always return the given error. |
FallbackResource | [androidJvm] class FallbackResource(originalResource: Resource, fallbackResourceFactory: (Resource.Exception) -> Resource) : Resource Resource that will act as a proxy to a fallback resource if the originalResource errors out. |
Fetcher | [androidJvm] interface Fetcher : SuspendingCloseable Provides access to a Resource from a Link. |
FileFetcher | [androidJvm] class FileFetcher(paths: Map<String, File>) : Fetcher Provides access to resources on the local file system. |
HtmlResourceContentExtractor | [androidJvm] class HtmlResourceContentExtractor : ResourceContentExtractor ResourceContentExtractor implementation for HTML resources. |
HttpFetcher | [androidJvm] class HttpFetcher(client: HttpClient, baseUrl: String? = null) : Fetcher Fetches remote resources through HTTP. |
LazyResource | [androidJvm] class LazyResource(factory: suspend () -> Resource) : Resource Wraps a Resource which will be created only when first accessing one of its members. |
ProxyResource | [androidJvm] abstract class ProxyResource(resource: Resource) : Resource A base class for a Resource which acts as a proxy to another one. |
Resource | [androidJvm] interface Resource : SuspendingCloseable Acts as a proxy to an actual resource by handling read access. |
ResourceContentExtractor | [androidJvm] interface ResourceContentExtractor Extracts pure content from a marked-up (e.g. HTML) or binary (e.g. PDF) resource. |
ResourceInputStream | [androidJvm] class ResourceInputStream(resource: Resource, val range: LongRange? = null) : InputStream Input stream reading a Resource's content. |
ResourceTransformer | [androidJvm] typealias ResourceTransformer = (Resource) -> Resource Implements the transformation of a Resource. It can be used, for example, to decrypt, deobfuscate, inject CSS or JavaScript, correct content – e.g. adding a missing dir="rtl" in an HTML document, pre-process – e.g. before indexing a publication's content, etc. If the transformation doesn't apply, simply return resource unchanged. |
ResourceTry | [androidJvm] typealias ResourceTry<SuccessT> = Try<SuccessT, Resource.Exception> |
RoutingFetcher | [androidJvm] class RoutingFetcher(routes: List<RoutingFetcher.Route>) : Fetcher Routes requests to child fetchers, depending on a provided predicate. |
StringResource | [androidJvm] class StringResource(val link: Link, string: suspend () -> String) : BaseBytesResource Creates a Resource serving a String. |
SynchronizedResource | [androidJvm] class SynchronizedResource(resource: Resource) : Resource Protects the access to a wrapped resource with a mutex to make it thread-safe. |
TransformingFetcher | [androidJvm] class TransformingFetcher(fetcher: Fetcher, transformers: List<ResourceTransformer>) : Fetcher Transforms the resources' content of a child fetcher using a list of ResourceTransformer functions. |
TransformingResource | [androidJvm] abstract class TransformingResource(resource: Resource, cacheBytes: Boolean = true) : ProxyResource Transforms the bytes of resource on-the-fly. |
Functions¶
Name | Summary |
---|---|
buffered | [androidJvm] fun Resource.buffered(resourceLength: Long? = null, size: Long = BufferingResource.DEFAULT_BUFFER_SIZE): BufferingResource Wraps this resource in a BufferingResource to improve reading performances. |
fallback | [androidJvm] fun Resource.fallback(fallbackResourceFactory: (Resource.Exception) -> Resource): Resource Falls back to alternative resources when the receiver fails. [androidJvm] fun Resource.fallback(fallbackResource: Resource): Resource Falls back to the given alternative resource when the receiver fails. |
flatMapCatching | [androidJvm] inline fun <R, S> ResourceTry<S>.flatMapCatching(transform: (value: S) -> ResourceTry<R>): ResourceTry<R> |
mapCatching | [androidJvm] inline fun <R, S> ResourceTry<S>.mapCatching(transform: (value: S) -> R): ResourceTry<R> Maps the result with the given transform |
synchronized | [androidJvm] fun Resource.synchronized(): SynchronizedResource Wraps this resource in a SynchronizedResource to protect the access from multiple threads. |