001
014
015 package com.liferay.portal.kernel.scheduler;
016
017 import com.liferay.portal.kernel.util.GetterUtil;
018 import com.liferay.portal.kernel.util.StringBundler;
019 import com.liferay.portal.kernel.util.StringPool;
020 import com.liferay.portal.kernel.util.Time;
021
022
025 public class SchedulerEntryImpl implements SchedulerEntry {
026
027 @Override
028 public String getDescription() {
029 return _description;
030 }
031
032 @Override
033 public String getEventListenerClass() {
034 return _eventListenerClass;
035 }
036
037 @Override
038 public TimeUnit getTimeUnit() {
039 return _timeUnit;
040 }
041
042 @Override
043 public Trigger getTrigger() throws SchedulerException {
044 if (_trigger != null) {
045 return _trigger;
046 }
047
048 if (_triggerType.equals(TriggerType.CRON)) {
049 _trigger = new CronTrigger(
050 _eventListenerClass, _eventListenerClass, _triggerValue);
051 }
052 else if (_triggerType.equals(TriggerType.SIMPLE)) {
053 long intervalTime = GetterUtil.getLong(_triggerValue);
054
055 if (_timeUnit.equals(TimeUnit.DAY)) {
056 intervalTime = intervalTime * Time.DAY;
057 }
058 else if (_timeUnit.equals(TimeUnit.HOUR)) {
059 intervalTime = intervalTime * Time.HOUR;
060 }
061 else if (_timeUnit.equals(TimeUnit.MINUTE)) {
062 intervalTime = intervalTime * Time.MINUTE;
063 }
064 else if (_timeUnit.equals(TimeUnit.WEEK)) {
065 intervalTime = intervalTime * Time.WEEK;
066 }
067 else {
068 intervalTime = intervalTime * Time.SECOND;
069 }
070
071 _trigger = new IntervalTrigger(
072 _eventListenerClass, _eventListenerClass, intervalTime);
073 }
074 else {
075 throw new SchedulerException(
076 "Unsupport trigger type " + _triggerType);
077 }
078
079 return _trigger;
080 }
081
082 @Override
083 public TriggerType getTriggerType() {
084 return _triggerType;
085 }
086
087 @Override
088 public String getTriggerValue() {
089 return _triggerValue;
090 }
091
092 @Override
093 public void setDescription(String description) {
094 _description = description;
095 }
096
097 @Override
098 public void setEventListenerClass(String eventListenerClass) {
099 _eventListenerClass = eventListenerClass;
100 }
101
102 @Override
103 public void setTimeUnit(TimeUnit timeUnit) {
104 _timeUnit = timeUnit;
105 }
106
107 @Override
108 public void setTriggerType(TriggerType triggerType) {
109 _triggerType = triggerType;
110 }
111
112 @Override
113 public void setTriggerValue(int triggerValue) {
114 _triggerValue = String.valueOf(triggerValue);
115 }
116
117 @Override
118 public void setTriggerValue(long triggerValue) {
119 _triggerValue = String.valueOf(triggerValue);
120 }
121
122 @Override
123 public void setTriggerValue(String triggerValue) {
124 _triggerValue = triggerValue;
125 }
126
127 @Override
128 public String toString() {
129 StringBundler sb = new StringBundler(13);
130
131 sb.append(", description=");
132 sb.append(_description);
133 sb.append(", eventListenerClass=");
134 sb.append(_eventListenerClass);
135 sb.append(", timeUnit=");
136 sb.append(_timeUnit);
137 sb.append(", trigger=");
138 sb.append(_trigger);
139 sb.append(", triggerType=");
140 sb.append(_triggerType);
141 sb.append(", triggerValue=");
142 sb.append(_triggerValue);
143 sb.append("}");
144
145 return sb.toString();
146 }
147
148 private String _description = StringPool.BLANK;
149 private String _eventListenerClass = StringPool.BLANK;
150 private TimeUnit _timeUnit;
151 private Trigger _trigger;
152 private TriggerType _triggerType;
153 private String _triggerValue = StringPool.BLANK;
154
155 }