1 /* 2 * Copyright 2007 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.ole.gl.batch.service; 17 18 import java.io.File; 19 import java.io.PrintStream; 20 21 import org.kuali.ole.gl.report.LedgerSummaryReport; 22 import org.kuali.ole.gl.service.impl.EnterpriseFeederStatusAndErrorMessagesWrapper; 23 24 25 /** 26 * Implementations of this interface are responsible for reconciliation of origin entry data in a file and loading them into the 27 * origin entry table. Note that implementations of this class may have special useful transactional properties. See implementation 28 * description for more details. 29 */ 30 public interface FileEnterpriseFeederHelperService { 31 32 /** 33 * Reconciles and loads a file of origin entries into the origin entry table. This method DOES NOT handle the deletion of the 34 * done file 35 * 36 * @param doneFile the done file. Must exist and be non-empty 37 * @param dataFile the data file. A connection to this file may be opened multiple times by this method. 38 * @param reconFile the reconciliation file. See implementations of 39 * {@link org.kuali.ole.gl.batch.service.ReconciliationParserService} to determine the format of the data in a file. 40 * @param originEntryGroup the group in which to place the origin entries 41 * @param feederProcessName the name of the process that's invoking this method. 42 * @param reconciliationTableId the name of the reconciliation block to use within the reconciliation file 43 * @param statusAndErrors a class with references to a {@link org.kuali.ole.gl.batch.service.impl.EnterpriseFeederStatus} object and a list 44 * of error messages. Implementations of this method may need to throw an exception to force a transaction rollback, 45 * which means that it can't return a value. This parameter allows the method to output status/error information 46 */ 47 public void feedOnFile(File doneFile, File dataFile, File reconFile, PrintStream enterpriseFeedPs, String feederProcessName, String reconciliationTableId, EnterpriseFeederStatusAndErrorMessagesWrapper statusAndErrors, LedgerSummaryReport ledgerSummaryReport); 48 }