1
14
15 package com.liferay.portal.kernel.scheduler;
16
17 import com.liferay.portal.kernel.messaging.MessageListener;
18 import com.liferay.portal.kernel.util.GetterUtil;
19 import com.liferay.portal.kernel.util.Time;
20
21
26 public class SchedulerEntryImpl implements SchedulerEntry {
27
28 public String getDescription() {
29 return _description;
30 }
31
32 public MessageListener getEventListener() {
33 return _eventListener;
34 }
35
36 public String getEventListenerClass() {
37 return _eventListenerClass;
38 }
39
40 public String getPropertyKey() {
41 return _propertyKey;
42 }
43
44 public TimeUnit getTimeUnit() {
45 return _timeUnit;
46 }
47
48 public Trigger getTrigger() throws SchedulerException {
49 if (_trigger != null) {
50 return _trigger;
51 }
52
53 if (_triggerType == TriggerType.CRON) {
54 _trigger = new CronTrigger(
55 _eventListenerClass, _eventListenerClass, _triggerValue);
56 }
57 else if (_triggerType == TriggerType.SIMPLE) {
58 long intervalTime = GetterUtil.getLong(_triggerValue);
59
60 if (_timeUnit.equals(TimeUnit.DAY)) {
61 intervalTime = intervalTime * Time.DAY;
62 }
63 else if (_timeUnit.equals(TimeUnit.HOUR)) {
64 intervalTime = intervalTime * Time.HOUR;
65 }
66 else if (_timeUnit.equals(TimeUnit.MINUTE)) {
67 intervalTime = intervalTime * Time.MINUTE;
68 }
69 else if (_timeUnit.equals(TimeUnit.WEEK)) {
70 intervalTime = intervalTime * Time.WEEK;
71 }
72 else {
73 intervalTime = intervalTime * Time.SECOND;
74 }
75
76 _trigger = new IntervalTrigger(
77 _eventListenerClass, _eventListenerClass, intervalTime);
78 }
79 else {
80 throw new SchedulerException(
81 "Unsupport trigger type " + _triggerType);
82 }
83
84 return _trigger;
85 }
86
87 public TriggerType getTriggerType() {
88 return _triggerType;
89 }
90
91 public String getTriggerValue() {
92 return _triggerValue;
93 }
94
95 public void setDescription(String description) {
96 _description = description;
97 }
98
99 public void setEventListener(MessageListener eventListener) {
100 _eventListener = eventListener;
101 }
102
103 public void setEventListenerClass(String eventListenerClass) {
104 _eventListenerClass = eventListenerClass;
105 }
106
107 public void setPropertyKey(String propertyKey) {
108 _propertyKey = propertyKey;
109 }
110
111 public void setTimeUnit(TimeUnit timeUnit) {
112 _timeUnit = timeUnit;
113 }
114
115 public void setTriggerType(TriggerType triggerType) {
116 _triggerType = triggerType;
117 }
118
119 public void setTriggerValue(int triggerValue) {
120 _triggerValue = String.valueOf(triggerValue);
121 }
122
123 public void setTriggerValue(long triggerValue) {
124 _triggerValue = String.valueOf(triggerValue);
125 }
126
127 public void setTriggerValue(String triggerValue) {
128 _triggerValue = triggerValue;
129 }
130
131 public String toString() {
132 StringBuilder sb = new StringBuilder();
133
134 sb.append("{description=");
135 sb.append(_description);
136 sb.append(", eventListener=");
137 sb.append(_eventListener);
138 sb.append(", eventListenerClass=");
139 sb.append(_eventListenerClass);
140 sb.append(", propertyKey=");
141 sb.append(_propertyKey);
142 sb.append(", timeUnit=");
143 sb.append(_timeUnit);
144 sb.append(", trigger=");
145 sb.append(_trigger);
146 sb.append(", triggerType=");
147 sb.append(_triggerType);
148 sb.append(", triggerValue=");
149 sb.append(_triggerValue);
150 sb.append("}");
151
152 return sb.toString();
153 }
154
155 private String _description;
156 private transient MessageListener _eventListener;
157 private String _eventListenerClass;
158 private String _propertyKey;
159 private TimeUnit _timeUnit;
160 private Trigger _trigger;
161 private TriggerType _triggerType;
162 private String _triggerValue;
163
164 }