Package org.springframework.http
Class HttpRange
java.lang.Object
org.springframework.http.HttpRange
Represents an HTTP (byte) range for use with the HTTP
"Range" header.- Since:
- 4.2
- Author:
- Arjen Poutsma, Juergen Hoeller
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic HttpRangecreateByteRange(long firstBytePos) Create anHttpRangefrom the given position to the end.static HttpRangecreateByteRange(long firstBytePos, long lastBytePos) Create aHttpRangefrom the given fist to last position.static HttpRangecreateSuffixRange(long suffixLength) Create anHttpRangethat ranges over the last given number of bytes.abstract longgetRangeEnd(long length) Return the end of the range (inclusive) given the total length of a representation.abstract longgetRangeStart(long length) Return the start of the range given the total length of a representation.parseRanges(String ranges) Parse the given, comma-separated string into a list ofHttpRangeobjects.toResourceRegion(Resource resource) Turn aResourceinto aResourceRegionusing the range information contained in the currentHttpRange.static List<ResourceRegion>toResourceRegions(List<HttpRange> ranges, Resource resource) Convert eachHttpRangeinto aResourceRegion, selecting the appropriate segment of the givenResourceusing HTTP Range information.static StringtoString(Collection<HttpRange> ranges) Return a string representation of the given list ofHttpRangeobjects.
-
Constructor Details
-
HttpRange
public HttpRange()
-
-
Method Details
-
toResourceRegion
Turn aResourceinto aResourceRegionusing the range information contained in the currentHttpRange.- Parameters:
resource- theResourceto select the region from- Returns:
- the selected region of the given
Resource - Since:
- 4.3
-
getRangeStart
public abstract long getRangeStart(long length) Return the start of the range given the total length of a representation.- Parameters:
length- the length of the representation- Returns:
- the start of this range for the representation
-
getRangeEnd
public abstract long getRangeEnd(long length) Return the end of the range (inclusive) given the total length of a representation.- Parameters:
length- the length of the representation- Returns:
- the end of the range for the representation
-
createByteRange
Create anHttpRangefrom the given position to the end.- Parameters:
firstBytePos- the first byte position- Returns:
- a byte range that ranges from
firstPostill the end - See Also:
-
createByteRange
Create aHttpRangefrom the given fist to last position.- Parameters:
firstBytePos- the first byte positionlastBytePos- the last byte position- Returns:
- a byte range that ranges from
firstPostilllastPos - See Also:
-
createSuffixRange
Create anHttpRangethat ranges over the last given number of bytes.- Parameters:
suffixLength- the number of bytes for the range- Returns:
- a byte range that ranges over the last
suffixLengthnumber of bytes - See Also:
-
parseRanges
Parse the given, comma-separated string into a list ofHttpRangeobjects.This method can be used to parse an
Rangeheader.- Parameters:
ranges- the string to parse- Returns:
- the list of ranges
- Throws:
IllegalArgumentException- if the string cannot be parsed or if the number of ranges is greater than 100
-
toResourceRegions
Convert eachHttpRangeinto aResourceRegion, selecting the appropriate segment of the givenResourceusing HTTP Range information.- Parameters:
ranges- the list of rangesresource- the resource to select the regions from- Returns:
- the list of regions for the given resource
- Throws:
IllegalArgumentException- if the sum of all ranges exceeds the resource length- Since:
- 4.3
-
toString
Return a string representation of the given list ofHttpRangeobjects.This method can be used to for an
Rangeheader.- Parameters:
ranges- the ranges to create a string of- Returns:
- the string representation
-