Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /* ************************************************************************
 #
 #  DivConq
 #
 #  http://divconq.com/
 #
 #  Copyright:
 #    Copyright 2014 eTimeline, LLC. All rights reserved.
 #
#  License:
#    See the license.txt file in the project's top-level directory for details.
#  Authors:
#    * Andy White
************************************************************************ */
package divconq.scheduler.common;
// a list of times during the day to run
// this list knows nothing of what days to run or not run, or
// anything about the date of a ScheduleInstant when it works with one
public class ScheduleList {
	public int size() {
		return this..size();
	}
	// next searches only relative to the time of day, not the date
	// return null if no more runs after the param
	public ScheduleEntry next(DateTime at) {
		LocalTime lt = at.toLocalTime();
		for (ScheduleEntry se : this.)
			if (se.getTime().isAfter(lt))
				return se;
		return null;
	}
	public boolean anyRequired() {
		for (ScheduleEntry se : this.)
			if (se.isRunIfMissed())
				return true;
		return false;
	}
	public void init(XElement config) {
		if (config != null) {
			for (XElement sel : config.selectAll("Schedule")) {
				e.init(sel);
				this..add(e);
			}
		}
		// default to run at midnight
		if (this..size() == 0) {
			e.init(null);
			this..add(e);			
		}
		Collections.sort(this.);
	}
New to GrepCode? Check out our FAQ X