Mercurial > dive4elements > framework
annotate artifacts-common/src/main/java/de/intevation/artifacts/common/utils/MapXPathVariableResolver.java @ 453:a2efc9d65a11 2.9.8
Doc.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 28 Dec 2012 13:32:32 +0100 |
parents | 1d3607ceb9fa |
children |
rev | line source |
---|---|
323
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 /* |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 * Copyright (c) 2011 by Intevation GmbH |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 * |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 * This program is free software under the LGPL (>=v2.1) |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 * Read the file LGPL.txt coming with the software for details |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 * or visit http://www.gnu.org/licenses/ if it does not exist. |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 */ |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 package de.intevation.artifacts.common.utils; |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import java.util.HashMap; |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import java.util.Map; |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import javax.xml.namespace.QName; |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import javax.xml.xpath.XPathVariableResolver; |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 /** |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 */ |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 public class MapXPathVariableResolver implements XPathVariableResolver { |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 protected Map<String, String> variables; |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 public MapXPathVariableResolver() { |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 this.variables = new HashMap<String, String>(); |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 } |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 public MapXPathVariableResolver(Map<String, String> variables) { |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 this.variables = variables; |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 } |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 public void addVariable(String name, String value) { |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 if (name != null && value != null) { |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 variables.put(name, value); |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 } |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 } |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 @Override |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 public Object resolveVariable(QName variableName) { |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 String key = variableName.getLocalPart(); |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 return variables.get(key); |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 } |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 } |
1d3607ceb9fa
Improved the XMLUtils to support xpath expressions that contain variables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |