[sword-devel] Multimap (was: I want to port the API to Java)
Troy A. Griffitts
sword-devel@crosswire.org
Fri, 07 Dec 2001 04:08:18 -0700
> OK, I think I am (finally) getting it. Little bit of a language barrier
> there for to begin with... get it language barrier... C++ -> Java ;-)
>
> OK maybe it is a little late... why do I feel like I am the only one
> laughing?
:) <- *sympathy laugh*
> You are right, the HashMap and Properties objects that are provided do
> not support duplicate values for a name. But I don't think it would take
> much to enhance them to get what is needed (subclass the Properties
> object adding a getProperties(String) method that returns an Iterator).
> And personally I would prefer to use the core libraries if at all
> possible (helps the app maintain portability).
portability? This is java! :) I do understand. If we don't need jgl,
then lets don't build a dependency. Truth is, I've tried to do exactly
that with the core c++ library. But there's just some things (gnu
regex, zip, now maybe icu) that I'd rather someone else maintain.
> Not that I dislike JGL, I really don't know anything about it. I went
> and looked at the site and didn't really find much in the way of API
> documentation. I also couldn't find any licensing requirements. Will we
> even be able to bundle it with Sword?
JGL is freely redistributable in binary (.class) (.jar) form, full
license is appended if interested. Docs are at:
http://www.crosswire.org/java-docs/jgl3.1.0
Source is at ftp://ftp.objectspace.com/pub/jgl
> In the end if it's decided that JGL's mutimap is the best way to go then
> that's what I'll use. I just want to make sure the other options we
> thought out and considered.
Yes. I agree. I don't have an emotional attachment to jgl, either, but
I know we do try to take advantage internally of stl. We try to keep it
out of our interface, if at all possible, but sometimes you'll see it
there also.
Having said all this, I'd like to encourage us to press forward. There
are many things yet undone that might better occupy our time. I'm going
to be commiting some additions to sword this evening hopefully. And
suprisingly, they were done first in java and, if I stay up late enough,
will be ported back to the c++ libs tonight. They include:
SWInputMethod virtual class and few decendents for inputing Hebrew text
and a test program: eledit (originally done for project leningradensis
(http://www.leningradensis.org/)). Look for them in cvs soon.
-Troy.
>
> /mike
>
> --
> ******************************************
> Mike Dougherty -- Java Software Engineer
> ******************************************
> Some people carve careers, others chisel them.
_____________________
License Agreement:
JGL - The Generic Collection Library for
Java Release Version 3.1
WHEREAS, ObjectSpace, Inc. is the owner
of valuable intellectual property rights
relating to the Generic Library Release
for Java(tm) Version 3.1 ("JGL") and
wishes to license JGL subject to the terms
and conditions set forth below; and
WHEREAS, you ("Licensee") acknowledge
that ObjectSpace, Inc. has the right to
grant licenses to the intellectual
property rights relating to JGL, and
that you desire to obtain a license to
use JGL subject to the terms and
conditions set forth below;
ObjectSpace, Inc. grants Licensee a
non-exclusive, non-transferable,
royalty-free license to use JGL and
related materials without charge
provided the Licensee adheres to all
of the terms and conditions of this
Agreement.
By downloading, using, or copying JGL
or any portion thereof, Licensee
agrees to abide by the intellectual
property laws and all other applicable
laws of the United States of America,
and to all of the terms and conditions
of this Agreement, and agrees to take
all necessary steps to ensure that the
terms and conditions of this Agreement
are not violated by any person or
entity under the Licensee's control or
in the Licensee's service.
Licensee shall maintain the copyright
and trademark notices on the materials
within or otherwise related to JGL,
and not alter, erase, deface or
overprint any such notice.
Except as specifically provided in this
Agreement, Licensee is expressly prohibited
from copying, modifying, merging, selling,
leasing, assigning, or transferring in
any manner, JGL or any portion thereof.
Licensee may copy materials within or
otherwise related to JGL that bear the
ObjectSpace copyright only as required
for backup purposes or for use solely
by the Licensee.
Licensee may not distribute in any
form of electronic or printed
communication the materials within
or otherwise related to JGL that bear
the ObjectSpace copyright, including
but not limited to the source code,
documentation, help files, examples,
and benchmarks, without prior written
consent from ObjectSpace, Inc. Send any
requests for limited distribution rights
to jgl@objectspace.com.
The Licensee may distribute binaries
(.class files) derived from or contained
within JGL ("Binaries") provided that:
1) The Binaries are not integrated,
bundled, combined, or otherwise associated
with a Java development environment or
Java development tool; and
2) The Binaries are not a documented part
of any distribution material.
OBJECTSPACE, INC. DISCLAIMS AND MAKES
NO REPRESENTATIONS OR WARRANTIES ABOUT
THE SUITABILITY OF JGL, EITHER EXPRESSED
OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR
NON-INFRINGEMENT. OBJECTSPACE, INC. SHALL
NOT BE LIABLE FOR ANY DIRECT OR CONSEQUENTIAL
DAMAGES SUFFERED BY LICENSEE AS A RESULT
OF USING, MODIFYING, OR DISTRIBUTING JGL
OR ITS DERIVATIVES.
This agreement shall be construed and
enforced in accordance with the laws of
the United States of America and the State
of Texas (excluding its choice of law rules).