package gw.job.cancellation uses gw.api.locale.DisplayKey uses gw.job.NoopJobProcessValidator uses gw.api.job.JobStateException uses gw.api.extension.ExtensionInterfaces class CancellationProcessValidator extends NoopJobProcessValidator { override function validateCancellationDateNotTooSoon(period : PolicyPeriod, cancellation : Cancellation) { var earliestAllowedCancellationDate = ExtensionInterfaces.ICancellationExtensions.getEarliestEffectiveDate(cancellation, period, period.RefundCalcMethod) if( period.EditEffectiveDate.before(earliestAllowedCancellationDate)) { throw new JobStateException( DisplayKey.get("Web.Job.Warning.CancellationTooSoon", period.EditEffectiveDate.ShortFormat, earliestAllowedCancellationDate.ShortFormat)) } } }