package com.kenai.redminenb.util; import java.text.FieldPosition; import java.text.Format; import java.text.ParsePosition; public class NullOrIntegerFormat extends Format { @Override public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) { if(obj != null) { if(obj instanceof Number) { toAppendTo.append(((Number) obj).intValue()); } else { throw new IllegalArgumentException("Only integers are understood"); } } return toAppendTo; } @Override public Object parseObject(String source, ParsePosition pos) { if(source.trim().isEmpty()) { pos.setIndex(1); return null; } else { try { int result = Integer.parseInt(source); pos.setIndex(source.length()); return result; } catch (NumberFormatException ex) { return null; } } } }