mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			101 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Java
		
	
	
	
| /* Copyright (C) 1998, 1999, 2000  Free Software Foundation
 | |
| 
 | |
|    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;
 | |
| 
 | |
|   private static final long serialVersionUID = -3665804199014368530L;
 | |
| 
 | |
|   public Boolean(boolean boolVal)
 | |
|   {
 | |
|     value = boolVal;
 | |
|   }
 | |
| 
 | |
|   public Boolean(String strVal)
 | |
|   {
 | |
|     value = (strVal == null ? false : 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)
 | |
|   {
 | |
|     if (str == null)
 | |
|       return FALSE;
 | |
|     else
 | |
|       /* This returns a Boolean (big B), not a boolean (little b). */
 | |
|       return str.equalsIgnoreCase("true") ? TRUE : FALSE;
 | |
|   }
 | |
| }
 |