1 package org.opentrafficsim.editor;
2
3 /**
4 * Wraps a scenario node as an item in the dropdown menu.
5 * <p>
6 * Copyright (c) 2023-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
7 * BSD-style license. See <a href="https://opentrafficsim.org/docs/license.html">OpenTrafficSim License</a>.
8 * </p>
9 * @author <a href="https://github.com/wjschakel">Wouter Schakel</a>
10 */
11 public class ScenarioWrapper
12 {
13
14 /** Scenario node. */
15 private final XsdTreeNode scenarioNode;
16
17 /**
18 * Constructor.
19 * @param scenarioNode XsdTreeNode; node of the scenario.
20 */
21 public ScenarioWrapper(final XsdTreeNode scenarioNode)
22 {
23 this.scenarioNode = scenarioNode;
24 }
25
26 /**
27 * Returns whether this wraps the given node.
28 * @param node XsdTreeNode; node.
29 * @return boolean; whether this wraps the given node.
30 */
31 public boolean isScenario(final XsdTreeNode node)
32 {
33 return node.equals(this.scenarioNode);
34 }
35
36 /**
37 * Returns the scenario node.
38 * @return XsdTreeNode; scenario node.
39 */
40 public XsdTreeNode getScenarioNode()
41 {
42 return this.scenarioNode;
43 }
44
45 /** {@inheritDoc} */
46 @Override
47 public String toString()
48 {
49 if (this.scenarioNode == null)
50 {
51 return "(Default)";
52 }
53 String id = this.scenarioNode.getId();
54 return id == null ? "(no id)" : id;
55 }
56
57 }