package gw.rating.rtm.domain.migration uses java.util.ArrayList uses java.util.Collections uses java.util.List /** * Base class for validating entities being imported as part of a * RateBook migration. */ abstract class BeanImportValidator { protected var _validationErrors : List protected var _validationWarnings : List construct() { _validationErrors = new ArrayList() _validationWarnings = new ArrayList() } abstract function valid(bean : T) : boolean /** * Clear the validation error list */ function clear() { _validationErrors.clear() _validationWarnings.clear() } /** * Add a validation error */ function addError(error : String) { _validationErrors.add(error) } function addWarning(warning : String) { _validationWarnings.add(warning) } /** * Return the list of validation error messages */ property get ValidationErrors() : List { return Collections.unmodifiableList(_validationErrors) } property get ValidationWarnings() : List { return Collections.unmodifiableList(_validationWarnings) } }