
es.urjc.etsii.grafo.io.serializers.excel.RawSheetCol Maven / Gradle / Ivy
package es.urjc.etsii.grafo.io.serializers.excel;
import static org.apache.poi.ss.util.CellReference.convertNumToColString;
/**
* Column types in raw sheet
*/
public enum RawSheetCol {
/**
* Instance name
*/
INSTANCE_NAME(0, "Instance Name", RawSheetWriter.CType.VALUE),
/**
* Algorithm name
*/
ALG_NAME(1, "Algorithm Name", RawSheetWriter.CType.VALUE),
/**
* Iteration
*/
ITERATION(2, "Iteration", RawSheetWriter.CType.VALUE),
/**
* Score
*/
SCORE(3, "Score", RawSheetWriter.CType.VALUE),
/**
* Total time in seconds
*/
TOTAL_TIME(4, "Total Time (s)", RawSheetWriter.CType.VALUE),
/**
* Time to best in seconds
*/
TTB(5, "Time to Best (s)", RawSheetWriter.CType.VALUE),
/**
* True if score is best known for instance
*/
IS_BEST_KNOWN(6, "Is Best Known?", RawSheetWriter.CType.FORMULA),
/**
* %Dev to best value. Should be 0 if is best known.
*/
DEV_TO_BEST(7, "% Dev. to best known", RawSheetWriter.CType.FORMULA),
/**
* Best known value for instance name in same row
*/
BEST_KNOWN_FOR_INSTANCE(8, "Best value known", RawSheetWriter.CType.ARRAY_FORMULA);
private final int index;
private final String name;
private final RawSheetWriter.CType type;
/**
* Fields for RawSheetCol
* @param index column index
* @param name column name
* @param type column type hint
*/
RawSheetCol(int index, String name, RawSheetWriter.CType type) {
this.index = index;
this.name = name;
this.type = type;
}
/**
* Get column index for ordering
*
* @return column index as int
*/
public int getIndex() {
return index;
}
/**
* Get column index as Excel letters
*
* @return column index as string (i.e AB)
*/
public String getExcelColIndex(){
return convertNumToColString(this.getIndex());
}
/**
* Get column name
*
* @return column name
*/
public String getName() {
return name;
}
/**
* Get column type hint
*
* @return column type hint
*/
public RawSheetWriter.CType getCType(){
return type;
}
/**
* Get enum value for a given column index
*
* @param index index to search
* @return enum value for given index
*/
public static RawSheetWriter.CType getCTypeForIndex(int index){
var values = RawSheetCol.values();
if(index >= values.length){
return RawSheetWriter.CType.VALUE;
}
for(var i: values){
if(i.getIndex() == index){
return i.getCType();
}
}
throw new IllegalArgumentException(String.format("Invalid index: %s, not declared", index));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy