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 weka.classifiers.rules.sortinghandler.Comparator ;
import weka.classifiers.rules.sortinghandler.ComparatorParameterErrorException ;
public class MyRecordComparator implements Comparator
{
public boolean relation(Object a, Object b)
{
if (! (a instanceof MyRecord))
{
throw new ComparatorParameterErrorException
("RecordComparator parameter 1") ;
}
if (! (b instanceof MyRecord))
{
throw new ComparatorParameterErrorException
("RecordComparator parameter 2") ;
}
return execute((MyRecord)a, (MyRecord)b) ;
}
public static boolean execute(MyRecord a, MyRecord b)
{
boolean value = false;
// here I handle record comparation
if (a.confidence < b.confidence)
value = false; // b precedes a
else
{
if (a.confidence == b.confidence)
{
if (a.support < b.support)
value = false; // b precedes a
else
{
if (a.support == b.support)
{
if (a.length < b.length)
value = false; // b precedes a
else
{
if (a.length == b.length)
{
}
else
{
value = true; // a precedes b
}
}
}
else
{
value = true; // a precedes b
}
}
}
else
{
value = true; // a precedes b
}
}
return value;
}
}