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 String getPropertyKey() {
039 return _propertyKey;
040 }
041
042 @Override
043 public TimeUnit getTimeUnit() {
044 return _timeUnit;
045 }
046
047 @Override
048 public Trigger getTrigger() throws SchedulerException {
049 if (_trigger != null) {
050 return _trigger;
051 }
052
053 if (_triggerType.equals(TriggerType.CRON)) {
054 _trigger = new CronTrigger(
055 _eventListenerClass, _eventListenerClass, _triggerValue);
056 }
057 else if (_triggerType.equals(TriggerType.SIMPLE)) {
058 long intervalTime = GetterUtil.getLong(_triggerValue);
059
060 if (_timeUnit.equals(TimeUnit.DAY)) {
061 intervalTime = intervalTime * Time.DAY;
062 }
063 else if (_timeUnit.equals(TimeUnit.HOUR)) {
064 intervalTime = intervalTime * Time.HOUR;
065 }
066 else if (_timeUnit.equals(TimeUnit.MINUTE)) {
067 intervalTime = intervalTime * Time.MINUTE;
068 }
069 else if (_timeUnit.equals(TimeUnit.WEEK)) {
070 intervalTime = intervalTime * Time.WEEK;
071 }
072 else {
073 intervalTime = intervalTime * Time.SECOND;
074 }
075
076 _trigger = new IntervalTrigger(
077 _eventListenerClass, _eventListenerClass, intervalTime);
078 }
079 else {
080 throw new SchedulerException(
081 "Unsupport trigger type " + _triggerType);
082 }
083
084 return _trigger;
085 }
086
087 @Override
088 public TriggerType getTriggerType() {
089 return _triggerType;
090 }
091
092 @Override
093 public String getTriggerValue() {
094 return _triggerValue;
095 }
096
097 @Override
098 public void setDescription(String description) {
099 _description = description;
100 }
101
102 @Override
103 public void setEventListenerClass(String eventListenerClass) {
104 _eventListenerClass = eventListenerClass;
105 }
106
107 @Override
108 public void setPropertyKey(String propertyKey) {
109 _propertyKey = propertyKey;
110 }
111
112 @Override
113 public void setTimeUnit(TimeUnit timeUnit) {
114 _timeUnit = timeUnit;
115 }
116
117 @Override
118 public void setTriggerType(TriggerType triggerType) {
119 _triggerType = triggerType;
120 }
121
122 @Override
123 public void setTriggerValue(int triggerValue) {
124 _triggerValue = String.valueOf(triggerValue);
125 }
126
127 @Override
128 public void setTriggerValue(long triggerValue) {
129 _triggerValue = String.valueOf(triggerValue);
130 }
131
132 @Override
133 public void setTriggerValue(String triggerValue) {
134 _triggerValue = triggerValue;
135 }
136
137 @Override
138 public String toString() {
139 StringBundler sb = new StringBundler(15);
140
141 sb.append(", description=");
142 sb.append(_description);
143 sb.append(", eventListenerClass=");
144 sb.append(_eventListenerClass);
145 sb.append(", propertyKey=");
146 sb.append(_propertyKey);
147 sb.append(", timeUnit=");
148 sb.append(_timeUnit);
149 sb.append(", trigger=");
150 sb.append(_trigger);
151 sb.append(", triggerType=");
152 sb.append(_triggerType);
153 sb.append(", triggerValue=");
154 sb.append(_triggerValue);
155 sb.append("}");
156
157 return sb.toString();
158 }
159
160 private String _description = StringPool.BLANK;
161 private String _eventListenerClass = StringPool.BLANK;
162 private String _propertyKey = StringPool.BLANK;
163 private TimeUnit _timeUnit;
164 private Trigger _trigger;
165 private TriggerType _triggerType;
166 private String _triggerValue = StringPool.BLANK;
167
168 }