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

Last change on this file since 6258 was 5170, checked in by Don-vip, 12 years ago

cleanup svn:mime-type properties preventing Java sources from being viewed as such on Trac

  • Property svn:eol-style set to native
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.