001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.gl.batch.service;
017    
018    
019    /**
020     * The enterprise feeder is a component that feeds in origin entries from an external data source
021     */
022    public interface EnterpriseFeederService {
023        public static final String DONE_FILE_SUFFIX = ".done";
024        public static final String DATA_FILE_SUFFIX = ".data";
025        public static final String RECON_FILE_SUFFIX = ".recon";
026    
027        /**
028         * This method does the feeding
029         * 
030         * @param processName this merely identifies the process executing the feed. It will be used to build any error messages, but
031         *        computationally it should be ignored.
032         * @param performNotifications whether notifications should be sent out
033         */
034        public void feed(String processName, boolean performNotifications);
035    
036        /**
037         * Returns the directory name from which files are loaded.
038         * @return the staging directory name
039         */
040        public String getDirectoryName();
041    }