summaryrefslogblamecommitdiffstats
path: root/src/main/java/org/openslx/filetransfer/FileRange.java
blob: 30edefcd5240cb737a5aed8e6f51a844d7525ecc (plain) (tree)













































                                                                                          
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;
	}

}