private long getTotalCopyMillis(Interval newInterval) { if (newInterval == null) { return copyMillis; } List<Interval> result = new ArrayList<Interval>(intervals.size() + 1); for (Interval interval: intervals) { if (interval.end < newInterval.start) { result.add(interval); } else if (interval.start > newInterval.end) { result.add(newInterval); newInterval = interval; } else { newInterval = new Interval( Math.min(interval.start, newInterval.start), Math.max(newInterval.end, interval.end)); } } result.add(newInterval); intervals = result; //compute total millis long length = 0; for (Interval interval : intervals) { length += interval.getIntervalLength(); } return length; }
private long getTotalCopyMillis(Interval newInterval) { if (newInterval == null) { return copyMillis; } List<Interval> result = new ArrayList<Interval>(intervals.size() + 1); for (Interval interval: intervals) { if (interval.end < newInterval.start) { result.add(interval); } else if (interval.start > newInterval.end) { result.add(newInterval); newInterval = interval; } else { newInterval = new Interval( Math.min(interval.start, newInterval.start), Math.max(newInterval.end, interval.end)); } } result.add(newInterval); intervals = result; //compute total millis long length = 0; for (Interval interval : intervals) { length += interval.getIntervalLength(); } return length; }
private long getTotalCopyMillis(Interval newInterval) { if (newInterval == null) { return copyMillis; } List<Interval> result = new ArrayList<Interval>(intervals.size() + 1); for (Interval interval: intervals) { if (interval.end < newInterval.start) { result.add(interval); } else if (interval.start > newInterval.end) { result.add(newInterval); newInterval = interval; } else { newInterval = new Interval( Math.min(interval.start, newInterval.start), Math.max(newInterval.end, interval.end)); } } result.add(newInterval); intervals = result; //compute total millis long length = 0; for (Interval interval : intervals) { length += interval.getIntervalLength(); } return length; }
private long getTotalCopyMillis(Interval newInterval) { if (newInterval == null) { return copyMillis; } List<Interval> result = new ArrayList<Interval>(intervals.size() + 1); for (Interval interval: intervals) { if (interval.end < newInterval.start) { result.add(interval); } else if (interval.start > newInterval.end) { result.add(newInterval); newInterval = interval; } else { newInterval = new Interval( Math.min(interval.start, newInterval.start), Math.max(newInterval.end, interval.end)); } } result.add(newInterval); intervals = result; //compute total millis long length = 0; for (Interval interval : intervals) { length += interval.getIntervalLength(); } return length; }