[Japi-cvs] SF.net SVN: japi: [284] libs/util/trunk
Status: Beta
Brought to you by:
christianhujer
From: <chr...@us...> - 2007-01-07 18:37:19
|
Revision: 284 http://svn.sourceforge.net/japi/?rev=284&view=rev Author: christianhujer Date: 2007-01-07 10:37:18 -0800 (Sun, 07 Jan 2007) Log Message: ----------- Made util compilable. Added Paths: ----------- libs/util/trunk/build.xml libs/util/trunk/lib/ libs/util/trunk/lib/LICENSE-Pack200Task.jar libs/util/trunk/lib/LICENSE-annotations.jar libs/util/trunk/lib/Pack200Task.jar libs/util/trunk/lib/annotations.jar libs/util/trunk/lib/japi-lib-lang-0.1.jar libs/util/trunk/src/net/sf/japi/util/Arrays2.java libs/util/trunk/src/net/sf/japi/util/Collections2.java libs/util/trunk/src/net/sf/japi/util/EmptyIterator.java libs/util/trunk/src/net/sf/japi/util/EndianConverter.java libs/util/trunk/src/net/sf/japi/util/EnumerationIterator.java libs/util/trunk/src/net/sf/japi/util/IteratorEnumeration.java libs/util/trunk/src/net/sf/japi/util/IteratorIterable.java libs/util/trunk/src/net/sf/japi/util/NotNullIterator.java libs/util/trunk/src/net/sf/japi/util/ThrowableHandler.java Property Changed: ---------------- libs/util/trunk/ Property changes on: libs/util/trunk ___________________________________________________________________ Name: svn:ignore + dest dist classes Added: libs/util/trunk/build.xml =================================================================== --- libs/util/trunk/build.xml (rev 0) +++ libs/util/trunk/build.xml 2007-01-07 18:37:18 UTC (rev 284) @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="utf-8"?> +<project name="japi lib util" default="compile"> + + <property name="module.version" value="0.1" /> + <property name="module.name" value="japi-lib-util" /> + <property name="module.shortname" value="util" /> + <property name="module.title" value="Util" /> + + <taskdef name="pack200" classpath="lib/Pack200Task.jar" classname="com.sun.tools.apache.ant.pack200.Pack200Task" /> + + <target + name = "clean" + description = "Cleans Sandbox" + > + <delete dir="classes" /> + <delete dir="docs" /> + </target> + + <target + name = "compile" + description = "Compiles production classes" + > + <mkdir dir="classes/production/${module.shortname}" /> + <mkdir dir="classes/test/${module.shortname}" /> + <javac + srcdir="src" + destdir="classes/production/${module.shortname}" + encoding="utf-8" + source="1.5" + target="1.5" + > + <classpath> + <fileset dir="lib" includes="*.jar" excludes="LICENSE-*.jar" /> + </classpath> + <exclude name="test/**/*.java" /> + </javac> + <copy + todir="classes/production/${module.shortname}" + > + <fileset dir="src" includes="**/*.properties" excludes="test/**/*.properties" /> + <fileset dir="src" includes="META-INF/services/**" /> + </copy> + </target> + + <target + name = "dist" + description = "Packs distribution archives." + depends = "clean, compile" + > + <!--depends = "clean, compile, doc" + --> + <delete dir="dist" /> + <mkdir dir="dist" /> + <property name="distName" value="dist/${module.name}-${module.version}" /> + <parallel> + <tar tarfile="${distName}.src.tar"> + <tarfileset dir="." prefix="${module.name}-${module.version}"> + <include name="src/**" /> + <include name="build.xml" /> + </tarfileset> + </tar> + <zip destfile="${distName}.src.zip"> + <zipfileset dir="." prefix="${module.name}-${module.version}"> + <include name="src/**" /> + <include name="build.xml" /> + </zipfileset> + </zip> + <jar destfile="${distName}.src.jar"> + <zipfileset dir="." prefix="${module.name}-${module.version}"> + <include name="src/**" /> + <include name="build.xml" /> + </zipfileset> + </jar> + <jar destfile="${distName}.jar"> + <zipfileset dir="classes/production/${module.shortname}"/> + <manifest> + <attribute name="Implementation-Title" value="${module.name}" /> + <attribute name="Implementation-Vendor" value="Christian Hujer + the JAPI Developers" /> + <attribute name="Implementation-Version" value="${module.version}" /> + <attribute name="Implementation-URL" value="http://sourceforge.net/projects/japi/" /> + </manifest> + </jar> + <tar tarfile="${distName}.doc.tar"> + <tarfileset dir="." prefix="${module.name}-${module.version}"> + <include name="docs/**" /> + <include name="build.xml" /> + </tarfileset> + </tar> + <zip destfile="${distName}.doc.zip"> + <zipfileset dir="." prefix="${module.name}-${module.version}"> + <include name="docs/**" /> + <include name="build.xml" /> + </zipfileset> + </zip> + <jar destfile="${distName}.doc.jar"> + <zipfileset dir="." prefix="${module.name}-${module.version}"> + <include name="docs/**" /> + </zipfileset> + </jar> + </parallel> + <parallel> + <gzip src="${distName}.src.tar" destfile="${distName}.src.tar.gz" /> + <bzip2 src="${distName}.src.tar" destfile="${distName}.src.tar.bz2" /> + <gzip src="${distName}.doc.tar" destfile="${distName}.doc.tar.gz" /> + <bzip2 src="${distName}.doc.tar" destfile="${distName}.doc.tar.bz2" /> + <pack200 + src="${distName}.jar" + destfile="${distName}.pack.gz" + gzipoutput="true" + stripdebug="true" + effort="9" + keepfileorder="false" + modificationtime="latest" + deflatehint="false" + /> + </parallel> + <delete file="${distName}.src.tar" /> + <delete file="${distName}.doc.tar" /> + </target> + + <target + name = "doc" + description = "Creates public javadoc documentation." + > + <mkdir dir="docs/api" /> + <!--copy todir="docs/api" file="src/doc/api/public/copyright.html" /> + <copy todir="docs/api" file="src/doc/api/public/.htaccess" /--> + <javadoc + destdir = "docs/api" + access = "protected" + author = "yes" + version = "yes" + locale = "en_US" + use = "yes" + splitindex = "yes" + windowtitle = "JAPI Library ${module.title} ${module.version} API documentation" + doctitle = "JAPI<br />Yet another Java API<br />Library ${module.title} ${module.version} API documentation" + header = "JAPI Library ${module.title} ${module.version}<br />API Documentation" + footer = "JAPI<br />Yet another Java API<br />Library ${module.title} ${module.version} API documentation" + bottom = "<div style=" text-align:center;">© 2005-2006 Christian Hujer. All rights reserved. See <a href="{@docRoot}/copyright.html">copyright</a></div>" + serialwarn = "yes" + charset = "utf-8" + docencoding = "utf-8" + encoding = "utf-8" + source = "1.5" + linksource = "yes" + link = "${user.javadoc.link}" + > + <!-- + overview = "src/overview.html" + --> + <classpath> + <fileset dir="lib" includes="annotations.jar" /> + </classpath> + <sourcepath> + <pathelement path="${user.javadoc.javasrc}" /> + <pathelement path="src" /> + </sourcepath> + <packageset + dir="src" + defaultexcludes="yes" + > + <include name="net/**" /> + </packageset> + <tag enabled="true" name="retval" description="Return Values:" scope="methods" /> + <tag enabled="true" name="pre" description="Preconditions:" scope="methods,constructors" /> + <tag enabled="true" name="post" description="Postconditions:" scope="methods" /> + <tag enabled="true" name="invariant" description="Invariant:" scope="methods,fields" /> + <tag enabled="true" name="note" description="Notes:" /> + <tag enabled="true" name="warning" description="Warnings:" /> + <!--tag enabled="true" name="todo" description="Todo:" /--> + <taglet name="com.sun.tools.doclets.ToDoTaglet" path="" /> + <tag enabled="true" name="fixme" description="Fixme:" /> + <tag enabled="true" name="xxx" description="XXX:" /> + </javadoc> + </target> + +</project> Property changes on: libs/util/trunk/build.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + LF Added: libs/util/trunk/lib/LICENSE-Pack200Task.jar =================================================================== --- libs/util/trunk/lib/LICENSE-Pack200Task.jar (rev 0) +++ libs/util/trunk/lib/LICENSE-Pack200Task.jar 2007-01-07 18:37:18 UTC (rev 284) @@ -0,0 +1,471 @@ +SUN PUBLIC LICENSE Version 1.0 + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original Code, + prior Modifications used by a Contributor, and the Modifications made + by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof and corresponding documentation released + with the source code. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified as + the Initial Developer in the Source Code notice required by Exhibit A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + + A. Any addition to or deletion from the contents of a file containing + Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, and + apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated documentation, interface definition files, scripts used + to control compilation and installation of an Executable, or source + code differential comparisons against either the Original Code or + another well known, available Covered Code of the Contributor's + choice. The Source Code can be in a compressed or archival form, + provided the appropriate decompression or de-archiving software is + widely available for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, to + cause the direction or management of such entity, whether by contract + or otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + +2. Source Code License. + +2.1 The Initial Developer Grant. + + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, modify, + display, perform, sublicense and distribute the Original Code (or + portions thereof) with or without Modifications, and/or as part of a + Larger Work; and + + (b) under Patent Claims infringed by the making, using or selling of + Original Code, to make, have made, use, practice, sell, and offer for + sale, and/or otherwise dispose of the Original Code (or portions + thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are effective + on the date Initial Developer first distributes Original Code under + the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused by: + i) the modification of the Original Code or ii) the combination of the + Original Code with other software or devices. + +2.2. Contributor Grant. + + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications created + by such Contributor (or portions thereof) either on an unmodified + basis, with other Modifications, as Covered Code and/or as part of a + Larger Work; and + + (b) under Patent Claims infringed by the making, using, or selling of + Modifications made by that Contributor either alone and/or in + combination with its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: 1) Modifications made by that Contributor (or + portions thereof); and 2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions of such + combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective + on the date Contributor first makes Commercial Use of the Covered + Code. + + (d) notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; 3) for + infringements caused by: i) third party modifications of Contributor + Version or ii) the combination of Modifications made by that + Contributor with other software (except as part of the Contributor + Version) or other devices; or 4) under Patent Claims infringed by + Covered Code in the absence of Modifications made by that Contributor. + +3. Distribution Obligations. + +3.1. Application of License. + + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + +3.2. Availability of Source Code. + + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + +3.3. Description of Modifications. + + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + +3.4. Intellectual Property Matters. + + (a) Third Party Claims. + + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, Contributor + must include a text file with the Source Code distribution titled + "LEGAL'' which describes the claim and the party making the claim in + sufficient detail that a recipient will know whom to contact. If + Contributor obtains such knowledge after the Modification is made + available as described in Section 3.2, Contributor shall promptly + modify the LEGAL file in all copies Contributor makes available + thereafter and shall take other steps (such as notifying appropriate + mailing lists or newsgroups) reasonably calculated to inform those who + received the Covered Code that new knowledge has been obtained. + + (b) Contributor APIs. + + If Contributor's Modifications include an application programming + interface ("API") and Contributor has knowledge of patent licenses + which are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + + Contributor represents that, except as disclosed pursuant to Section + 3.4(a) above, Contributor believes that Contributor's Modifications + are Contributor's original creation(s) and/or Contributor has + sufficient rights to grant the rights conveyed by this License. + +3.5. Required Notices. + + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + +3.6. Distribution of Executable Versions. + + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + +3.7. Larger Works. + + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + +6.1. New Versions. + + Sun Microsystems, Inc. ("Sun") may publish revised and/or new versions + of the License from time to time. Each version will be given a + distinguishing version number. + +6.2. Effect of New Versions. + + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Sun. No one + other than Sun has the right to modify the terms applicable to Covered + Code created under this License. + +6.3. Derivative Works. + + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must: (a) rename Your license so that + the phrases "Sun," "Sun Public License," or "SPL" or any confusingly + similar phrase do not appear in your license (except to note that your + license differs from this License) and (b) otherwise make it clear + that Your version of the license contains terms which differ from the + Sun Public License. (Filling in the name of the Initial Developer, + Original Code or Contributor in the notice described in Exhibit A + shall not of themselves be deemed to be modifications of this + License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declaratory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, all + end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in 48 + C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" + and "commercial computer software documentation," as such terms are + used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. + 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all + U.S. Government End Users acquire Covered Code with only those rights + set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the alternative licenses, if any, specified by the + Initial Developer in the file described in Exhibit A. + +Exhibit A -Sun Public License Notice. + + The contents of this file are subject to the Sun Public License + Version 1.0 (the "License"); you may not use this file except in + compliance with the License. A copy of the License is available at + http://www.sun.com/ + + The Original Code is _________________. The Initial Developer of the + Original Code is ___________. Portions created by ______ are Copyright + (C)_________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those above. + If you wish to allow use of your version of this file only under the + terms of the [____] License and not to allow others to use your + version of this file under the SPL, indicate your decision by deleting + the provisions above and replace them with the notice and other + provisions required by the [___] License. If you do not delete the + provisions above, a recipient may use your version of this file under + either the SPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] Property changes on: libs/util/trunk/lib/LICENSE-Pack200Task.jar ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + LF Added: libs/util/trunk/lib/LICENSE-annotations.jar =================================================================== --- libs/util/trunk/lib/LICENSE-annotations.jar (rev 0) +++ libs/util/trunk/lib/LICENSE-annotations.jar 2007-01-07 18:37:18 UTC (rev 284) @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. Property changes on: libs/util/trunk/lib/LICENSE-annotations.jar ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + LF Added: libs/util/trunk/lib/Pack200Task.jar =================================================================== (Binary files differ) Property changes on: libs/util/trunk/lib/Pack200Task.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: libs/util/trunk/lib/annotations.jar =================================================================== (Binary files differ) Property changes on: libs/util/trunk/lib/annotations.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: libs/util/trunk/lib/japi-lib-lang-0.1.jar =================================================================== (Binary files differ) Property changes on: libs/util/trunk/lib/japi-lib-lang-0.1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: libs/util/trunk/src/net/sf/japi/util/Arrays2.java =================================================================== --- libs/util/trunk/src/net/sf/japi/util/Arrays2.java (rev 0) +++ libs/util/trunk/src/net/sf/japi/util/Arrays2.java 2007-01-07 18:37:18 UTC (rev 284) @@ -0,0 +1,1237 @@ +package net.sf.japi.util; + +import java.util.Arrays; +import java.util.Random; +import java.util.Collection; +import java.util.List; +import java.util.ArrayList; +import java.util.Comparator; +import java.lang.reflect.Array; +import net.sf.japi.util.filter.Filter; + +/** This class provides some additional utility methods you might miss in {@link Arrays}. + * It is named Arrays2 so you have no problems using both, this class and <code>java.util.Arrays</code> (no name conflict). + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + * @see Arrays + */ +public final class Arrays2 { + + /** Random number generator. */ + private static final Random RND = new Random(); + + /** Private constructor - no instances needed. */ + private Arrays2() { + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static double[] concat(final double[]... a) { + int ns = 0; + for (final double[] anA : a) { + ns += anA.length; + } + final double[] na = new double[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static float[] concat(final float[]... a) { + int ns = 0; + for (final float[] anA : a) { + ns += anA.length; + } + final float[] na = new float[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static long[] concat(final long[]... a) { + int ns = 0; + for (final long[] anA : a) { + ns += anA.length; + } + final long[] na = new long[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static int[] concat(final int[]... a) { + int ns = 0; + for (final int[] anA : a) { + ns += anA.length; + } + final int[] na = new int[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static short[] concat(final short[]... a) { + int ns = 0; + for (final short[] anA : a) { + ns += anA.length; + } + final short[] na = new short[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static char[] concat(final char[]... a) { + int ns = 0; + for (final char[] anA : a) { + ns += anA.length; + } + final char[] na = new char[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static byte[] concat(final byte[]... a) { + int ns = 0; + for (final byte[] anA : a) { + ns += anA.length; + } + final byte[] na = new byte[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static boolean[] concat(final boolean[]... a) { + int ns = 0; + for (final boolean[] anA : a) { + ns += anA.length; + } + final boolean[] na = new boolean[ns]; + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Concatenate Arrays together. + * @param a Arrays to concatenate + * @return new Array containing all elements of all arrays + */ + public static <T> T[] concat(final T[]... a) { + int ns = 0; + for (final T[] anA : a) { + ns += anA.length; + } + final T[] na = (T[]) Array.newInstance(a[0].getClass().getComponentType(), ns); + for (int i = 0, np = 0; i < a.length; np += a[i].length, i++) { + System.arraycopy(a[i], 0, na, np, a[i].length); + } + return na; + } + + /** Returns an array only containing those elements accepted by the given filter. + * The original array remains unmodified. + * @param a Elements to filter + * @param filter Filter to use for <var>a</var> + * @return array containing only those elements from <var>a</var> accepted by <var>filter</var> + * @see Collections2#filter(Collection,Filter) + */ + public static <T> T[] filter(final Filter<? super T> filter, final T... a) { + //Class<?> ct = a.getClass().getComponentType(); + //T[] t = (T[]) Array.newInstance(ct, 0); + //List<T> tl = Arrays.asList(a); + //List<T> tf = Collections2.filter(tl, filter); + //T[] nt = tf.toArray(t); + //return nt; + //return Collections2.filter(Arrays.asList(a), filter).toArray((T[]) java.lang.reflect.Array.newInstance(a.getClass().getComponentType(), 0)); + final List<T> tl = new ArrayList<T>(); + for (final T t : a) { + if (filter.accept(t)) { + tl.add(t); + } + } + return tl.toArray((T[]) Array.newInstance(a.getClass().getComponentType(), 0)); + } // eventually add filters for primitive types and provide correspondig methods + + /** Count elements in an array that are accepted by the given filter. + * @param a Elements to count in + * @param filter Filter to use for <var>a</var> + * @return number of elements in <var>a</var> accepted by <var>filter</var> + */ + public static <T> int count(final Filter<? super T> filter, final T... a) { + int n = 0; + for (final T t : a) { + if (filter.accept(t)) { + n++; + } + } + return n; + } // eventually add filters for primitive types and provide corresponding methods + + /** Searches the specified array of ints for the specified value using the binary search algorithm. + * The array <strong>must</strong> be sorted (as by the <tt>sort</tt> method, above) prior to making this call. + * If it is not sorted, the results are undefined (even a runtime exception might occur). + * If the array contains multiple elements with the specified value, there is no guarantee which one will be found. + * @param a the array to be searched. + * @param key the value to be searched for. + * @param low lower border (must be <code>>= 0</code>) + * @param high upper border (must be <code>< a.length</code>) + * @return index of the search key, if it is contained in the list; + * otherwise, <tt>(-(<i>insertion point</i>) - 1)</tt>. The + * <i>insertion point</i> is defined as the point at which the + * key would be inserted into the list: the index of the first + * element greater than the key, or <tt>list.size()</tt>, if all + * elements in the list are less than the specified key. Note + * that this guarantees that the return value will be >= 0 if + * and only if the key is found. + * @throws ArrayIndexOutOfBoundsException if <code>low < 0</code> or <code>high >= a.length</code> + * @see Arrays#binarySearch(int[],int) + * @see Arrays#sort(int[]) + */ + public static int binarySearch(final int[] a, final int key, int low, int high) { + while (low <= high) { + final int mid = low + high >> 1; + final int midVal = a[mid]; + if (midVal < key) { + low = mid + 1; + } else if (midVal > key) { + high = mid - 1; + } else { + return mid; // key found + } + } + return -(low + 1); // key not found. + } + + /** Perform a linear search on an array of booleans. + * @param z boolean to find in <var>data</var> + * @param data array of booleans to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final boolean z, final boolean[] data) { + return linearSearch(z, 0, data.length, data); + } + + /** Perform a linear search on an array of chars. + * @param c char to find in <var>data</var> + * @param data array of chars to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final char c, final char[] data) { + return linearSearch(c, 0, data.length, data); + } + + /** Perform a linear search on an array of doubles. + * @param d double to find in <var>data</var> + * @param data array of doubles to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final double d, final double[] data) { + return linearSearch(d, 0, data.length, data); + } + + /** Perform a linear search on an array of floats. + * @param f float to find in <var>data</var> + * @param data array of floats to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final float f, final float[] data) { + return linearSearch(f, 0, data.length, data); + } + + /** Perform a linear search on an array of longs. + * @param l long to find in <var>data</var> + * @param data array of longs to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final long l, final long[] data) { + return linearSearch(l, 0, data.length, data); + } + + /** Perform a linear search on an array of ints. + * @param n int to find in <var>data</var> + * @param data array of ints to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final int n, final int[] data) { + return linearSearch(n, 0, data.length, data); + } + + /** Perform a linear search on an array of shorts. + * @param s short to find in <var>data</var> + * @param data array of shorts to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final short s, final short[] data) { + return linearSearch(s, 0, data.length, data); + } + + /** Perform a linear search on an array of bytes. + * @param b byte to find in <var>data</var> + * @param data array of bytes to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + */ + public static int linearSearch(final byte b, final byte[] data) { + return linearSearch(b, 0, data.length, data); + } + + /** Perform a linear search on an array of booleans. + * @param z boolean to find in <var>data</var> + * @param fromIndex start index within <var>data</var> + * @param toIndex end index within <var>data</var> + * @param data array of booleans to perform linear search on + * @return index of <var>n</var> in <var>data</var> or -1 if not found + * @throws ArrayIndexOutOfBoundsException in case <code><var>fromIndex</var> < 0</code> or <code><var>toIndex</var> >= data.length</code> + */ + public static int linearSearch(final boolean z, final int fromIndex, final int toIndex, final boolean[] data) { + for (int i = fromIndex; i < toIndex; i++) { + if (data[i] == z) { + return i; + } + } + return -1; + } + + /** Perform a linear search on an array of chars. + * @param c char to find in <var>data</var> + * @param fromIndex start index within <var>data</var> +... [truncated message content] |