package edu.ualberta.med.biobank.common.util; public class DateRangeRowPostProcess extends AbstractRowPostProcess { private static final long serialVersionUID = 1L; private boolean groupByYear; private int initialYearPosition; public DateRangeRowPostProcess(boolean groupByYear, int initialYearPosition) { this.groupByYear = groupByYear; this.initialYearPosition = initialYearPosition; } @Override public Object rowPostProcess(Object object) { if (object != null) { Object[] castOb = (Object[]) object; Object[] rowObject = new Object[castOb.length - 1]; if (groupByYear) { rowObject[initialYearPosition] = castOb[initialYearPosition]; } else { rowObject[initialYearPosition] = castOb[initialYearPosition + 1] + "-" + castOb[initialYearPosition]; //$NON-NLS-1$ } for (int i = 0; i < castOb.length; i++) { if (i < initialYearPosition) { rowObject[i] = castOb[i]; } else if (i > initialYearPosition + 1) { rowObject[i - 1] = castOb[i]; } } return rowObject; } return null; } }