summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/filetransfer/FileRange.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/FileRange.java')
-rw-r--r--src/main/java/org/openslx/filetransfer/FileRange.java46
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;
+ }
+
+}