public abstract class HttpRange extends Object
"Range" header.HttpHeaders.setRange(List),
HttpHeaders.getRange()| Constructor and Description |
|---|
HttpRange() |
| Modifier and Type | Method and Description |
|---|---|
static HttpRange |
createByteRange(long firstBytePos)
Create an
HttpRange from the given position to the end. |
static HttpRange |
createByteRange(long firstBytePos,
long lastBytePos)
Create a
HttpRange from the given fist to last position. |
static HttpRange |
createSuffixRange(long suffixLength)
Create an
HttpRange that ranges over the last given number of bytes. |
abstract long |
getRangeEnd(long length)
Return the end of the range (inclusive) given the total length of a representation.
|
abstract long |
getRangeStart(long length)
Return the start of the range given the total length of a representation.
|
static List<HttpRange> |
parseRanges(String ranges)
Parse the given, comma-separated string into a list of
HttpRange objects. |
ResourceRegion |
toResourceRegion(Resource resource)
Turn a
Resource into a ResourceRegion using the range
information contained in the current HttpRange. |
static List<ResourceRegion> |
toResourceRegions(List<HttpRange> ranges,
Resource resource)
Convert each
HttpRange into a ResourceRegion, selecting the
appropriate segment of the given Resource using HTTP Range information. |
static String |
toString(Collection<HttpRange> ranges)
Return a string representation of the given list of
HttpRange objects. |
public ResourceRegion toResourceRegion(Resource resource)
Resource into a ResourceRegion using the range
information contained in the current HttpRange.resource - the Resource to select the region fromResourcepublic abstract long getRangeStart(long length)
length - the length of the representationpublic abstract long getRangeEnd(long length)
length - the length of the representationpublic static HttpRange createByteRange(long firstBytePos)
HttpRange from the given position to the end.firstBytePos - the first byte positionfirstPos till the endpublic static HttpRange createByteRange(long firstBytePos, long lastBytePos)
HttpRange from the given fist to last position.firstBytePos - the first byte positionlastBytePos - the last byte positionfirstPos till lastPospublic static HttpRange createSuffixRange(long suffixLength)
HttpRange that ranges over the last given number of bytes.suffixLength - the number of bytes for the rangesuffixLength number of bytespublic static List<HttpRange> parseRanges(@Nullable String ranges)
HttpRange objects.
This method can be used to parse an Range header.
ranges - the string to parseIllegalArgumentException - if the string cannot be parsed
or if the number of ranges is greater than 100public static List<ResourceRegion> toResourceRegions(List<HttpRange> ranges, Resource resource)
HttpRange into a ResourceRegion, selecting the
appropriate segment of the given Resource using HTTP Range information.ranges - the list of rangesresource - the resource to select the regions fromIllegalArgumentException - if the sum of all ranges exceeds the resource lengthpublic static String toString(Collection<HttpRange> ranges)
HttpRange objects.
This method can be used to for an Range header.
ranges - the ranges to create a string of