package gw.rating.rtm.valueprovider uses gw.rating.rtm.domain.PersistenceAdapter /** * An extension of {@link gw.rating.rtm.valueprovider.CoverageValueProvider CoverageValueProvider} * that returns coverages that have no terms in PC product model. */ class TermlessCoverageValueProvider extends CoverageValueProvider { construct(column : RateTableColumn) { super(column) } /** * @see gw.rating.rtm.valueprovider.CoverageValueProvider#getValues(KeyableBean) */ override function getValues(adapter : PersistenceAdapter) : String[] { if (_cache.Empty) { PolicyLinePattern.CoverageCategories .orderBy(\ category -> category.Priority).thenBy(\ category -> category.Name) .each(\ covCategory -> { var categoryName = covCategory.Name covCategory.CoveragePatterns .where(\ cov -> cov.CovTerms.Empty) .orderBy(\ cov -> cov.Priority).thenBy(\ cov -> cov.Name) .each(\ cov -> { _cache.put(cov.PublicID, "${categoryName} - ${cov.Name}") }) }) } return _cache.Keys.toTypedArray() } }