source: josm/trunk/src/org/openstreetmap/josm/actions/ActionParameter.java@ 3704

Last change on this file since 3704 was 3175, checked in by jttt, 14 years ago

Allow to set parameters for actions on toolbar. Used by SearchAction to set searching expression (see #4546)

  • Property svn:mime-type set to text/plain
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions;
3
4import org.openstreetmap.josm.actions.search.SearchAction.SearchSetting;
5
6public abstract class ActionParameter<T> {
7
8 private final String name;
9
10 public ActionParameter(String name) {
11 this.name = name;
12 }
13
14 public String getName() {
15 return name;
16 }
17
18 public abstract Class<T> getType();
19
20 public abstract String writeToString(T value);
21
22 public abstract T readFromString(String s);
23
24 public static class StringActionParameter extends ActionParameter<String> {
25
26 public StringActionParameter(String name) {
27 super(name);
28 }
29
30 @Override
31 public Class<String> getType() {
32 return String.class;
33 }
34
35 @Override
36 public String readFromString(String s) {
37 return s;
38 }
39
40 @Override
41 public String writeToString(String value) {
42 return value;
43 }
44
45 }
46
47 public static class SearchSettingsActionParameter extends ActionParameter<SearchSetting> {
48
49 public SearchSettingsActionParameter(String name) {
50 super(name);
51 }
52
53 @Override
54 public Class<SearchSetting> getType() {
55 return SearchSetting.class;
56 }
57
58 @Override
59 public SearchSetting readFromString(String s) {
60 SearchSetting result = SearchSetting.readFromString(s);
61 return result;
62 }
63
64 @Override
65 public String writeToString(SearchSetting value) {
66 if (value == null)
67 return "";
68 return value.writeToString();
69 }
70
71 }
72}
Note: See TracBrowser for help on using the repository browser.