1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.magicproject.token;
20
21 import java.io.IOException;
22 import java.io.InputStream;
23 import java.io.OutputStream;
24
25 /***
26 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
27 * @since 0.93
28 */
29 public enum TrueFalseAuto {
30
31 /***
32 *
33 */
34 TRUE("true"),
35
36 /***
37 *
38 */
39 FALSE("false"),
40
41 /***
42 *
43 */
44 AUTO("auto");
45
46 private final String xsdName;
47
48 private TrueFalseAuto(String xsdName) {
49 this.xsdName = xsdName;
50 }
51
52 /***
53 * Return null of enum value corresponding to the given Xsd name.
54 *
55 * @param xsdName
56 * the Xsd name of this Aabstract value.
57 * @return null of enum value corresponding to the given Xsd name.
58 */
59 public static TrueFalseAuto valueOfXsd(String xsdName) {
60 if (xsdName == null)
61 return AUTO;
62 for (TrueFalseAuto value : values()) {
63 if (value.xsdName.equals(xsdName)) {
64 return value;
65 }
66 }
67 return null;
68 }
69
70 /***
71 * Write this enum to the given outputstream.
72 *
73 * @param out
74 * the stream ths enum would be written.
75 * @throws IOException
76 * If some other I/O error occurs
77 */
78 public void serialize(OutputStream out) throws IOException {
79 out.write(ordinal());
80 }
81
82 /***
83 * Read and return the enum from the given inputstream.
84 *
85 * @param input
86 * the stream containing the enum to read.
87 * @return the enum from the given inputstream.
88 * @throws IOException
89 * If some other I/O error occurs
90 */
91 public static TrueFalseAuto deserialize(InputStream input) throws IOException {
92 return values()[input.read()];
93 }
94
95 /***
96 * The associated boolean value.
97 *
98 * @return the associated boolean value.
99 */
100 public boolean getValue() {
101 switch (this) {
102 case TRUE:
103 return true;
104 case FALSE:
105 return false;
106 default:
107 return true;
108 }
109 }
110 }