/** * @param theSegment * Segment to test "be include" by <code>inThisSegment</code> * @param inThisSegment * Segment to test "includes" <code>theSegment</code> * @return <code>false</code> <code>theSegment</code> isn't included in <code>inThisSegment</code>. <code>true</code> if they are included. */ private static boolean isIncludedTemporal(final TemporalSegment theSegment, final TemporalSegment inThisSegment) { return (theSegment.getStart() >= inThisSegment.getStart()) && (theSegment.getEnd() <= inThisSegment.getEnd()); }
private static <T extends Segment> T getExistingSegment(final List<Segment> segments, final int start, final int end, final Class<T> linearOrTemporalSegment) { final boolean isLinear; if (linearOrTemporalSegment.equals(LinearSegment.class)) { isLinear = true; } else { isLinear = false; } T theSeg = null; for (final Segment seg : segments) { if ((seg instanceof LinearSegment) && isLinear) { final LinearSegment linSeg = (LinearSegment) seg; if ((linSeg.getStart() == start) && (linSeg.getEnd() == end)) { theSeg = linearOrTemporalSegment.cast(linSeg); break; } } else if ((seg instanceof TemporalSegment) && !isLinear) { final TemporalSegment tempSeg = (TemporalSegment) seg; if ((tempSeg.getStart() == start) && (tempSeg.getEnd() == end)) { theSeg = linearOrTemporalSegment.cast(tempSeg); break; } } } return theSeg; }