From 93f7aeea7ac79573748c5f2632059aa6b50d74e2 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 13 Jun 2002 18:16:26 +0000 Subject: natString.cc (init): Handle case where DONT_COPY is true and OFFSET!=0. * java/lang/natString.cc (init): Handle case where DONT_COPY is true and OFFSET!=0. * java/lang/String.java (String(char[],int,int,boolean): New constructor. * java/lang/Long.java: Imported new version from Classpath. * java/lang/Number.java: Likewise. * java/lang/Integer.java: Likewise. * java/lang/Long.java: Likewise. * java/lang/Float.java: Likewise. * java/lang/Boolean.java: Likewise. * java/lang/Double.java: Likewise. * java/lang/Void.java: Likewise. From-SVN: r54595 --- libjava/java/lang/Boolean.java | 318 +++++++++++++++++++++++------------------ 1 file changed, 177 insertions(+), 141 deletions(-) (limited to 'libjava/java/lang/Boolean.java') diff --git a/libjava/java/lang/Boolean.java b/libjava/java/lang/Boolean.java index f6feaa02902..3c09a1505c1 100644 --- a/libjava/java/lang/Boolean.java +++ b/libjava/java/lang/Boolean.java @@ -1,5 +1,5 @@ /* Boolean.java -- object wrapper for boolean - Copyright (C) 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -41,148 +41,184 @@ package java.lang; import java.io.Serializable; /** - * Instances of class Boolean represent primitive + * Instances of class Boolean represent primitive * boolean values. * * @author Paul Fisher - * @since JDK1.0 - */ + * @author Eric Blake + * @since 1.0 + * @status updated to 1.4 + */ public final class Boolean implements Serializable { - static final long serialVersionUID = -3665804199014368530L; - - /** - * This field is a Boolean object representing the - * primitive value true. This instance is returned - * by the static valueOf() methods if they return - * a Boolean representing true. - */ - public static final Boolean TRUE = new Boolean(true); - - /** - * This field is a Boolean object representing the - * primitive value false. This instance is returned - * by the static valueOf() methods if they return - * a Boolean representing false. - */ - public static final Boolean FALSE = new Boolean(false); - - /** - * The primitive type boolean is represented by this - * Class object. - */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('Z'); - - /** - * The immutable value of this Boolean. - */ - private final boolean value; - - /** - * Create a Boolean object representing the value of the - * argument value. In general the use of the static - * method valueof(boolean) is more efficient since it will - * not create a new object. - * - * @param value the primitive value of this Boolean - */ - public Boolean(boolean value) { - this.value = value; - } - - /** - * Creates a Boolean object representing the primitive - * true if and only if s matches - * the string "true" ignoring case, otherwise the object will represent - * the primitive false. In general the use of the static - * method valueof(String) is more efficient since it will - * not create a new object. - * - * @param s the String representation of true - * or false - */ - public Boolean(String s) { - value = "true".equalsIgnoreCase(s); - } - - /** - * Return the primitive boolean value of this - * Boolean object. - */ - public boolean booleanValue() { - return value; - } - - /** - * Returns the Boolean TRUE if the given boolean is - * true, otherwise it will return the Boolean - * FALSE. - * - * @since 1.4 - */ - public static Boolean valueOf(boolean b) { - return b ? TRUE : FALSE; - } - - /** - * Returns the Boolean TRUE if and only if the given - * String is equal, ignoring case, to the the String "true", otherwise - * it will return the Boolean FALSE. - */ - public static Boolean valueOf(String s) { - return "true".equalsIgnoreCase(s) ? TRUE : FALSE; - } - - /** - * Returns the integer 1231 if this object represents - * the primitive true and the integer 1237 - * otherwise. - */ - public int hashCode() { - return (value) ? 1231 : 1237; - } - - /** - * If the obj is an instance of Boolean and - * has the same primitive value as this object then true - * is returned. In all other cases, including if the obj - * is null, false is returned. - * - * @param obj possibly an instance of any Class - * @return false is obj is an instance of - * Boolean and has the same primitive value as this - * object. - */ - public boolean equals(Object obj) { - return (obj instanceof Boolean && value == ((Boolean)obj).value); - } - - /** - * If the value of the system property name matches - * "true" ignoring case then the function returns true. - */ - public static boolean getBoolean(String name) { - String val = System.getProperty(name); - return ("true".equalsIgnoreCase(val)); - } - - /** - * Returns "true" if the value of the give boolean is true and - * returns "false" if the value of the given boolean is false. - * - * @since 1.4 - */ - public static String toString(boolean b) - { - return b ? "true" : "false"; - } - - /** - * Returns "true" if the value of this object is true and - * returns "false" if the value of this object is false. - */ - public String toString() - { - return (value) ? "true" : "false"; - } + /** + * Compatible with JDK 1.0.2+. + */ + private static final long serialVersionUID = -3665804199014368530L; + + /** + * This field is a Boolean object representing the + * primitive value true. This instance is returned + * by the static valueOf() methods if they return + * a Boolean representing true. + */ + public static final Boolean TRUE = new Boolean(true); + + /** + * This field is a Boolean object representing the + * primitive value false. This instance is returned + * by the static valueOf() methods if they return + * a Boolean representing false. + */ + public static final Boolean FALSE = new Boolean(false); + + /** + * The primitive type boolean is represented by this + * Class object. + * + * @since 1.1 + */ + public static final Class TYPE = VMClassLoader.getPrimitiveClass('Z'); + + /** + * The immutable value of this Boolean. + * @serial the wrapped value + */ + private final boolean value; + + /** + * Create a Boolean object representing the value of the + * argument value. In general the use of the static + * method valueof(boolean) is more efficient since it will + * not create a new object. + * + * @param value the primitive value of this Boolean + * @see #valueOf(boolean) + */ + public Boolean(boolean value) + { + this.value = value; + } + + /** + * Creates a Boolean object representing the primitive + * true if and only if s matches + * the string "true" ignoring case, otherwise the object will represent + * the primitive false. In general the use of the static + * method valueof(String) is more efficient since it will + * not create a new object. + * + * @param s the String representation of true + * or false + */ + public Boolean(String s) + { + value = "true".equalsIgnoreCase(s); + } + + /** + * Return the primitive boolean value of this + * Boolean object. + * + * @return true or false, depending on the value of this Boolean + */ + public boolean booleanValue() + { + return value; + } + + /** + * Returns the Boolean TRUE if the given boolean is + * true, otherwise it will return the Boolean + * FALSE. + * + * @param b the boolean to wrap + * @return the wrapper object + * @see #TRUE + * @see #FALSE + * @since 1.4 + */ + public static Boolean valueOf(boolean b) + { + return b ? TRUE : FALSE; + } + + /** + * Returns the Boolean TRUE if and only if the given + * String is equal, ignoring case, to the the String "true", otherwise + * it will return the Boolean FALSE. + * + * @param s the string to convert + * @return a wrapped boolean from the string + */ + public static Boolean valueOf(String s) + { + return "true".equalsIgnoreCase(s) ? TRUE : FALSE; + } + + /** + * Returns "true" if the value of the give boolean is true and + * returns "false" if the value of the given boolean is false. + * + * @param b the boolean to convert + * @return the string representation of the boolean + * @since 1.4 + */ + public static String toString(boolean b) + { + return b ? "true" : "false"; + } + + /** + * Returns "true" if the value of this object is true and + * returns "false" if the value of this object is false. + * + * @return the string representation of this + */ + public String toString() + { + return value ? "true" : "false"; + } + + /** + * Returns the integer 1231 if this object represents + * the primitive true and the integer 1237 + * otherwise. + * + * @return the hash code + */ + public int hashCode() + { + return value ? 1231 : 1237; + } + + /** + * If the obj is an instance of Boolean and + * has the same primitive value as this object then true + * is returned. In all other cases, including if the obj + * is null, false is returned. + * + * @param obj possibly an instance of any Class + * @return true if obj equals this + */ + public boolean equals(Object obj) + { + return obj instanceof Boolean && value == ((Boolean) obj).value; + } + + /** + * If the value of the system property name matches + * "true" ignoring case then the function returns true. + * + * @param name the property name to look up + * @return true if the property resulted in "true" + * @throws SecurityException if accessing the system property is forbidden + * @see System#getProperty(String) + */ + public static boolean getBoolean(String name) + { + if (name == null || "".equals(name)) + return false; + return "true".equalsIgnoreCase(System.getProperty(name)); + } } -- cgit v1.2.3