001
014
015 package com.liferay.portal.kernel.scheduler;
016
017 import com.liferay.portal.kernel.messaging.MessageListener;
018 import com.liferay.portal.kernel.util.GetterUtil;
019 import com.liferay.portal.kernel.util.StringBundler;
020 import com.liferay.portal.kernel.util.StringPool;
021 import com.liferay.portal.kernel.util.Time;
022
023
026 public class SchedulerEntryImpl implements SchedulerEntry {
027
028 @Override
029 public String getContextPath() {
030 return _contextPath;
031 }
032
033 @Override
034 public String getDescription() {
035 return _description;
036 }
037
038 @Override
039 public MessageListener getEventListener() {
040 return _eventListener;
041 }
042
043 @Override
044 public String getEventListenerClass() {
045 return _eventListenerClass;
046 }
047
048 @Override
049 public String getPropertyKey() {
050 return _propertyKey;
051 }
052
053 @Override
054 public TimeUnit getTimeUnit() {
055 return _timeUnit;
056 }
057
058 @Override
059 public Trigger getTrigger() throws SchedulerException {
060 if (_trigger != null) {
061 return _trigger;
062 }
063
064 if (_triggerType.equals(TriggerType.CRON)) {
065 _trigger = new CronTrigger(
066 _eventListenerClass, _eventListenerClass, _triggerValue);
067 }
068 else if (_triggerType.equals(TriggerType.SIMPLE)) {
069 long intervalTime = GetterUtil.getLong(_triggerValue);
070
071 if (_timeUnit.equals(TimeUnit.DAY)) {
072 intervalTime = intervalTime * Time.DAY;
073 }
074 else if (_timeUnit.equals(TimeUnit.HOUR)) {
075 intervalTime = intervalTime * Time.HOUR;
076 }
077 else if (_timeUnit.equals(TimeUnit.MINUTE)) {
078 intervalTime = intervalTime * Time.MINUTE;
079 }
080 else if (_timeUnit.equals(TimeUnit.WEEK)) {
081 intervalTime = intervalTime * Time.WEEK;
082 }
083 else {
084 intervalTime = intervalTime * Time.SECOND;
085 }
086
087 _trigger = new IntervalTrigger(
088 _eventListenerClass, _eventListenerClass, intervalTime);
089 }
090 else {
091 throw new SchedulerException(
092 "Unsupport trigger type " + _triggerType);
093 }
094
095 return _trigger;
096 }
097
098 @Override
099 public TriggerType getTriggerType() {
100 return _triggerType;
101 }
102
103 @Override
104 public String getTriggerValue() {
105 return _triggerValue;
106 }
107
108 @Override
109 public void setContextPath(String contextPath) {
110 _contextPath = contextPath;
111 }
112
113 @Override
114 public void setDescription(String description) {
115 _description = description;
116 }
117
118 @Override
119 public void setEventListener(MessageListener eventListener) {
120 _eventListener = eventListener;
121 }
122
123 @Override
124 public void setEventListenerClass(String eventListenerClass) {
125 _eventListenerClass = eventListenerClass;
126 }
127
128 @Override
129 public void setPropertyKey(String propertyKey) {
130 _propertyKey = propertyKey;
131 }
132
133 @Override
134 public void setTimeUnit(TimeUnit timeUnit) {
135 _timeUnit = timeUnit;
136 }
137
138 @Override
139 public void setTriggerType(TriggerType triggerType) {
140 _triggerType = triggerType;
141 }
142
143 @Override
144 public void setTriggerValue(int triggerValue) {
145 _triggerValue = String.valueOf(triggerValue);
146 }
147
148 @Override
149 public void setTriggerValue(long triggerValue) {
150 _triggerValue = String.valueOf(triggerValue);
151 }
152
153 @Override
154 public void setTriggerValue(String triggerValue) {
155 _triggerValue = triggerValue;
156 }
157
158 @Override
159 public String toString() {
160 StringBundler sb = new StringBundler(19);
161
162 sb.append("{contextPath=");
163 sb.append(_contextPath);
164 sb.append(", description=");
165 sb.append(_description);
166 sb.append(", eventListener=");
167 sb.append(_eventListener);
168 sb.append(", eventListenerClass=");
169 sb.append(_eventListenerClass);
170 sb.append(", propertyKey=");
171 sb.append(_propertyKey);
172 sb.append(", timeUnit=");
173 sb.append(_timeUnit);
174 sb.append(", trigger=");
175 sb.append(_trigger);
176 sb.append(", triggerType=");
177 sb.append(_triggerType);
178 sb.append(", triggerValue=");
179 sb.append(_triggerValue);
180 sb.append("}");
181
182 return sb.toString();
183 }
184
185 private String _contextPath = StringPool.BLANK;
186 private String _description = StringPool.BLANK;
187 private transient MessageListener _eventListener;
188 private String _eventListenerClass = StringPool.BLANK;
189 private String _propertyKey = StringPool.BLANK;
190 private TimeUnit _timeUnit;
191 private Trigger _trigger;
192 private TriggerType _triggerType;
193 private String _triggerValue = StringPool.BLANK;
194
195 }