/** * Returns periods for the last 6 months based on the given period types. * * @param periodTypes a set of period type represented as names. * @return a list of periods. */ public List<Period> getLast12Months( Set<String> periodTypes ) { List<Period> periods = new ArrayList<>(); Date date = new Date(); periods.addAll( periodTypes.contains( DailyPeriodType.NAME ) ? new DailyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( WeeklyPeriodType.NAME ) ? new WeeklyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( BiWeeklyPeriodType.NAME ) ? new BiWeeklyPeriodType().generateRollingPeriods( date ) : NO); periods.addAll( periodTypes.contains( MonthlyPeriodType.NAME ) ? new MonthlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( BiMonthlyPeriodType.NAME ) ? new BiMonthlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( QuarterlyPeriodType.NAME ) ? new QuarterlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( SixMonthlyPeriodType.NAME ) ? new SixMonthlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( YearlyPeriodType.NAME ) ? new YearlyPeriodType().generateRollingPeriods( date ).subList( 4, 5 ) : NO ); periods.addAll( periodTypes.contains( FinancialOctoberPeriodType.NAME ) ? new FinancialOctoberPeriodType().generateRollingPeriods( date ).subList( 4, 5 ) : NO ); return periods; }
break; case 9: periodType = new FinancialOctoberPeriodType(); break; default:
add( new FinancialAprilPeriodType() ); add( new FinancialJulyPeriodType() ); add( new FinancialOctoberPeriodType() ); add( new FinancialNovemberPeriodType() );