1 /** 2 * Copyright 2004-2012 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * 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.opensource.org/licenses/ecl2.php 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 implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.hr.time.batch.service; 17 18 import java.util.List; 19 20 import org.kuali.hr.time.batch.BatchJob; 21 22 public interface BatchJobService { 23 24 /** 25 * Fetch a BatchJob by a given ID 26 * @param batchJobId Database ID of the BatchJob to fetch. 27 * @return The BatchJob matching batchJobId. 28 */ 29 public BatchJob getBatchJob(Long batchJobId); 30 31 /** 32 * Provides a List of BatchJob objects that match the indicated hrPyCalendarEntryId. 33 * @param hrPyCalendarEntryId The id of PayCalendarEntries objects to match. 34 * @return List of BatchJob objects. 35 */ 36 public List<BatchJob> getBatchJobs(String hrPyCalendarEntryId); 37 38 /** 39 * Get a List of BatchJob objects for the given parameters. 40 * 41 * @param hrPyCalendarEntryId The pay calendar entry we are looking for. 42 * @param batchJobStatus Only jobs of this status will be returned. 43 * @return List of BatchJob objects. 44 */ 45 public List<BatchJob> getBatchJobs(String hrPyCalendarEntryId, String batchJobStatus); 46 47 /** 48 * Saves or updates the provided BatchJob. 49 * @param batchJob The object to save. 50 */ 51 public void saveBatchJob(BatchJob batchJob); 52 }