Like what you see? Have a play with our trial version.

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;
}

}
  • No labels