Last change
on this file since 4282 was 4282, checked in by jttt, 13 years ago |
Allow to specify custom pattern for marker text labels
|
File size:
1.3 KB
|
Line | |
---|
1 | // License: GPL. For details, see LICENSE file.
|
---|
2 | package org.openstreetmap.josm.tools.template_engine;
|
---|
3 |
|
---|
4 | import java.util.List;
|
---|
5 |
|
---|
6 |
|
---|
7 | public class Variable implements TemplateEntry {
|
---|
8 |
|
---|
9 | private final String variableName;
|
---|
10 |
|
---|
11 | public Variable(String variableName) {
|
---|
12 | this.variableName = variableName;
|
---|
13 | }
|
---|
14 |
|
---|
15 | @Override
|
---|
16 | public void appendText(StringBuilder result, TemplateEngineDataProvider dataProvider) {
|
---|
17 | if ("*".equals(variableName)) {
|
---|
18 | List<String> keys = dataProvider.getTemplateKeys();
|
---|
19 | boolean first = true;
|
---|
20 | for (String key: keys) {
|
---|
21 | if (!first) {
|
---|
22 | result.append(", ");
|
---|
23 | } else {
|
---|
24 | first = false;
|
---|
25 | }
|
---|
26 | result.append(key).append("=").append(dataProvider.getTemplateValue(key));
|
---|
27 | }
|
---|
28 | } else {
|
---|
29 | Object value = dataProvider.getTemplateValue(variableName);
|
---|
30 | if (value != null) {
|
---|
31 | result.append(value);
|
---|
32 | }
|
---|
33 | }
|
---|
34 | }
|
---|
35 |
|
---|
36 | @Override
|
---|
37 | public boolean isValid(TemplateEngineDataProvider dataProvider) {
|
---|
38 | if ("*".equals(variableName))
|
---|
39 | return true;
|
---|
40 | else
|
---|
41 | return dataProvider.getTemplateValue(variableName) != null;
|
---|
42 | }
|
---|
43 |
|
---|
44 | @Override
|
---|
45 | public String toString() {
|
---|
46 | return "{" + variableName + "}";
|
---|
47 | }
|
---|
48 |
|
---|
49 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.