1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.portal.kernel.scheduler;
21  
22  import com.liferay.portal.kernel.scheduler.messaging.SchedulerRequest;
23  
24  import java.util.Date;
25  import java.util.List;
26  
27  /**
28   * <a href="SchedulerEngineUtil.java.html"><b><i>View Source</i></b></a>
29   *
30   * @author Bruno Farache
31   *
32   */
33  public class SchedulerEngineUtil {
34  
35      public static List<SchedulerRequest> getScheduledJobs(String groupName)
36          throws SchedulerException {
37  
38          return _instance._getScheduledJobs(groupName);
39      }
40  
41      public static void init(SchedulerEngine defaultScheduler) {
42          _instance._init(defaultScheduler);
43      }
44  
45      public static void schedule(
46              String groupName, String cronText, Date startDate, Date endDate,
47              String description, String destinationName, String messageBody)
48          throws SchedulerException {
49  
50          _instance._schedule(
51              groupName, cronText, startDate, endDate, description,
52              destinationName, messageBody);
53      }
54  
55      public static void shutdown() throws SchedulerException {
56          _instance._shutdown();
57      }
58  
59      public static void start() throws SchedulerException {
60          _instance._start();
61      }
62  
63      public static void unschedule(String jobName, String groupName)
64          throws SchedulerException {
65  
66          _instance._unschedule(jobName, groupName);
67      }
68  
69      private List<SchedulerRequest> _getScheduledJobs(String groupName)
70          throws SchedulerException {
71  
72          return _schedulerEngine.getScheduledJobs(groupName);
73      }
74  
75      private void _init(SchedulerEngine schedulerEngine) {
76          _schedulerEngine = schedulerEngine;
77      }
78  
79      private void _schedule(
80              String groupName, String cronText, Date startDate, Date endDate,
81              String description, String destinationName, String messageBody)
82          throws SchedulerException {
83  
84          _schedulerEngine.schedule(
85              groupName, cronText, startDate, endDate, description,
86              destinationName, messageBody);
87      }
88  
89      private void _shutdown() throws SchedulerException {
90          _schedulerEngine.shutdown();
91      }
92  
93      private void _start() throws SchedulerException {
94          _schedulerEngine.start();
95      }
96  
97      private void _unschedule(String jobName, String groupName)
98          throws SchedulerException {
99  
100         _schedulerEngine.unschedule(jobName, groupName);
101     }
102 
103     private static SchedulerEngineUtil _instance = new SchedulerEngineUtil();
104 
105     private SchedulerEngine _schedulerEngine;
106 
107 }