These handy Java examples create different types of custom Date Periods.
Last5Years.java
import java.util.Calendar; import java.util.List; import com.hof.mi.util.CalendarCommand; import com.hof.mi.interfaces.CustomDatePeriod; public class Last5Years extends CustomDatePeriod { @Override public String getName() { return "Last 5 Years"; } @Override public String getUniqueID() { return "LAST_FIVE_YEARS"; } @Override public FilterUnit getUnit() { return FilterUnit.DAY; } @Override public List<CalendarCommand> getLeftPredicate() { List<CalendarCommand> left = getBeginningOfToday(); left.add(buildCommand(CalendarCommand.CmdType.ADD_AMOUNT, Calendar.YEAR, -5)); return left; } @Override public List<CalendarCommand> getRightPredicate() { List<CalendarCommand> right = getEndOfToday(); return right; } public DatePeriodType getDatePeriodType() { return DatePeriodType.PREDEF_BETWEEN_DATES; } }
SecondMonthOfLastQuarter.java
import java.util.Calendar; import java.util.List; import com.hof.mi.util.CalendarCommand; import com.hof.mi.interfaces.CustomDatePeriod; public class SecondMonthOfLastQuarter extends CustomDatePeriod { @Override public String getName() { return "Second Month of Last Quarter"; } @Override public String getUniqueID() { return "SECOND_MONTH_OF_LAST_QUARTER"; } @Override public FilterUnit getUnit() { return FilterUnit.DAY; } @Override public List<CalendarCommand> getLeftPredicate() { List<CalendarCommand> left = getBeginningOfToday(); left.add(buildCommand(CalendarCommand.CmdType.SET_QUARTER_START, 0)); left.add(buildCommand(CalendarCommand.CmdType.ADD_AMOUNT, Calendar.MONTH, -2)); return left; } @Override public List<CalendarCommand> getRightPredicate() { List<CalendarCommand> right = getEndOfToday(); right.add(buildCommand(CalendarCommand.CmdType.SET_QUARTER_END, 0)); right.add(buildCommand(CalendarCommand.CmdType.ADD_AMOUNT, Calendar.MONTH, -4)); return right; } public DatePeriodType getDatePeriodType() { return DatePeriodType.PREDEF_BETWEEN_DATES; } }