package org.genedb.query.params; import java.util.ArrayList; import java.util.List; /** * Class, designed to be used as a delegate by a Param, which maintains * a DI-set list of acceptable values for the Param. * * @author art */ public class SimpleListConstraintDelegate implements ListConstraint { private List<String> allowedValues; public void setAllowedValues(List<String> allowedValues) { this.allowedValues = allowedValues; } public List<String> getAllAcceptableValues() { return allowedValues; } public List<String> getAcceptableValues(String partName, boolean mustBePrefix) { List<String> ret = new ArrayList<String>(); for (String test : allowedValues) { int index = test.indexOf(partName); if (index == -1) { continue; } if (mustBePrefix && index != 0) { continue; } ret.add(test); } return ret; } public boolean isValid(String value) { return allowedValues.contains(value); } }