1 17 18 package org.apache.avalon.cornerstone.blocks.scheduler; 19 20 import java.text.SimpleDateFormat ; 21 import java.util.Date ; 22 import org.apache.avalon.cornerstone.services.scheduler.Target; 23 import org.apache.avalon.cornerstone.services.scheduler.TimeTrigger; 24 25 30 public final class TimeScheduledEntry 31 implements Comparable 32 { 33 private static final SimpleDateFormat DATEFORMAT = new SimpleDateFormat (); 34 35 private final String m_name; 36 private final TimeTrigger m_trigger; 37 private final Target m_target; 38 39 private long m_time; 41 private boolean m_isValid; 42 43 public TimeScheduledEntry( String name, TimeTrigger trigger, Target target ) 44 { 45 m_name = name; 46 m_trigger = trigger; 47 m_target = target; 48 m_isValid = true; 50 } 51 52 57 public String getName() 58 { 59 return m_name; 60 } 61 62 public Target getTarget() 63 { 64 return m_target; 65 } 66 67 public TimeTrigger getTimeTrigger() 68 { 69 return m_trigger; 70 } 71 72 77 public boolean isValid() 78 { 79 return m_isValid; 80 } 81 82 85 public void invalidate() 86 { 87 m_isValid = false; 88 } 89 90 95 public long getNextTime() 96 { 97 return m_time; 98 } 99 100 105 public void setNextTime( long time ) 106 { 107 m_time = time; 108 } 109 110 117 public int compareTo( final Object object ) 118 { 119 final TimeScheduledEntry other = (TimeScheduledEntry)object; 120 return (int)-( other.m_time - m_time ); 121 } 122 123 public String toString() 124 { 125 return "TimeEntry[ name=" + m_name + " valid=" + m_isValid + " time=" + DATEFORMAT.format( new Date ( m_time ) ) + " ]"; 126 } 127 } 128 129 | Popular Tags |