]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/commands/CommandSessionImportEntry.java
Merge "Remove unused import in DeleteHandler"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / commands / CommandSessionImportEntry.java
1 package org.simantics.scl.compiler.commands;\r
2 \r
3 import java.util.Collection;\r
4 \r
5 public class CommandSessionImportEntry implements Comparable<CommandSessionImportEntry> {\r
6     public String moduleName;\r
7     public String localName;\r
8     \r
9     public boolean persistent;\r
10     public boolean hasError;\r
11     public boolean disabled;\r
12     \r
13     public CommandSessionImportEntry(String moduleName, String localName,\r
14             boolean persistent) {\r
15         this.moduleName = moduleName;\r
16         this.localName = localName;\r
17         this.persistent = persistent;\r
18     }\r
19 \r
20     public CommandSessionImportEntry(String moduleName, String localName) {\r
21         this.moduleName = moduleName;\r
22         this.localName = localName;\r
23     }\r
24 \r
25     public CommandSessionImportEntry(String moduleName) {\r
26         this(moduleName, "");\r
27     }\r
28     \r
29     public void addTo(Collection<CommandSessionImportEntry> entries) {\r
30         for(CommandSessionImportEntry entry : entries)\r
31             if(entry.moduleName.equals(moduleName) && entry.localName.equals(localName)) {\r
32                 entry.persistent |= persistent;\r
33                 entry.disabled &= disabled;\r
34                 return;\r
35             }\r
36         entries.add(this);\r
37     }\r
38 \r
39     @Override\r
40     public int compareTo(CommandSessionImportEntry o) {\r
41         int cmp = moduleName.compareTo(o.moduleName);\r
42         if(cmp != 0)\r
43             return cmp;\r
44         return localName.compareTo(o.localName);\r
45     }\r
46 \r
47     public String getStatusString() {\r
48         StringBuilder b = new StringBuilder();\r
49         boolean first = true;\r
50         if(persistent) {\r
51             first = false;\r
52             b.append("persistent");\r
53         }\r
54         if(disabled) {\r
55             if(first)\r
56                 first = false;\r
57             else\r
58                 b.append(", ");\r
59             b.append("disabled");\r
60         }\r
61         if(hasError) {\r
62             if(first)\r
63                 first = false;\r
64             else\r
65                 b.append(", ");\r
66             b.append("has errors");\r
67         }\r
68         return b.toString();\r
69     }\r
70 }\r