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 Details

  • Constructor Details

    • 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 Details

    • 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.
      • 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