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)
}
}