本文整理汇总了Java中org.joda.time.Interval.overlaps方法的典型用法代码示例。如果您正苦于以下问题:Java Interval.overlaps方法的具体用法?Java Interval.overlaps怎么用?Java Interval.overlaps使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.joda.time.Interval
的用法示例。
在下文中一共展示了Interval.overlaps方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getExceptionEvents
import org.joda.time.Interval; //导入方法依赖的package包/类
public static List<Interval> getExceptionEvents(List<ExceptionWorkingHours> hours, LocalDate date, RestrictionType restrictionType) {
List<Interval> exceptions = new ArrayList<>();
for (ExceptionWorkingHours ewh : hours) {
boolean isApplicable =
(restrictionType == RestrictionType.RESTRICTIVE && ewh.isOutOfService()) ||
(restrictionType == RestrictionType.NON_RESTRICTIVE && !ewh.isOutOfService());
if (isApplicable) {
DateTime start = new DateTime(ewh.getStartDate()).plusMillis(ewh.getStartDateTimezoneOffset());
DateTime end = new DateTime(ewh.getEndDate()).plusMillis(ewh.getEndDateTimezoneOffset());
Interval exception = new Interval(start, end);
Interval wholeDay = date.toInterval();
if (exception.contains(wholeDay) || exception.equals(wholeDay)) {
exceptions.clear();
exceptions.add(wholeDay);
break;
}
if (exception.overlaps(wholeDay)) {
exceptions.add(new Interval(exception.getStart(), exception.getEnd()));
}
}
}
return exceptions;
}
示例2: timeConflicts
import org.joda.time.Interval; //导入方法依赖的package包/类
/**
* checks strictly for time conflicts; DOES NOT CHECK FOR DAY CONFLICTS
* @param course the course for which to check for conflicts
* @return boolean
*/
public boolean timeConflicts(Course course, Course c){
String pattern="hh:mmaa";
DateTime courseStart=DateTime.parse(course.getTime().substring(0, course.getTime().indexOf('-')), DateTimeFormat.forPattern(pattern));
DateTime courseEnd=DateTime.parse(course.getTime().substring(course.getTime().indexOf('-')+1), DateTimeFormat.forPattern(pattern));
Interval courseInterval=new Interval(courseStart, courseEnd);
DateTime cStart=DateTime.parse(c.getTime().substring(0, c.getTime().indexOf('-')), DateTimeFormat.forPattern(pattern));
DateTime cEnd=DateTime.parse(c.getTime().substring(c.getTime().indexOf('-')+1), DateTimeFormat.forPattern(pattern));
Interval cInterval=new Interval(cStart, cEnd);
if(courseInterval.overlaps(cInterval)){
return true;
}
return false;
}
示例3: intersect
import org.joda.time.Interval; //导入方法依赖的package包/类
/**
* Return the intersection of all subintervals in two interval lists.
*
* @param that A simplified list of intervals
*
* @return A new simplified interval list whose intervals are all subintervals of this and that.
*/
public SimplifiedIntervalList intersect(SimplifiedIntervalList that) {
Iterator<Interval> theseIntervals = this.iterator();
Iterator<Interval> thoseIntervals = that.iterator();
Interval thisCurrent = getNextIfAvailable.apply(theseIntervals);
Interval thatCurrent = getNextIfAvailable.apply(thoseIntervals);
List<Interval> collected = new ArrayList<>();
while (thisCurrent != null && thatCurrent != null) {
if (thisCurrent.overlaps(thatCurrent)) {
collected.add(thisCurrent.overlap(thatCurrent));
}
if (thisCurrent.isBefore(thatCurrent.getEnd())) {
thisCurrent = getNextIfAvailable.apply(theseIntervals);
} else {
thatCurrent = getNextIfAvailable.apply(thoseIntervals);
}
}
return new SimplifiedIntervalList(collected);
}
示例4: contains
import org.joda.time.Interval; //导入方法依赖的package包/类
public static boolean contains(List<Interval> intervals, Interval query) {
try {
for (Interval in : intervals) {
if (in.overlaps(query)) {
return true;
}
}
return false;
} catch (Exception e) {
log.warn("Failed to check whether {} overlaps with {}", query, intervals);
return false;
}
}