aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/Boolean.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/Boolean.java')
-rw-r--r--libjava/java/lang/Boolean.java95
1 files changed, 95 insertions, 0 deletions
diff --git a/libjava/java/lang/Boolean.java b/libjava/java/lang/Boolean.java
new file mode 100644
index 0000000..78ab77f
--- /dev/null
+++ b/libjava/java/lang/Boolean.java
@@ -0,0 +1,95 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 3, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public final class Boolean extends Object implements Serializable
+{
+ public static final Boolean FALSE = new Boolean(false);
+ public static final Boolean TRUE = new Boolean(true);
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = boolean.class;
+
+ /* The boolean value of the instance. */
+ private boolean value;
+
+ public Boolean(boolean boolVal)
+ {
+ value = boolVal;
+ }
+
+ public Boolean(String strVal)
+ {
+ value = strVal.equalsIgnoreCase("true");
+ }
+
+ public boolean booleanValue()
+ {
+ return value;
+ }
+
+ public boolean equals(Object obj)
+ {
+ /* Don't need to compare obj to null as instanceof will do this. */
+ if (obj instanceof Boolean)
+ return value == ((Boolean) obj).value;
+ return false;
+ }
+
+ public static boolean getBoolean(String property)
+ {
+ /* TBD: If a security manager exists and it doesn't permit accessing
+ * the property, it will throw an exception. Should we catch it?
+ */
+ try
+ {
+ String val = System.getProperty(property);
+ return val == null ? false : val.equalsIgnoreCase("true");
+ }
+ catch (SecurityException e)
+ {
+ return false;
+ }
+ }
+
+ public int hashCode()
+ {
+ /* These values are from the Java Lang. Spec. (Sec 20.4.7).
+ * TBD: They could be made private static final fields but they're only
+ * used here (and shouldn't be used anywhere else), though it might be
+ * useful to grep on something like JAVA_HASH_* values for us as
+ * developers.
+ */
+ return value ? 1231 : 1237;
+ }
+
+ public String toString()
+ {
+ return value ? "true" : "false";
+ }
+
+ public static Boolean valueOf(String str)
+ {
+ /* This returns a Boolean (big B), not a boolean (little b). */
+ return str.equalsIgnoreCase("true") ? TRUE : FALSE;
+ }
+}