001package com.hfg.util.scheduler; 002 003import java.util.Date; 004 005//------------------------------------------------------------------------------ 006/** 007 Interface for specify a job execution schedule. 008 <div> 009 @author J. Alex Taylor, hairyfatguy.com 010 </div> 011 */ 012//------------------------------------------------------------------------------ 013// com.hfg Library 014// 015// This library is free software; you can redistribute it and/or 016// modify it under the terms of the GNU Lesser General Public 017// License as published by the Free Software Foundation; either 018// version 2.1 of the License, or (at your option) any later version. 019// 020// This library is distributed in the hope that it will be useful, 021// but WITHOUT ANY WARRANTY; without even the implied warranty of 022// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 023// Lesser General Public License for more details. 024// 025// You should have received a copy of the GNU Lesser General Public 026// License along with this library; if not, write to the Free Software 027// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 028// 029// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com 030// jataylor@hairyfatguy.com 031//------------------------------------------------------------------------------ 032 033public interface Schedule 034{ 035 //--------------------------------------------------------------------------- 036 /** 037 Returns the next scheduled instance. 038 @return the next scheduled instance relative to the current date 039 */ 040 public Date next(); 041 042 //--------------------------------------------------------------------------- 043 /** 044 Returns the first scheduled instance that comes after the specified reference date. 045 @param inReferenceDate the date from which the next scheduled time will be calculated 046 @return the first scheduled instance that comes after the specified date 047 */ 048 public Date nextAfter(Date inReferenceDate); 049}