/* * Jakelib2 - General purpose C++ library * Copyright (C) 2001 Florian Wolff (florian@donuz.de) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * $Id: Boolean.jlc,v 1.2 2003/09/27 08:10:28 florian Exp $ */ #include "jakelib2.h" #include "jakelib2/lang/Boolean.h" using namespace jakelib::lang; JAKELIB_IMPLEMENT_CLASS("jakelib.lang.Boolean", Boolean, Object); Boolean* Boolean::TRUE_VALUE = null; Boolean* Boolean::FALSE_VALUE = null; /*****************************************************************************\ * Boolean | *****************************************************************************/ Boolean::Boolean(jboolean value) { this->value = value; } Boolean::Boolean(String* s) { value = toBoolean(s); } /*****************************************************************************\ * hashCode | *****************************************************************************/ int Boolean::hashCode() { return value ? 1231 : 1237; } /*****************************************************************************\ * equals | *****************************************************************************/ jboolean Boolean::equals(Object* obj) { if (obj == null || !obj->getClass()->isInstance(this)) return false; Boolean* object = (Boolean*) obj; return ( value == object->value ); } /*****************************************************************************\ * toString | *****************************************************************************/ String* Boolean::toString() { if (value) return new String("true"); else return new String("false"); } String* Boolean::toString(jboolean value) { if (value) return new String("true"); else return new String("false"); } /*****************************************************************************\ * booleanValue | *****************************************************************************/ jboolean Boolean::booleanValue() { return value; } /*****************************************************************************\ * valueOf | *****************************************************************************/ Boolean* Boolean::valueOf(String* s) { return new Boolean(toBoolean(s)); } /*****************************************************************************\ * toBoolean | *****************************************************************************/ jboolean Boolean::toBoolean(String* s) { return ((s != null) && s->equalsIgnoreCase("true")); } jboolean Boolean::toBoolean(const char *s) { if (s == null) return false; String str(s); return toBoolean(&str); } /*****************************************************************************\ * initBooleanClass | *****************************************************************************/ void Boolean::initBooleanClass() { TRUE_VALUE = new Boolean(true); FALSE_VALUE = new Boolean(false); }