Cleanup; Cleared warnings in the logic core
[Mograsim.git] / net.mograsim.logic.core / src / net / mograsim / logic / core / types / BitVectorFormatter.java
1 package net.mograsim.logic.core.types;\r
2 \r
3 import net.mograsim.logic.core.types.ColorDefinition.BuiltInColor;\r
4 import net.mograsim.logic.core.wires.Wire.ReadEnd;\r
5 \r
6 public class BitVectorFormatter\r
7 {\r
8         public static String formatValueAsString(ReadEnd end)\r
9         {\r
10                 return formatAsString(end == null ? null : end.getValues());\r
11         }\r
12 \r
13         public static String formatAsString(BitVector bitVector)\r
14         {\r
15                 if (bitVector == null)\r
16                         return "null";\r
17                 return bitVector.toString();\r
18         }\r
19 \r
20         public static ColorDefinition formatAsColor(ReadEnd end)\r
21         {\r
22                 return formatAsColor(end == null ? null : end.getValues());\r
23         }\r
24 \r
25         public static ColorDefinition formatAsColor(BitVector bitVector)\r
26         {\r
27                 // TODO maybe find a color assignment for multiple-bit bit vectors?\r
28                 if (bitVector == null || bitVector.length() != 1)\r
29                         return new ColorDefinition(BuiltInColor.COLOR_BLACK);\r
30                 switch (bitVector.getBit(0))\r
31                 {\r
32                 case ONE:\r
33                         return new ColorDefinition(BuiltInColor.COLOR_GREEN);\r
34                 case U:\r
35                         return new ColorDefinition(BuiltInColor.COLOR_CYAN);\r
36                 case X:\r
37                         return new ColorDefinition(BuiltInColor.COLOR_RED);\r
38                 case Z:\r
39                         return new ColorDefinition(BuiltInColor.COLOR_YELLOW);\r
40                 case ZERO:\r
41                         return new ColorDefinition(BuiltInColor.COLOR_GRAY);\r
42                 default:\r
43                         throw new IllegalArgumentException("Unknown enum constant: " + bitVector.getBit(0));\r
44                 }\r
45         }\r
46 \r
47         private BitVectorFormatter()\r
48         {\r
49                 throw new UnsupportedOperationException("No BitVectorFormatter instances");\r
50         }\r
51 }