org.globus.ftp
Class ByteRange

java.lang.Object
  extended by org.globus.ftp.ByteRange

public class ByteRange
extends Object

Represents a range of integers. The name reflects the fact that it is used with FTP extended mode restart markers, where it represents a range of transfered bytes.


Field Summary
static int ADJACENT
           
 long from
          lower range limit
static int THIS_ABOVE
           
static int THIS_BELOW
           
static int THIS_SUBSET
           
static int THIS_SUPERSET
           
 long to
          upper range limit
 
Constructor Summary
ByteRange(ByteRange src)
          copying constructor
ByteRange(long from, long to)
           
 
Method Summary
 boolean equals(Object other)
           
 int hashCode()
           
 int merge(ByteRange other)
          If this range can be consolidated with the other one, modify this range so that it represents the result of merging this and the other range.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

from

public long from
lower range limit


to

public long to
upper range limit


THIS_BELOW

public static final int THIS_BELOW
See Also:
Constant Field Values

ADJACENT

public static final int ADJACENT
See Also:
Constant Field Values

THIS_SUPERSET

public static final int THIS_SUPERSET
See Also:
Constant Field Values

THIS_SUBSET

public static final int THIS_SUBSET
See Also:
Constant Field Values

THIS_ABOVE

public static final int THIS_ABOVE
See Also:
Constant Field Values
Constructor Detail

ByteRange

public ByteRange(long from,
                 long to)
Parameters:
from - lower range limit
to - upper range limit
Throws:
IllegalArgumentException - if to < from

ByteRange

public ByteRange(ByteRange src)
copying constructor

Method Detail

equals

public boolean equals(Object other)
Overrides:
equals in class Object
Returns:
true if both object logically represent the same range (even if they are two separate ByteRange instances)

hashCode

public int hashCode()
Overrides:
hashCode in class Object

merge

public int merge(ByteRange other)
If this range can be consolidated with the other one, modify this range so that it represents the result of merging this and the other range. The parameter object remains intact. Return value indicates what operation has been performed. Note that two ranges are considered separate if there is at least one integer between them. For instance, "1-3" and "5-7" are separate but "1-3" and "4-7" are adjacent because merge is possible.


toString

public String toString()
Overrides:
toString in class Object