package com.formulasearchengine.mathosphere.basex.types;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import java.util.ArrayList;
import java.util.List;
/**
* Stores hits in Ntcir format.
* Created by jjl4 on 6/24/15.
*/
@XStreamAlias("hit")
public class Hit {
@XStreamAlias("id")
@XStreamAsAttribute
private final String id;
@XStreamAlias("xref")
@XStreamAsAttribute
private final String filename;
//These are strings so that "" strings are deserialized correctly
@XStreamAlias("score")
@XStreamAsAttribute
private final String score;
@XStreamAlias("rank")
@XStreamAsAttribute
private final String rank;
@XStreamImplicit
private List<Formula> formulae;
public Hit( String id, String filename, Integer score, Integer rank ) {
this.id = id;
this.filename = filename;
this.score = score == null ? "" : String.valueOf( score );
this.rank = rank == null ? "" : String.valueOf( rank );
this.formulae = new ArrayList<>();
}
public void addFormula( Formula formula ) {
formulae.add( formula );
}
public void setFormulae( List<Formula> formulae ) {
this.formulae = new ArrayList<>( formulae );
}
public List<Formula> getFormulae() {
return new ArrayList<>( formulae );
}
}