public class EvenOddRuleVerifier extends VerifyRuleExecutor {
@Override
protected RuleResult verifyEnrolmentWithRules(ICurricularRule curricularRule, EnrolmentContext enrolmentContext,
DegreeModule degreeModuleToVerify, CourseGroup parentCourseGroup) {
final EvenOddRule evenOddRule = (EvenOddRule) curricularRule;
if (evenOddRule.getCurricularPeriodOrder().equals(enrolmentContext.getExecutionPeriod().getSemester())) {
if (evenOddRule.getEven() && ((enrolmentContext.getRegistration().getStudent().getNumber().intValue() & 1) == 0)
|| !evenOddRule.getEven()
&& ((enrolmentContext.getRegistration().getStudent().getNumber().intValue() & 1) != 0)) {
return RuleResult.createTrue(degreeModuleToVerify);
}
return RuleResult.createFalse(degreeModuleToVerify);