1 package org.simantics.selectionview;
\r
3 import java.util.ArrayList;
\r
4 import java.util.Collection;
\r
5 import java.util.Collections;
\r
6 import java.util.HashMap;
\r
7 import java.util.Map;
\r
9 import org.simantics.ui.selection.WorkbenchSelectionElement;
\r
11 final public class StandardSelectionInput implements SelectionInput {
\r
13 private final Collection<WorkbenchSelectionElement> elements;
\r
14 private final Map<String, Object> parameters;
\r
16 public StandardSelectionInput(Collection<WorkbenchSelectionElement> elements, Map<String, Object> parameters) {
\r
17 this.parameters = new HashMap<String, Object>(parameters);
\r
18 this.elements = new ArrayList<WorkbenchSelectionElement>(elements);
\r
21 public StandardSelectionInput(WorkbenchSelectionElement element, Map<String, Object> parameters) {
\r
22 this.parameters = new HashMap<String, Object>(parameters);
\r
23 this.elements = Collections.singletonList(element);
\r
26 public StandardSelectionInput(WorkbenchSelectionElement element) {
\r
27 this.parameters = Collections.emptyMap();
\r
28 this.elements = Collections.singletonList(element);
\r
31 public Collection<WorkbenchSelectionElement> getElements() {
\r
35 public <T> T getParameter(String key) {
\r
36 return (T)parameters.get(key);
\r
40 public int hashCode() {
\r
41 return elements.hashCode() + 31 * parameters.hashCode();
\r
45 public boolean equals(Object object) {
\r
48 else if (object == null)
\r
50 else if (!(object instanceof StandardSelectionInput))
\r
52 StandardSelectionInput ssi = (StandardSelectionInput)object;
\r
53 if(!elements.equals(ssi.elements)) return false;
\r
54 return parameters.equals(ssi.parameters);
\r
58 public String toString() {
\r
59 return "StandardSelectionInput[es=" + elements + ", par=" + parameters + "]";
\r