ingo@323: /*
ingo@323: * Copyright (c) 2011 by Intevation GmbH
ingo@323: *
ingo@323: * This program is free software under the LGPL (>=v2.1)
ingo@323: * Read the file LGPL.txt coming with the software for details
ingo@323: * or visit http://www.gnu.org/licenses/ if it does not exist.
ingo@323: */
ingo@323: package de.intevation.artifacts.common.utils;
ingo@323:
ingo@323: import java.util.HashMap;
ingo@323: import java.util.Map;
ingo@323:
ingo@323: import javax.xml.namespace.QName;
ingo@323: import javax.xml.xpath.XPathVariableResolver;
ingo@323:
ingo@323:
ingo@323: /**
ingo@323: * @author Ingo Weinzierl
ingo@323: */
ingo@323: public class MapXPathVariableResolver implements XPathVariableResolver {
ingo@323:
ingo@323: protected Map variables;
ingo@323:
ingo@323:
ingo@323: public MapXPathVariableResolver() {
ingo@323: this.variables = new HashMap();
ingo@323: }
ingo@323:
ingo@323:
ingo@323: public MapXPathVariableResolver(Map variables) {
ingo@323: this.variables = variables;
ingo@323: }
ingo@323:
ingo@323:
ingo@323: public void addVariable(String name, String value) {
ingo@323: if (name != null && value != null) {
ingo@323: variables.put(name, value);
ingo@323: }
ingo@323: }
ingo@323:
ingo@323:
ingo@323: @Override
ingo@323: public Object resolveVariable(QName variableName) {
ingo@323: String key = variableName.getLocalPart();
ingo@323: return variables.get(key);
ingo@323: }
ingo@323: }
ingo@323: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :