final DataSegment startSeg = getSegmentAt(i.getStart(), true); (i.getStart() != i.getEnd()) ? i.getEnd() - 1 : i.getEnd(), true); final int pos = i.getStart() - oseg.getStart(); start = oseg._start.getPosition() + pos; break; if ((startSeg instanceof ObliqueSegment) && (startSeg.length() >= i.getLength())) { final ObliqueSegment oseg = (ObliqueSegment) startSeg; final int pos = i.getEnd() - oseg.getStart(); end = oseg._start.getPosition() + pos; final int pos = i.getEnd() - oseg.getStart(); end = oseg._start.getPosition() + pos; break;
@Override public boolean precedes(final Interval s) { return (getEnd() <= s.getStart()); }
@Override public boolean rightAligned(final Interval s) { return (getEnd() == s.getEnd()); }
@Override public boolean leftAligned(final Interval s) { return (getStart() == s.getStart()); }
@Override public boolean immediatelyFollows(final Interval s) { return (getStart() == s.getEnd()); }
@Override public boolean startsSameAs(final Interval i) { return getStart() == i.getStart(); }
@Override public boolean follows(final Interval s) { return (getStart() >= s.getEnd()); }
@Override public boolean immediatelyPrecedes(final Interval s) { return (getEnd() == s.getStart()); }
@Override public boolean endsEarilerThan(final Interval i) { return getEnd() < i.getEnd(); }
public static Interval grow(final Collection<? extends Interval> ivals) { if (ivals.size() == 0) { return null; } final Interval first = ivals.iterator().next(); int start = first.getStart(); int end = first.getEnd(); for (final Interval s : ivals) { if (s.getStart() < start) { start = s.getStart(); } if (s.getEnd() > end) { end = s.getEnd(); } } return new ImmutableInterval(start, end); }
@Override public boolean startsLaterThan(final Interval i) { return getStart() > i.getStart(); }
@Override public boolean endsLaterThan(final Interval i) { return getEnd() > i.getEnd(); }
@Override public boolean startsEarilerThan(final Interval s) { return getStart() < s.getStart(); }
@Override public boolean endsSameAs(final Interval s) { return getEnd() == s.getEnd(); }