package ca.pfv.spmf.algorithms.sequentialpatterns.BIDE_and_prefixspan;
import java.util.List;
public class Candidate implements Comparable<Candidate>{
SequentialPattern prefix;
List<PseudoSequence> databaseBeforeProjection;
Integer item;
Boolean isPostfix;
public Candidate(SequentialPattern prefix, List<PseudoSequence> databaseBeforeProjection,
Integer item, Boolean isPostfix) {
this.prefix = prefix;
this.databaseBeforeProjection = databaseBeforeProjection;
this.item = item;
this.isPostfix = isPostfix;
}
public int compareTo(Candidate o) {
if(o == this){
return 0;
}
int compare = this.prefix.getAbsoluteSupport() - o.prefix.getAbsoluteSupport();
if(compare !=0){
return compare;
}
compare = this.hashCode() - o.hashCode();
if(compare !=0){
return compare;
}
compare = this.item - o.item;
if(compare !=0){
return compare;
}
return prefix.size() - prefix.size();
}
}