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 :