OSDN Git Service

imported from subversion repository
[xerial/xerial-core.git] / src / main / java / org / xerial / util / TernaryBoolean.java
1 /*--------------------------------------------------------------------------\r
2  *  Copyright 2009 Taro L. Saito\r
3  *\r
4  *  Licensed under the Apache License, Version 2.0 (the "License");\r
5  *  you may not use this file except in compliance with the License.\r
6  *  You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  *  Unless required by applicable law or agreed to in writing, software\r
11  *  distributed under the License is distributed on an "AS IS" BASIS,\r
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  *  See the License for the specific language governing permissions and\r
14  *  limitations under the License.\r
15  *--------------------------------------------------------------------------*/\r
16 //--------------------------------------\r
17 // XerialJ\r
18 //\r
19 // TernaryBoolean.java\r
20 // Since: Jan 7, 2009 2:19:26 PM\r
21 //\r
22 // $URL: http://www.xerial.org/svn/project/XerialJ/trunk/xerial-core/src/main/java/org/xerial/util/TernaryBoolean.java $\r
23 // $Author: leo $\r
24 //--------------------------------------\r
25 package org.xerial.util;\r
26 \r
27 import org.xerial.core.XerialError;\r
28 import org.xerial.core.XerialErrorCode;\r
29 \r
30 /**\r
31  * Ternary boolean value (UNKNOWN, TRUE, FALSE)\r
32  * \r
33  * @author leo\r
34  * \r
35  */\r
36 public enum TernaryBoolean {\r
37     UNKNOWN, TRUE, FALSE;\r
38 \r
39     public boolean getBoolean()\r
40     {\r
41         if (this == UNKNOWN)\r
42             throw new XerialError(XerialErrorCode.NOT_INITIALIZED);\r
43         else\r
44             return this == TRUE ? true : false;\r
45     }\r
46 }\r