package weka.classifiers.rules.sortinghandler;
/**
* This code is from the book:
*
* Winder, R and Roberts, G (1998) <em>Developing Java
* Software</em>, John Wiley & Sons.
*
* It is copyright (c) 1997 Russel Winder and Graham Roberts.
*/
import java.io.File ;
import java.io.IOException ;
/**
* An interface defining a factory object encapsulating
* <code>Record</code> management information. Necessary for using
* any <code>FileSort</code> classes.
*
* <p>When dealing with files, there have to be records. This
* interface defines that which needs to be known in order to use any
* <code>FileSort</code> function objects. The user must supply a
* <code>RecordInformation</code> conformant object in order to
* provide all the tools needed for those <code>FileSort</code>s to
* work.
*
* @see FileSort
* @see Record
* @see RecordReader
* @see RecordWriter
* @version 1.0 19.5.97
* @author Russel Winder
*/
public interface RecordInformation
{
/**
* We must be able to get a <code>Comparator</code> so that we
* can test the order of records. Usually this will be an
* ordering defined by some key in the record.
*/
Comparator getComparator() ;
/**
* We must be able to get a <code>BufferedReader</code> so that
* we can read records from a file.
*/
RecordReader newRecordReader(File f) throws IOException ;
/**
* We must be able to get a <code>BufferedWriter</code> so that
* we can write records to a file.
*/
RecordWriter newRecordWriter(File f) throws IOException ;
}