class DependentUtils {

    public static List<DateInterval> getDateIntervalList(Date businessDate, String dateValue) {
        List<DateInterval> result = new ArrayList<>();
        switch (dateValue) {
            case "currentHour":
                result = DependentDateUtils.getLastHoursInterval(businessDate, 0);
                break;
            case "last1Hour":
                result = DependentDateUtils.getLastHoursInterval(businessDate, 1);
                break;
            case "last2Hours":
                result = DependentDateUtils.getLastHoursInterval(businessDate, 2);
                break;
            case "last3Hours":
                result = DependentDateUtils.getLastHoursInterval(businessDate, 3);
                break;
            case "last24Hours":
                result = DependentDateUtils.getSpecialLastDayInterval(businessDate);
                break;
            case "today":
                result = DependentDateUtils.getTodayInterval(businessDate);
                break;
            case "last1Days":
                result = DependentDateUtils.getLastDayInterval(businessDate, 1);
                break;
            case "last2Days":
                result = DependentDateUtils.getLastDayInterval(businessDate, 2);
                break;
            case "last3Days":
                result = DependentDateUtils.getLastDayInterval(businessDate, 3);
                break;
            case "last7Days":
                result = DependentDateUtils.getLastDayInterval(businessDate, 7);
                break;
            case "thisWeek":
                result = DependentDateUtils.getThisWeekInterval(businessDate);
                break;
            case "lastWeek":
                result = DependentDateUtils.getLastWeekInterval(businessDate);
                break;
            case "lastMonday":
                result = DependentDateUtils.getLastWeekOneDayInterval(businessDate, 1);
                break;
            case "lastTuesday":
                result = DependentDateUtils.getLastWeekOneDayInterval(businessDate, 2);
                break;
            case "lastWednesday":
                result = DependentDateUtils.getLastWeekOneDayInterval(businessDate, 3);
                break;
            case "lastThursday":
                result = DependentDateUtils.getLastWeekOneDayInterval(businessDate, 4);
                break;
            case "lastFriday":
                result = DependentDateUtils.getLastWeekOneDayInterval(businessDate, 5);
                break;
            case "lastSaturday":
                result = DependentDateUtils.getLastWeekOneDayInterval(businessDate, 6);
                break;
            case "lastSunday":
                result = DependentDateUtils.getLastWeekOneDayInterval(businessDate, 7);
                break;
            case "thisMonth":
                result = DependentDateUtils.getThisMonthInterval(businessDate);
                break;
            case "lastMonth":
                result = DependentDateUtils.getLastMonthInterval(businessDate);
                break;
            case "lastMonthBegin":
                result = DependentDateUtils.getLastMonthBeginInterval(businessDate, true);
                break;
            case "lastMonthEnd":
                result = DependentDateUtils.getLastMonthBeginInterval(businessDate, false);
                break;
            default:
                break;
        }
        return result;
    }

    private  DependentUtils();

}