package org.geowebcache.filter.parameters; import java.util.Collections; import java.util.List; import javax.annotation.Nullable; import com.google.common.collect.Lists; public abstract class CaseNormalizingParameterFilter extends ParameterFilter { private CaseNormalizer normalize; public CaseNormalizingParameterFilter() { super(); } public CaseNormalizingParameterFilter(String key, String defaultValue) { super(key, defaultValue); } public abstract List<String> getValues(); public CaseNormalizingParameterFilter(String key) { super(key); } public CaseNormalizer getNormalize() { if(normalize!=null) { return normalize; } else { return new CaseNormalizer(); } } public void setNormalize(CaseNormalizer normalize) { this.normalize = normalize; } @Override public @Nullable List<String> getLegalValues() { List<String> values = getValues(); if(values == null) { return null; } else { return Lists.transform(values, getNormalize()); } } }