java/alt2xml-out-xpath/src/cz/frantovo/alt2xml/out/xpath/CompoundVariableResolver.java
author František Kučera <franta-hg@frantovo.cz>
Thu, 24 Oct 2019 21:56:03 +0200
changeset 111 e4900596abdb
parent 97 a72d55ff30c9
permissions -rw-r--r--
fix license version: GNU GPLv3
     1 /**
     2  * Alt2XML
     3  * Copyright © 2014 František Kučera (frantovo.cz)
     4  *
     5  * This program is free software: you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation, version 3 of the License.
     8  *
     9  * This program is distributed in the hope that it will be useful,
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    12  * GNU General Public License for more details.
    13  *
    14  * You should have received a copy of the GNU General Public License
    15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
    16  */
    17 package cz.frantovo.alt2xml.out.xpath;
    18 
    19 import javax.xml.namespace.QName;
    20 import javax.xml.xpath.XPathVariableResolver;
    21 
    22 /**
    23  *
    24  * @author Ing. František Kučera (frantovo.cz)
    25  */
    26 public class CompoundVariableResolver implements XPathVariableResolver {
    27 
    28 	private final XPathVariableResolver[] resolvers;
    29 
    30 	public CompoundVariableResolver(XPathVariableResolver... resolvers) {
    31 		this.resolvers = resolvers;
    32 	}
    33 
    34 	@Override
    35 	public Object resolveVariable(QName variableName) {
    36 		for (XPathVariableResolver r : resolvers) {
    37 			Object value = r.resolveVariable(variableName);
    38 			if (value != null) {
    39 				return value;
    40 			}
    41 		}
    42 		return null;
    43 	}
    44 }