package experiments.table.limaye; import java.util.LinkedList; import java.util.List; import DisambiguationApproachDPO.DisambiguatedEntity; /** * Responsible class for representing table data in algorithm * * @author Stefan Zwicklbauer * */ public class Table { private List<Column> columnList; private String name; public Table() { super(); this.columnList = new LinkedList<Table.Column>(); } public Column addColumn(String columnHeader) { Column c = new Column(columnHeader); this.columnList.add(c); return c; } public Column getColumn(int columnNr) { try { return this.columnList.get(columnNr); } catch (IndexOutOfBoundsException e) { return null; } } public int getNumberofColumns() { return columnList.size(); } public void setName(String name) { this.name = name; } public String getName() { return name; } public class Column { private String header; private List<Cell> cellList; private List<String> majorTypes; public Column(String header) { super(); this.header = header; this.cellList = new LinkedList<Table.Column.Cell>(); } public void addCell(String content) { cellList.add(new Cell(content)); } public void addCellGroundTruth(String gt, int cellNr) { cellList.get(cellNr).setGt(gt); } public String getHeader() { return this.header; } public List<Cell> getCellList() { return this.cellList; } public List<String> getMajorTypes() { return majorTypes; } public void setMajorTypes(List<String> majorTypes) { this.majorTypes = majorTypes; } public void setCellList(List<Cell> c ) { this.cellList = c; } public class Cell implements Comparable<Cell> { private String cellContent; private String gt; private String disambiguatedContent; private String disambigutedContentString; private List<DisambiguatedEntity> disEntities; public Cell(String content) { super(); this.cellContent = content; this.disambiguatedContent = ""; this.gt = ""; } public String getCellContent() { return cellContent; } public String getGt() { return gt; } public void setGt(String gt) { this.gt = gt; } public String getDisambiguatedContent() { return disambiguatedContent; } public void setDisambiguatedContent(String c) { this.disambiguatedContent = c; } public void setDisambigutedEntities(List<DisambiguatedEntity> e) { this.disEntities = e; } public List<DisambiguatedEntity> getDisambiguatedEntities() { return this.disEntities; } public String getDisambigutedContentString() { return disambigutedContentString; } public void setDisambigutedContentString(String disambigutedContentString) { this.disambigutedContentString = disambigutedContentString; } @Override public int compareTo(Cell o) { if (o.getCellContent().equals(this.cellContent) && o.getGt().equals(this.gt) && o.getDisambiguatedContent().equals( this.disambiguatedContent)) { return 0; } else { return 1; } } } } }