1 22 package com.scalagent.scheduler.event; 23 24 import java.io.Serializable ; 25 import java.util.Calendar ; 26 27 32 public class DiaryPeriod implements Serializable { 33 41 public int unit = Calendar.MILLISECOND; 42 43 48 public int value = 0; 49 50 54 public DiaryPeriod() {} 55 56 62 public DiaryPeriod(int unit, int value) { 63 switch (unit) { 64 case Calendar.YEAR: 65 case Calendar.MONTH: 66 case Calendar.DAY_OF_MONTH: 67 case Calendar.HOUR_OF_DAY: 68 case Calendar.MINUTE: 69 case Calendar.SECOND: 70 case Calendar.MILLISECOND: 71 break; 72 default: 73 throw new IllegalArgumentException ("unknown diary period unit"); 74 } 75 this.unit = unit; 76 this.value = value; 77 } 78 79 87 public DiaryPeriod(long value) { 88 final long MS_SECOND = 1000; 89 final long MS_MINUTE = 60 * MS_SECOND; 90 final long MS_HOUR = 60 * MS_MINUTE; 91 final long MS_DAY = 24 * MS_HOUR; 92 final long MS_MONTH = 30 * MS_DAY; 93 final long MS_YEAR = 365 * MS_DAY; 94 95 if (value == 0) { 96 } else if ((value % MS_YEAR) == 0) { 98 this.unit = Calendar.YEAR; 99 this.value = (int) (value / MS_YEAR); 100 } else if ((value % MS_MONTH) == 0) { 101 this.unit = Calendar.MONTH; 102 this.value = (int) (value / MS_MONTH); 103 } else if ((value % MS_DAY) == 0) { 104 this.unit = Calendar.DAY_OF_MONTH; 105 this.value = (int) (value / MS_DAY); 106 } else if ((value % MS_HOUR) == 0) { 107 this.unit = Calendar.HOUR_OF_DAY; 108 this.value = (int) (value / MS_HOUR); 109 } else if ((value % MS_MINUTE) == 0) { 110 this.unit = Calendar.MINUTE; 111 this.value = (int) (value / MS_MINUTE); 112 } else if ((value % MS_SECOND) == 0) { 113 this.unit = Calendar.SECOND; 114 this.value = (int) (value / MS_SECOND); 115 } else { 116 this.unit = Calendar.MILLISECOND; 117 this.value = (int) (value); 118 } 119 } 120 121 126 public String toString() { 127 StringBuffer output = new StringBuffer (); 128 output.append("("); 129 output.append(super.toString()); 130 output.append(",unit="); 131 output.append(unit); 132 output.append(",value="); 133 output.append(value); 134 output.append(")"); 135 return output.toString(); 136 } 137 } 138
| Popular Tags
|