package org.mifos.clientportfolio.loan.service;
public class MonthlyOnWeekOfMonthSchedule implements RecurringSchedule {
private final Integer recursEvery;
private final Integer weekOfMonth;
private final Integer dayOfWeek;
public MonthlyOnWeekOfMonthSchedule(Integer recursEvery, Integer weekOfMonth, Integer dayOfWeek) {
this.recursEvery = recursEvery;
this.weekOfMonth = weekOfMonth;
this.dayOfWeek = dayOfWeek;
}
@Override
public boolean isWeekly() {
return false;
}
@Override
public boolean isMonthly() {
return true;
}
@Override
public boolean isMonthlyOnDayOfMonth() {
return false;
}
@Override
public boolean isMonthlyOnWeekAndDayOfMonth() {
return true;
}
@Override
public Integer getEvery() {
return this.recursEvery;
}
@Override
public Integer getDay() {
return this.dayOfWeek;
}
@Override
public Integer getWeek() {
return this.weekOfMonth;
}
@Override
public boolean isDaily() {
return false;
}
}