/*
* Copyright (c) 2016 OBiBa. All rights reserved.
*
* This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.obiba.core.translator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PrefixedValueTranslator implements Translator {
private static final Pattern pattern = Pattern.compile("t\\(([^\\)]+)\\)");
private Translator translator;
public PrefixedValueTranslator(Translator translator) {
this.translator = translator;
}
@Override
public String translate(String prefixedValueToTranslate) {
Matcher matcher = pattern.matcher(prefixedValueToTranslate);
while (matcher.find()) {
String word = matcher.group(1);
String translatedWord = translator.translate(word);
prefixedValueToTranslate = prefixedValueToTranslate.replace("t(" + word + ")", translatedWord);
}
return prefixedValueToTranslate;
}
}