View Javadoc
1   package org.kuali.ole.sys.batch;
2   
3   import java.util.List;
4   
5   /**
6    * Contract of methods required by the flat file parser to track the parent/child tree while parsing
7    */
8   public interface FlatFileParseTracker {
9   	/**
10  	 * Initializes a new FlatFileParseTracker
11  	 * @param flatFileSpecification the FlatFileSpecificationBase instance which will determine which object should be instantiated for a given line
12  	 * @param specifications the specifications for all objects that will be parsed into, to build a parent/child map out of
13  	 */
14  	public void initialize(FlatFileSpecification flatFileClassIdentifier);
15  	
16  	/**
17  	 * Determines which class should be parsed into and returns an instance of that
18  	 * @param lineToParse the line which is going to be parsed
19  	 * @return the object to parse into
20  	 */
21  	public abstract Object getObjectToParseInto(String lineToParse);
22  	
23  	/**
24  	 * Called when a line has completed parsing. Throws an exception if a proper parent 
25  	 * is not found for the line being parsed
26  	 */
27  	public abstract void completeLineParse();
28  	
29  	/**
30  	 * @return the List of parsed parent objects
31  	 */
32  	public abstract List<Object> getParsedObjects();
33  }