Java Globus API: Class ByteRange

org.globus.ftp
Class ByteRange

java.lang.Object
  |
  +--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(ByteRange other)
           
 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, equals, finalize, getClass, hashCode, 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

ADJACENT

public static final int ADJACENT

THIS_SUPERSET

public static final int THIS_SUPERSET

THIS_SUBSET

public static final int THIS_SUBSET

THIS_ABOVE

public static final int THIS_ABOVE
Constructor Detail

ByteRange

public ByteRange(long from,
                 long to)
Parameters:
from - lower range limit
to - upper range limit

ByteRange

public ByteRange(ByteRange src)
copying constructor
Method Detail

equals

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

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.
  • If the two ranges were separate, then this range will remain unchanged. The return value will be THIS_BELOW if this range is below the other range, or THIS_ABOVE in the other case.
  • If this range was a superset of the other, then this range remains unchanged and THIS_SUPERSET will be returned. A special case of this situation is when both ranges were equal.
  • If other range was a superset of this, OTHER_SUPERSET will be returned.
  • Otherwise ADJACENT is returned, meaning that merge was possible but no range is a superset of the other.
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