1 /*
2 * Copyright 2010 Capgemini and Contributors
3 *
4 * Licensed under the Apache License, Version 2.0 (the
5 * "License"); you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations under
14 * the License.
15 */
16 package net.sf.appstatus.core.batch;
17
18 import java.util.Date;
19 import java.util.List;
20
21 /**
22 * Job progress agent monitor.
23 *
24 * @author Guillaume Mary
25 *
26 */
27 public interface IBatch {
28 String STATUS_FAILURE = "failure";
29 String STATUS_RUNNING = "running";
30 String STATUS_SUCCESS = "success";
31 String STATUS_ZOMBIE = "zombie";
32
33 String getCurrentItem();
34
35 String getCurrentTask();
36
37 /**
38 * Retrieve the end date of the job execution.
39 *
40 * @param executionId
41 * execution's id
42 * @return end date of the job execution
43 */
44 Date getEndDate();
45
46 /**
47 * Getting the group of batch.
48 *
49 * @return the group
50 */
51 String getGroup();
52
53 long getItemCount();
54
55 /**
56 * Retrieve the last messages.
57 *
58 * @param executionId
59 * execution id
60 * @param nbMessage
61 * limit the returned messages
62 * @return list of messages
63 */
64 String getLastMessage();
65
66 Date getLastUpdate();
67
68 /**
69 * Getting the name of batch.
70 *
71 * @return the name
72 */
73 String getName();
74
75 /**
76 * Retrieve the current progress status of the job execution.
77 *
78 * @param executionId
79 * execution id
80 * @return progress value
81 */
82 float getProgressStatus();
83
84 /**
85 * Return all the rejected items.
86 *
87 * @param executionId
88 * job execution id
89 * @return all the rejected items
90 */
91 List<String> getRejectedItemsId();
92
93 /**
94 * Return the starting date of the job execution.
95 *
96 * @param executionId
97 * job execution id
98 * @return start date
99 */
100 Date getStartDate();
101
102 /**
103 * Retrieve the status of the batch execution.
104 *
105 * @param executionId
106 * job execution id.
107 * @return status
108 */
109 String getStatus();
110
111 /**
112 * Retrieve all the jobs execution monitored by this agent monitor.
113 *
114 * @return list of job execution ids
115 */
116 String getUuid();
117
118 boolean isSuccess();
119
120 /**
121 * This method is not intended to be used directly.
122 *
123 * @param monitor
124 */
125 void setProgressMonitor(IBatchProgressMonitor monitor);
126 }