/* Generated automatically by jlpp - do not edit. */ #include static jakelib::lang::String* jakelib2_strings[] = {null, null}; // "EEE MMM dd HH:mm:ss yyyy" static jchar chars_jakelib2_str_0[] = {69,69,69,32,77,77,77,32,100,100,32,72,72,58,109,109,58,115,115,32,121,121,121,121}; // "jakelib.util.Date" static jchar chars_jakelib2_str_1[] = {106,97,107,101,108,105,98,46,117,116,105,108,46,68,97,116,101}; #line 1 "util/Date.jlc" // -*- c++ -*- /* * 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: Date.jlc,v 1.8 2003/09/27 08:10:29 florian Exp $ */ #include "jakelib2.h" #include "jakelib2/util/Date.h" #include "jakelib2/util/TimeZone.h" #include "jakelib2/lang/System.h" #include "jakelib2/lang/Long.h" #include "jakelib2/util/GregorianCalendar.h" #include "jakelib2/text/SimpleDateFormat.h" using namespace jakelib::lang; using namespace jakelib::util; using namespace jakelib::text; JAKELIB_IMPLEMENT_CLASS("jakelib.util.Date", Date, Object); DateFormat* Date::dateFormatter = null; //#pragma javasyntax /*****************************************************************************\ * Date | *****************************************************************************/ Date::Date() { millis = System::currentTimeMillis(); } Date::Date(jlong millis) { this->millis = millis; } /*****************************************************************************\ * toString | *****************************************************************************/ String* Date::toString() { GregorianCalendar cal(millis); if (dateFormatter == null) { // FIXME: TimeZone info: "EEE MMM dd HH:mm:ss zzz yyyy" dateFormatter = new SimpleDateFormat(JAKELIB_ONDEMAND(jakelib2_strings[0], new jakelib::lang::String(chars_jakelib2_str_0, 0, 24)), Locale::US); } return dateFormatter->format(this); } /*****************************************************************************\ * getTime | *****************************************************************************/ jlong Date::getTime() { return millis; } /*****************************************************************************\ * after | *****************************************************************************/ jboolean Date::after(Date *other) { return (this->millis > other->millis); } /*****************************************************************************\ * before | *****************************************************************************/ jboolean Date::before(Date *other) { return (this->millis < other->millis); } /*****************************************************************************\ * equals | *****************************************************************************/ jboolean Date::equals(Object *obj) { if (obj->instanceOf(JAKELIB_ONDEMAND(jakelib2_strings[1], new jakelib::lang::String(chars_jakelib2_str_1, 0, 17)))) { Date *other = (Date*) obj; return (this->millis == other->millis); } else { return false; } }