source: josm/trunk/src/org/openstreetmap/josm/actions/ParameterizedActionDecorator.java@ 8231

Last change on this file since 8231 was 7005, checked in by Don-vip, 10 years ago

see #8465 - use diamond operator where applicable

  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions;
3
4import java.awt.event.ActionEvent;
5import java.beans.PropertyChangeListener;
6import java.util.HashMap;
7import java.util.Map;
8
9import javax.swing.Action;
10
11public class ParameterizedActionDecorator implements Action {
12
13 private final ParameterizedAction action;
14 private final Map<String, Object> parameters;
15
16 public ParameterizedActionDecorator(ParameterizedAction action, Map<String, Object> parameters) {
17 this.action = action;
18 this.parameters = new HashMap<>(parameters);
19 }
20
21 @Override
22 public void addPropertyChangeListener(PropertyChangeListener listener) {
23 action.addPropertyChangeListener(listener);
24 }
25 @Override
26 public Object getValue(String key) {
27 return action.getValue(key);
28 }
29 @Override
30 public boolean isEnabled() {
31 return action.isEnabled();
32 }
33 @Override
34 public void putValue(String key, Object value) {
35 action.putValue(key, value);
36 }
37 @Override
38 public void removePropertyChangeListener(PropertyChangeListener listener) {
39 action.removePropertyChangeListener(listener);
40 }
41 @Override
42 public void setEnabled(boolean b) {
43 action.setEnabled(b);
44 }
45 @Override
46 public void actionPerformed(ActionEvent e) {
47 action.actionPerformed(e, parameters);
48 }
49
50 public Map<String, Object> getParameters() {
51 return parameters;
52 }
53
54}
Note: See TracBrowser for help on using the repository browser.