001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 //
018 // This source code implements specifications defined by the Java
019 // Community Process. In order to remain compliant with the specification
020 // DO NOT add / change / or delete method signatures!
021 //
022 package javax.ejb;
023
024 import java.io.Serializable;
025 import java.util.Date;
026
027 public class ScheduleExpression implements Serializable {
028
029 private static final long serialVersionUID = -3813254457230997879L;
030
031 private String dayOfMonth = "*";
032 private String dayOfWeek = "*";
033 private String hour = "0";
034 private String minute = "0";
035 private String month = "*";
036 private String second = "0";
037 private String year = "*";
038 private String timezone;
039 private Date start;
040 private Date end;
041
042 public ScheduleExpression dayOfMonth(int d) {
043 dayOfMonth = Integer.toString(d);
044 return this;
045 }
046
047 public ScheduleExpression dayOfMonth(String d) {
048 dayOfMonth = d;
049 return this;
050 }
051
052 public ScheduleExpression dayOfWeek(int d) {
053 dayOfWeek = Integer.toString(d);
054 return this;
055 }
056
057 public ScheduleExpression dayOfWeek(String d) {
058 dayOfWeek = d;
059 return this;
060 }
061
062 public ScheduleExpression end(Date e) {
063 end = e;
064 return this;
065 }
066
067 public String getDayOfMonth() {
068 return dayOfMonth;
069 }
070
071 public String getDayOfWeek() {
072 return dayOfWeek;
073 }
074
075 public Date getEnd() {
076 return end;
077 }
078
079 public String getHour() {
080 return hour;
081 }
082
083 public String getMinute() {
084 return minute;
085 }
086
087 public String getMonth() {
088 return month;
089 }
090
091 public String getSecond() {
092 return second;
093 }
094
095 public Date getStart() {
096 return start;
097 }
098
099 public String getYear() {
100 return year;
101 }
102
103 public String getTimezone() {
104 return timezone;
105 }
106
107 public ScheduleExpression hour(int h) {
108 hour = Integer.toString(h);
109 return this;
110 }
111
112 public ScheduleExpression hour(String h) {
113 hour = h;
114 return this;
115 }
116
117 public ScheduleExpression minute(int m) {
118 minute = Integer.toString(m);
119 return this;
120 }
121
122 public ScheduleExpression minute(String m) {
123 minute = m;
124 return this;
125 }
126
127 public ScheduleExpression month(int m) {
128 month = Integer.toString(m);
129 return this;
130 }
131
132 public ScheduleExpression month(String m) {
133 month = m;
134 return this;
135 }
136
137 public ScheduleExpression second(int s) {
138 second = Integer.toString(s);
139 return this;
140 }
141
142 public ScheduleExpression second(String s) {
143 second = s;
144 return this;
145 }
146
147 public ScheduleExpression start(Date s) {
148 start = s;
149 return this;
150 }
151
152 public ScheduleExpression year(int y) {
153 year = Integer.toString(y);
154 return this;
155 }
156
157 public ScheduleExpression year(String y) {
158 year = y;
159 return this;
160 }
161
162 /**
163 * See http://en.wikipedia.org/wiki/List_of_zoneinfo_timezones for valid timezones
164 * @param t
165 * @return
166 */
167 public ScheduleExpression timezone(String t) {
168 timezone = t;
169 return this;
170 }
171 }