diff options
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/FileRange.java')
-rw-r--r-- | src/main/java/org/openslx/filetransfer/FileRange.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/filetransfer/FileRange.java b/src/main/java/org/openslx/filetransfer/FileRange.java new file mode 100644 index 0000000..30edefc --- /dev/null +++ b/src/main/java/org/openslx/filetransfer/FileRange.java @@ -0,0 +1,46 @@ +package org.openslx.filetransfer; + +public class FileRange +{ + + /** + * Offset of first byte of range in file, inclusive + */ + public final long startOffset; + /** + * Offset of last byte of range in file, exclusive + */ + public final long endOffset; + + /** + * Create a FileRange instance + * + * @param startOffset Offset of first byte of range in file, inclusive + * @param endOffset Offset of last byte of range in file, exclusive + */ + public FileRange( long startOffset, long endOffset ) + { + this.startOffset = startOffset; + this.endOffset = endOffset; + } + + /** + * Get length of range + * + * @return length of range, in bytes + */ + public int getLength() + { + return (int) ( endOffset - startOffset ); + } + + @Override + public boolean equals( Object other ) + { + if ( other == null || ! ( other instanceof FileRange ) ) + return false; + FileRange o = (FileRange)other; + return o.startOffset == this.startOffset && o.endOffset == this.endOffset; + } + +} |