package uk.co.acuminous.julez.mapper; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; import java.util.regex.Pattern; public class PatternMapper implements OneWayMapper { Map<Pattern, String> map; public PatternMapper(Map<String, String> map) { this.map = new LinkedHashMap<Pattern, String>(); for (Map.Entry<String, String> entry : map.entrySet()) { this.map.put(Pattern.compile(entry.getKey()), entry.getValue()); } } @Override public String getValue(String key) { for (Pattern pattern : map.keySet()) { if (pattern.matcher(key).matches()) { return map.get(pattern); } } return null; } @Override public Collection<String> getValues() { return map.values(); } }