View Javadoc

1   /*
2    * Copyright 2010 The Kuali Foundation 
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the
5    * "License"); you may not use this file except in compliance with the
6    * License. You may obtain a copy of the License at
7    *
8    * http://www.osedu.org/licenses/ECL-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,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13   * implied. See the License for the specific language governing
14   * permissions and limitations under the License.
15   */
16  package org.kuali.student.enrollment.batchjobresults.infc;
17  
18  import java.util.List;
19  import org.kuali.student.r2.common.dto.ContextInfo;
20  import org.kuali.student.r2.common.infc.Attribute;
21  import org.kuali.student.r2.common.infc.IdEntity;
22  import org.kuali.student.r2.common.infc.RichText;
23  
24  /**
25   * Object that holds the results of a batch job
26   * 
27   * @author nwright
28   */
29  public interface BatchJobResult
30          extends IdEntity {
31  
32      /**
33       * The parameters or options specified when the batch job was run
34       * 
35       * Note the list may be empty but it cannot be null
36       * 
37       * @name Parameters
38       * @readOnly
39       * @required
40       * @impl set during the createBatchJobResult operation
41       */
42      public List<? extends Attribute> getParameters();
43  
44      /**
45       * The context under which this batch job was run
46       * 
47       * @name Context
48       * @readOnly
49       * @required
50       * @impl set during the createBatchJobResult operation
51       */
52      public ContextInfo getContext();
53  
54      /**
55       * Any global results of running the batch job
56       * 
57       * This may be a number or a count or a newly created id.
58       * 
59       * This is in addition to individual Result Items that may be created.
60       * 
61       * Note the list may be empty but like other lists it must not be null 
62       * @name Parameters
63       */
64      public List<? extends Attribute> getGlobalResults();
65  
66      /**
67       * Number of items processed
68       *     
69       * Used to indicate the progress of the batch job
70       *
71       * The batch job does not have to update this field every time it processes
72       * a job it may decide to update it every 10 or 100 or 1000 items processed.
73       * 
74       * This can be null if the job has not started yet or there are no items 
75       * This may or may not correspond with the corresponding Result Items that get created
76       * 
77       * @name Items Processed
78       */
79      public Integer getItemsProcessed();
80  
81      /**
82       * Number of items expected to be processed
83       *     
84       * @name Items Expected
85       * @readOnly
86       * @impl set during the #rolloverSoc operation
87       */
88      public Integer getItemsExpected();
89  
90      /**
91       * Messages describing details of the status.
92       * 
93       * Often left null if the status is that it is complete.
94       * 
95       * @name Message
96       * @readOnly
97       * @impl set during the #rolloverSoc operation
98       */
99      public RichText getMessage();
100 }