/**
*
*/
package timeflow.format.field;
import timeflow.model.Display;
public class FormatStringArray extends FieldFormat
{
@Override
public String format(Object o) {
return Display.arrayToString((String[])o);
}
@Override
public Object _parse(String s) {
return parseList(s);
}
public static String[] parseList(String s)
{
String[] t= s.length()==0 ? new String[0] : s.split(",");
for (int i=0; i<t.length; i++)
t[i]=t[i].trim();
return t;
}
public String feedback()
{
if (lastValue==null)
return "Couldn't understand";
String[] s=(String[])lastValue;
if (s.length==0)
return "Empty list";
if (s.length==1)
return "One item";
return s.length+" items";
}
@Override
public Class getType() {
return String[].class;
}
@Override
public double scoreFormatMatch(String s) {
double commas=-1;
for (int i=s.length()-1; i>=0; i--)
if (s.charAt(i)==',')
commas++;
return commas/s.length();
}
@Override
public String getHumanName() {
return "List";
}
}