Interface ResolvingDataSource.Resolver
-
- Enclosing class:
- ResolvingDataSource
public static interface ResolvingDataSource.Resolver
ResolvesDataSpecs
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description DataSpec
resolveDataSpec(DataSpec dataSpec)
Resolves aDataSpec
before forwarding it to the wrappedDataSource
.default Uri
resolveReportedUri(Uri uri)
Resolves a URI reported byDataSource.getUri()
for event reporting and caching purposes.
-
-
-
Method Detail
-
resolveDataSpec
DataSpec resolveDataSpec(DataSpec dataSpec) throws IOException
Resolves aDataSpec
before forwarding it to the wrappedDataSource
. This method is allowed to block until theDataSpec
has been resolved.Note that this method is called for every new connection, so caching of results is recommended, especially if network operations are involved.
- Parameters:
dataSpec
- The originalDataSpec
.- Returns:
- The resolved
DataSpec
. - Throws:
IOException
- If anIOException
occurred while resolving theDataSpec
.
-
resolveReportedUri
default Uri resolveReportedUri(Uri uri)
Resolves a URI reported byDataSource.getUri()
for event reporting and caching purposes.Implementations do not need to overwrite this method unless they want to change the reported URI.
This method is not allowed to block.
- Parameters:
uri
- The URI as reported byDataSource.getUri()
.- Returns:
- The resolved URI used for event reporting and caching.
-
-