package gw.rating.rtm uses gw.validation.PCValidationResult uses gw.validation.PCValidationContext class RateBookUIValidator { private var _lastValidationResult : PCValidationResult as LastResult function validateBookForUI(rateBook : RateBook, status : RateBookStatus, checkForStateChange : boolean) { var context = validate(rateBook, status, checkForStateChange) var result = context.Result if (result.hasErrors() or result.hasNewWarnings(_lastValidationResult)) { _lastValidationResult = result context.raiseExceptionIfProblemsFound() } // validation passed, so clear any previous failures _lastValidationResult = null } private function validate(book : RateBook, status : RateBookStatus, checkForStateChange : boolean) : PCValidationContext { var ctx = new PCValidationContext(TC_DEFAULT) var validator = new RateBookValidation(ctx, book, status, checkForStateChange) validator.validate() return ctx } }