com.google.appengine.api.blobstore
Class ByteRange
- java.lang.Object
-
- com.google.appengine.api.blobstore.ByteRange
-
public class ByteRange extends java.lang.ObjectA byte range as parsed from a request Range header. Format produced by this class is also compatible with the X-AppEngine-BlobRange header, used for serving sub-ranges of blobs.
-
-
Constructor Summary
Constructors Constructor and Description ByteRange(long start)Constructor.ByteRange(long start, long end)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanequals(java.lang.Object object)TwoByteRangeobjects are considered equal if they have the same start and end.longgetEnd()Get end index of byte range.longgetStart()Get start index of byte range.booleanhasEnd()Indicates whether or not this byte range indicates an end.inthashCode()static ByteRangeparse(java.lang.String byteRange)Parse byte range from header.static ByteRangeparseContentRange(java.lang.String contentRange)Parse content range from header for byte-range only.java.lang.StringtoString()Format byte range for use in header.
-
-
-
Constructor Detail
-
ByteRange
public ByteRange(long start)
Constructor.- Parameters:
start- Start index of blob range to serve. If negative, serve the last abs(start) bytes of the blob.
-
ByteRange
public ByteRange(long start, long end)Constructor.- Parameters:
start- Start index of blob range to serve. May not be negative.end- End index of blob range to serve. Index is inclusive, meaning the byte indicated by end is included in the response.
-
-
Method Detail
-
hasEnd
public boolean hasEnd()
Indicates whether or not this byte range indicates an end.- Returns:
- true if byte range has an end.
-
getStart
public long getStart()
Get start index of byte range.- Returns:
- Start index of byte range.
-
getEnd
public long getEnd()
Get end index of byte range.- Returns:
- End index of byte range.
- Throws:
java.lang.IllegalStateException- if byte range does not have an end range.
-
toString
public java.lang.String toString()
Format byte range for use in header.- Overrides:
toStringin classjava.lang.Object
-
parse
public static ByteRange parse(java.lang.String byteRange)
Parse byte range from header.- Parameters:
byteRange- Byte range string as received from header.- Returns:
- ByteRange object set to byte range as parsed from string.
- Throws:
RangeFormatException- Unable to parse header because of invalid format.UnsupportedRangeFormatException- Header is a valid HTTP range header, the specific form is not supported by app engine. This includes unit types other than "bytes" and multiple ranges.
-
parseContentRange
public static ByteRange parseContentRange(java.lang.String contentRange)
Parse content range from header for byte-range only.- Parameters:
contentRange- Content range string as received from header.- Returns:
- ByteRange object set to byte range as parsed from string, but does not include the size information.
- Throws:
RangeFormatException- Unable to parse header because of invalid format.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object object)
TwoByteRangeobjects are considered equal if they have the same start and end.- Overrides:
equalsin classjava.lang.Object
-
-